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
1 changed files with 1042 additions and 3793 deletions
|
|
@ -1,7 +1,7 @@
|
|||
//! Generic job-DAG queue + desired-state reconciliation — the host-side
|
||||
//! wrapper over the domain-agnostic [`hive_jobq`] scheduler. Jobs are nodes in
|
||||
//! per-request DAGs (see [`templates`]); the special cases (graceful-stop
|
||||
//! watcher, deferred-start follow-up, meta-update cascade) collapse into DAG
|
||||
//! watcher, deferred-start follow-up) collapse into DAG
|
||||
//! *shapes* over the shared node primitives ([`model::NodeKind`]).
|
||||
//!
|
||||
//! [`hive_jobq`] owns the graph, the two-class resource pool, and the roll-up
|
||||
|
|
@ -327,7 +327,7 @@ impl JobQueue {
|
|||
// without declaring its lease, and they are work on that agent
|
||||
// that the operator wants to see.
|
||||
//
|
||||
// Empty means an agentless container kind (`MetaLock`, `Dag`),
|
||||
// Empty means an agentless kind (the sweeps and pulls),
|
||||
// which targets no agent and lights nothing.
|
||||
let agent = n.payload.agent();
|
||||
if agent.is_empty() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue