Patches to the upstream MongoDB Database Tools
development branch, and the build that makes the mongo-tools-<arch> binaries WeKan
ships in every bundle, Docker image and snap.
This repository carries no mongo-tools source. Each build clones current upstream
master, including unreleased fixes, verifies and applies the patches in
dist/, cross-compiles the eight tools (bsondump, mongodump,
mongoexport, mongofiles, mongoimport, mongorestore, mongostat, mongotop)
as ONE program per platform (releases/multicall.sh) with
CGO disabled, upgrades all dependencies with the newest stable Go, and publishes that
mongo-tools-<arch> with a .sha256sum beside it. It is about 15 MB where the eight
separate binaries were about 105 MB, because they share one Go runtime, driver and
common code. It runs as the tool it is named after - a link named mongodump is
mongodump - or as mongo-tools mongodump .... The eight separate binaries are no
longer published: nine binaries per platform meant 774 uploads a release, which ran
into GitHub's API rate limit. It
replaces the wekan/mongo-tools source fork,
which carried no source change of its own — only this build. Same model as
wekan/node-patches.
The forty-three targets span every native Go OS/CPU pair on which current mongo-tools compiles without CGO: Linux, Windows, macOS, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, AIX and Android ARM64, including 32-bit ARM, MIPS and PowerPC variants.
The eight tools have no standalone usage reporter in the reviewed upstream
source. Their cloud dependencies did contain reporting code: Azure/MSAL added
client and OS identification headers, and AWS SDKs reported runtime, environment,
features and credential-source information with requests. The checksum-verified
dist/vendor/remove-sdk-telemetry.patch removes those implementations.
Vendor patches run after dependency regeneration, so go mod vendor cannot
erase the removal. Both dependency preparation and compilation audit the reviewed
source and vendor inventories; added or changed code stops the build for review.
SDK tests verify request forwarding and absence of reporting headers. Go runs with
GOTELEMETRY=off during dependency updates, tests and builds.
Authentication, request correlation, database handshakes, S3 operations and local diagnostic hooks remain. Those are ordinary database/cloud functionality, not a background usage reporter. See the telemetry audit for the reviewed revision, verification and update procedure.
This repository's own files (workflows, scripts, docs) are MIT — see
LICENSE. Upstream mongo-tools is Apache-2.0, and a patch in dist/ is a
modification of its upstream source. SDK patches and test fixtures retain their
respective MIT or Apache-2.0 licenses; the tools remain Apache-2.0.
Maintainer and contributor rules — who commits, as whom, and how the CHANGELOG is
written — are in WeKan's CLAUDE.md and AGENTS.md,
which cover every repository WeKan clones into its .tools/ directory.