build agents only from internal/meta; delete the hive's local meta flake
The hive no longer renders, locks or commits a meta flake. A rebuild's MetaSync node picks the internal/meta commit and records it with the hyperhive and config pins it holds; Prebuild, Swap and Create build from it, and a head that does not pin the agent's current config fails the build naming the agent. hive-priv's meta_rev is required. Removed: meta.rs sync/lock/render, the manual-rebuild relock, the boot sweep's hyperhive bump (MetaLock), the update-meta-inputs form and its panel, MetaWindow, the hive's hyperhive_rev setting. Kept: agent_set::refresh holds what sync_agents also did (topology.json, the gateway's agent-socket map and nginx include), called from spawn, destroy, rebuild and the migration. The boot reconcile and the stale-start upgrade compare the agent's marker with the hyperhive pin of internal/meta; the dashboard's deployed chip reads the config marker a successful build writes.
This commit is contained in:
parent
cea4827918
commit
4aa11b3a94
64 changed files with 1042 additions and 3793 deletions
|
|
@ -6,5 +6,5 @@ archetype.
|
|||
|
||||
Pure string rendering, with no IO and no environment reads. The caller passes
|
||||
the hyperhive pin, the agents with their pins, and the values every agent
|
||||
container gets. hive-c0re and swarm-controller both call `render_flake`, so
|
||||
there is one renderer.
|
||||
container gets. swarm-controller calls `render_flake`; hive-c0re reads the
|
||||
pins of the flake it renders (`pinned_rev`, `builds_agent_at`).
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
//! The meta flake's text: one `nixosConfigurations.<agent>` per agent, built
|
||||
//! from hyperhive's `agent-base` and the agent's config input or archetype.
|
||||
//!
|
||||
//! Pure: the output is a function of the arguments only. hive-c0re and
|
||||
//! swarm-controller both render through [`render_flake`], so the flake a hive
|
||||
//! builds has one renderer.
|
||||
//! Pure: the output is a function of the arguments only. swarm-controller
|
||||
//! renders through [`render_flake`]; hive-c0re reads the pins of the result
|
||||
//! ([`pinned_rev`], [`builds_agent_at`]).
|
||||
|
||||
use anyhow::{Context, Result};
|
||||
use swarm_wire::agent_archetype::ArchetypeRef;
|
||||
|
|
|
|||
Loading…
Reference in a new issue