remove c0re.preBuildAgentTemplates and agentBaseToplevel
This commit is contained in:
parent
4d85ec4c21
commit
8a7f254c74
2 changed files with 84 additions and 98 deletions
|
|
@ -170,16 +170,6 @@ in
|
|||
# above for the rationale.
|
||||
environment.etc."hyperhive/serve.json".text = serveConfigJson;
|
||||
|
||||
# Pull the agent-base toplevel into the host system closure.
|
||||
# `system.extraDependencies` adds paths to the system build
|
||||
# without referencing them at runtime — nixos-rebuild fetches /
|
||||
# builds them, they end up in /nix/store, and the first
|
||||
# nixos-container update + start for an agent has nothing left to
|
||||
# do. Gated because the closure is sizeable and pinned to x86_64.
|
||||
system.extraDependencies = lib.optionals controllerCfg.preBuildAgentTemplates [
|
||||
controllerCfg.agentBaseToplevel
|
||||
];
|
||||
|
||||
# Unprivileged coordinator user. hive-c0re runs as this user;
|
||||
# privileged operations are delegated to hive-priv which runs as
|
||||
# root, socket-activated at /run/hive/priv.sock (./hive-priv.nix).
|
||||
|
|
|
|||
|
|
@ -10,11 +10,32 @@
|
|||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
agentPrebuildRemoved = ''
|
||||
Hives pull agent closures from the swarm cache; nothing builds locally, so
|
||||
there is no agent-base closure to pre-fetch into the host store. Remove
|
||||
this definition.
|
||||
'';
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule [ "services" "hyperhive" "c0re" "managerToplevel" ] ''
|
||||
Every agent, ruth included, builds from `agentBaseToplevel`. Remove this definition.
|
||||
Every agent, ruth included, builds from the `agent-base` configuration. Remove this definition.
|
||||
'')
|
||||
(lib.mkRemovedOptionModule [
|
||||
"services"
|
||||
"hyperhive"
|
||||
"deploy"
|
||||
"hive-controller"
|
||||
"agentBaseToplevel"
|
||||
] agentPrebuildRemoved)
|
||||
(lib.mkRemovedOptionModule [
|
||||
"services"
|
||||
"hyperhive"
|
||||
"deploy"
|
||||
"hive-controller"
|
||||
"preBuildAgentTemplates"
|
||||
] agentPrebuildRemoved)
|
||||
(lib.mkRemovedOptionModule [ "services" "hyperhive" "c0re" "hyperhiveDocs" ] ''
|
||||
Agents take their reference docs from the pinned `hyperhive` input, which
|
||||
carries `docs/`. Remove this definition.
|
||||
|
|
@ -99,42 +120,6 @@
|
|||
it is.
|
||||
'';
|
||||
};
|
||||
agentBaseToplevel = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
defaultText = lib.literalExpression "hyperhive.packages.x86_64-linux.agent-base-toplevel";
|
||||
description = ''
|
||||
Pre-built agent-base container system closure, pulled into the
|
||||
host system closure when `preBuildAgentTemplates` is on. Wired
|
||||
by `nixosModules.default`; only evaluated when that option is
|
||||
enabled.
|
||||
'';
|
||||
};
|
||||
preBuildAgentTemplates = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = ''
|
||||
Pre-fetch the agent-base container system closure, which every
|
||||
agent builds from, into the host's /nix/store as part of this
|
||||
host's NixOS build, instead of letting the first agent spawn
|
||||
do all the work.
|
||||
|
||||
Enabling this adds roughly the full nixpkgs runtime closure +
|
||||
claude-code + the harness binary to your system closure size
|
||||
(low single-digit GB), but the first `nixos-container start`
|
||||
for any agent then completes in seconds instead of minutes
|
||||
because nothing's left to fetch.
|
||||
|
||||
Off by default because the toplevel is pinned to
|
||||
`x86_64-linux` (nixos-containers run native arch). Enabling
|
||||
on an aarch64 host would force nix to build the x86 closure
|
||||
via cross or a remote builder, which is rarely what you want.
|
||||
Flip to `true` on an x86_64 host when you care more about
|
||||
first-spawn latency than host store size — or just
|
||||
`nix build .#agent-base-toplevel` once manually to warm the
|
||||
store.
|
||||
'';
|
||||
};
|
||||
|
||||
modelPrices = lib.mkOption {
|
||||
type = lib.types.attrsOf (
|
||||
|
|
|
|||
Loading…
Reference in a new issue