Add upgrade all chat command with drain check and convergence verify
- `upgrade all` sweeps every registered sled in sequence, streaming per-sled phase markers and reporting a summary. - Binary source is now the gateway's own artifact store via host.docker.internal (was: unresolvable `gateway` hostname serving the gateway's macOS binary to Linux sleds — would have bricked them). - Sleds with active claude processes are skipped, never killed. - After reconnect, /api/version git_hash is compared against the published artifact's .hash sidecar; divergence is reported loudly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019fHdm92yjvguPi2LiXfLB9
This commit is contained in:
@@ -298,6 +298,13 @@ pub async fn serve_binary_handler() -> poem::Response {
|
||||
}
|
||||
}
|
||||
|
||||
/// Canonical artifact filename for sled binaries on this deployment's platform.
|
||||
///
|
||||
/// Sleds run linux/arm64 under OrbStack on Apple Silicon. When amd64 hosts
|
||||
/// arrive, `release` publishes one artifact per platform and this becomes a
|
||||
/// lookup instead of a constant.
|
||||
pub const SLED_ARTIFACT_NAME: &str = "huskies-linux-arm64";
|
||||
|
||||
/// Directory where the gateway stores distributable sled binaries.
|
||||
///
|
||||
/// Host-global (`~/.huskies/artifacts/`), not per-project: one artifact serves
|
||||
|
||||
Reference in New Issue
Block a user