mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
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 |
||
|---|---|---|
| .. | ||
| changelog.yml | ||
| codeql-analysis.yml | ||
| dependabot-tidy.yml | ||
| docker-check.yml | ||
| docker-image.yml | ||
| gateway-conformance.yml | ||
| generated-pr.yml | ||
| gobuild.yml | ||
| golang-analysis.yml | ||
| golint.yml | ||
| gotest.yml | ||
| interop.yml | ||
| sharness.yml | ||
| spellcheck.yml | ||
| stale.yml | ||
| sync-release-assets.yml | ||
| test-migrations.yml | ||