Watch
0
0
Fork
You've already forked hyperhive
0

pin internal/meta's hyperhive on the controller's rev and rebuild agents when it moves

The swarm controller offers its own running rev (services.hyperhive.c0re.
hyperhiveRev) as the hyperhive pin of internal/meta and takes it only when
the forge compare API shows it descends from the committed pin; merges to
hyperhive main no longer move the pin, and the first commit pins main's head.
When a commit moves the pin, every placed agent gets a TriggerDeploy.

A deploy after a meta update no longer waits on it succeeding (after_any), so
a down builder does not hold back hives that render locally.
This commit is contained in:
atlas 2026-10-24 14:29:12 +02:00
commit 22e2d30581

View file

@ -285,8 +285,9 @@ fn spawn_forge_workers(
auth: Option<Arc<auth::AuthBridge>>,
queue: Option<async_nats::Client>,
) {
// `internal/meta` appears, and catches up with every head that moved while
// this daemon was down.
// `internal/meta` appears, catches up with every config head that moved
// while this daemon was down, and takes this daemon's rev as the hyperhive
// pin when that is newer.
if let Err(e) = crate::jobq::queue_meta_update(jobq) {
tracing::warn!(error = %format!("{e:#}"), "update_meta: queueing failed");
}