Watch
0
0
Fork
You've already forked hyperhive
0

move the meta flake render into the hive-meta-flake crate

hive-c0re's render_flake and the pieces it needs (AgentSpec, AgentPin,
pinned_git_url, the forwarded-var tables, canonical_inputs_in_lock) move
into a new crate with no IO. The forwarded values and the GitHub switch
are now arguments; hive-c0re passes what it read from its own unit env,
as before. Nothing changes on deploy: the rendered flake is byte-for-byte
the same, and hive-c0re's render tests pass unchanged.

Refs #4857
This commit is contained in:
atlas 2026-10-22 07:40:51 +02:00
commit ba97c64dda
13 changed files with 457 additions and 392 deletions

10
hive-meta-flake/README.md Normal file
View file

@ -0,0 +1,10 @@
# hive-meta-flake
The meta flake's `flake.nix` text: one `nixosConfigurations.<agent>` per agent,
each built from hyperhive's `agent-base` plus the agent's config input or
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.