20 lines
1 KiB
Markdown
20 lines
1 KiB
Markdown
# 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. swarm-controller calls `render_flake` and reads the pins of the
|
|
flake it renders (`pinned_rev`). hive-c0re uses only the agent spec and port
|
|
helpers.
|
|
|
|
`testdata/meta-flake.nix.in` is the render for one archetype agent with a
|
|
placeholder for the hyperhive pin. A unit test keeps it equal to `render_flake`'s
|
|
output, and the `swarm-builder-offline` VM test (`nix/vm-tests/`) serves it.
|
|
|
|
`testdata/meta-flake-swarm.nix.in` is the render for two archetype agents with
|
|
the forwarded values of a single-host swarm as `@<NAME>@` placeholders, kept equal
|
|
by a unit test the same way. The `full-setup` VM test fills it in with the
|
|
controller's own settings and builds the agents' toplevels from it.
|