Skip to content

mooncake fleet upgrade

Push a new agentd binary to fleet peers and trigger re-exec

Description

Streams the local mooncake binary to each selected peer's /v1/self/binary, verifies it on the peer side (--version sanity check), then asks /v1/self/replace to swap the on-disk binary and restart. The controller polls /v1/version until the daemon comes back (PID changes on Windows scheduled-task restart, or uptime resets on Linux syscall.Exec).

Linux and Windows peers are supported by default. macOS peers are skipped (untested) — override with --include-os darwin if you've validated the peer's behaviour yourself.

Flags

Flag Type Default Description
--peer []string - Select peers: repeat to UNION. Each value is a name, key=value filter (tag=production), or @k=v,k2=v2 AND-group. Default: every agentd peer.
--peers-file string - Override the peers.toml path
--binary string - Path to the binary to push. Default: this process's executable. On a mismatched controller/peer arch you must pre-build with GOOS=... GOARCH=... go build and point --binary at the result.
--timeout duration 1m30s Per-peer deadline covering upload + replace + restart-watch
--force bool false Replace even when the peer has runs in flight (will be killed)
--include-os []string - Allow upgrading peers running an OS outside the v1-supported set (default: linux). Repeat to allow multiple, e.g. --include-os darwin
--no-color bool false Disable ANSI colors (also honors NO_COLOR env)