Checklist
Description
Rationale
The badgerds datastore is based on badger 1.x which has not been maintained by its upstream maintainers for years. It has 15+ open issues with known bugs
including startup timeouts, shutdown hangs, file descriptor exhaustion, and stdout pollution. Kubo never moved to badger v2 nor v3, and there is no path forward with this dependency.
Modern alternatives (flatfs, pebbleds) are available and actively maintained.
Related: #10347, #4279, #6818
Removal plan
Migration path
It has been deprecated for years. Everyone sane migrated already.
There will be no automated migration as we know its not feasible. The way to go is to create new node and transfer data:
- Create a new
IPFS_PATH with flatfs (or experimental pebbleds if flatfs does not serve your use case):
export IPFS_PATH=/path/to/new/repo
ipfs init --profile=flatfs
- Move pinned data via
ipfs dag export/import or ipfs pin ls -t recursive/ipfs pin add
- Decommission the old badger-based node
Checklist
Description
Rationale
The
badgerdsdatastore is based on badger 1.x which has not been maintained by its upstream maintainers for years. It has 15+ open issues with known bugsincluding startup timeouts, shutdown hangs, file descriptor exhaustion, and stdout pollution. Kubo never moved to badger v2 nor v3, and there is no path forward with this dependency.
Modern alternatives (
flatfs,pebbleds) are available and actively maintained.Related: #10347, #4279, #6818
Removal plan
Kubo v0.40 : loud deprecation error printed on every daemon start when a badger-based repository is detected. Updated profile descriptions, datastore docs, and config docs to mark badgerds as deprecated with migration guidance.
Later in 2026: remove
go-ds-badgerdependency and allbadgerdsplugin/profile code. Kubo will refuse to start if it detects a badger-based datastore config and print instructions to migrate.Migration path
It has been deprecated for years. Everyone sane migrated already.
There will be no automated migration as we know its not feasible. The way to go is to create new node and transfer data:
IPFS_PATHwithflatfs(or experimentalpebbledsifflatfsdoes not serve your use case):ipfs dag export/importoripfs pin ls -t recursive/ipfs pin add