kubo/core
Marcin Rataj 706aab385b feat: add built-in ipfs update command
adds `ipfs update` command tree that downloads pre-built Kubo binaries
from GitHub Releases, verifies SHA-512 checksums, and replaces the
running binary in place.

subcommands:

- `ipfs update check` -- query GitHub for newer versions
- `ipfs update versions` -- list available releases
- `ipfs update install [version]` -- download, verify, backup, and
  atomically replace the current binary
- `ipfs update revert` -- restore the previously backed up binary
  from `$IPFS_PATH/old-bin/`

read-only subcommands (check, versions) work while the daemon is
running. install and revert require the daemon to be stopped first.

design decisions:

- uses GitHub Releases API instead of dist.ipfs.tech because GitHub
  is harder to censor in regions that block IPFS infrastructure
- honors GITHUB_TOKEN/GH_TOKEN to avoid unauthenticated rate limits
- backs up the current binary before replacing, with permission-error
  fallback that saves to a temp dir with manual `sudo mv` instructions
- `KUBO_UPDATE_GITHUB_URL` env var redirects API calls for integration
  testing; `IPFS_VERSION_FAKE` overrides the reported version
- unit tests use mock HTTP servers and the var override; CLI tests use
  the env vars with a temp binary copy so the real build is never
  touched

resolves https://github.com/ipfs/kubo/issues/10937
2026-02-16 19:41:29 +01:00
..
commands feat: add built-in ipfs update command 2026-02-16 19:41:29 +01:00
coreapi refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
corehttp refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
coreiface refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
corerepo refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
coreunix refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
mock fix: deadlock on retrieving WebTransport addresses (#9857) 2023-05-08 16:11:03 +02:00
node refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
.gitignore ignore testdb 2014-07-05 15:04:04 -07:00
builder.go chore: migrate bootstrap to ipfs/boxo (#10158) 2023-10-31 18:25:14 +01:00
core_test.go feat(cli/rpc/add): fast provide of root CID (#11046) 2025-11-14 11:08:29 -08:00
core.go feat(cli/rpc/add): fast provide of root CID (#11046) 2025-11-14 11:08:29 -08:00