nix: move the agent option namespace under services.hyperhive.agent
Every per-agent harness option lived at the top-level `hyperhive.*` while the host tier has always been `services.hyperhive.*`. Move all 52 agent-tier option leaves (33 top-level names across 16 modules) to `services.hyperhive.agent.*`, repoint every read, and keep existing agent configs evaluating through one `mkRenamedOptionModule` per old leaf path in the new nix/agent-modules/renamed-options.nix. The shims are per leaf rather than per namespace: `user`, `mcp`, `otel`, `queue`, `docs`, `forge`, `frontend`, `github`, `gui`, `logs`, `matrix` and `cargo` are plain attrsets of declarations, not submodule-typed options, so a parent-path rename would not reach their children. Three read-only options (`frontend.mergedDist`, `queue.clientIdFile`, `queue.clientSecretFile`) deliberately get no shim — a rename contributes a definition, which a read-only option refuses; the exclusions are commented in place. Refs #4473
This commit is contained in:
parent
60393d0e32
commit
3662eda440
21 changed files with 531 additions and 290 deletions
|
|
@ -16,7 +16,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.hyperhive.queue;
|
||||
cfg = config.services.hyperhive.agent.queue;
|
||||
configured = cfg.natsUrl != null && cfg.tokenEndpoint != null;
|
||||
|
||||
# The two ids `hive_c0re::lifecycle::host_config` forwards under. Neither
|
||||
|
|
@ -32,7 +32,7 @@ let
|
|||
credentialsDir = "/run/credentials/hive-agent.service";
|
||||
in
|
||||
{
|
||||
options.hyperhive.queue = {
|
||||
options.services.hyperhive.agent.queue = {
|
||||
natsUrl = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
|
|
@ -61,7 +61,7 @@ in
|
|||
`client_credentials` token there and presents it to the queue, which
|
||||
authenticates it as the client named in the delivered credential.
|
||||
|
||||
Set together with {option}`hyperhive.queue.natsUrl` or not at all —
|
||||
Set together with {option}`services.hyperhive.agent.queue.natsUrl` or not at all —
|
||||
the harness treats a half-set pair as a deployment bug rather than as
|
||||
"no queue coordinates".
|
||||
'';
|
||||
|
|
@ -79,7 +79,7 @@ in
|
|||
description = ''
|
||||
Path the agent's OIDC client id is delivered at, for a consumer
|
||||
outside the harness unit. Read-only: it is a fact about where the
|
||||
credential lands, not a knob — see {option}`hyperhive.logs.queryUrl`
|
||||
credential lands, not a knob — see {option}`services.hyperhive.agent.logs.queryUrl`
|
||||
for the consumer this exists for.
|
||||
'';
|
||||
};
|
||||
|
|
@ -90,7 +90,7 @@ in
|
|||
default = "${credentialsDir}/${secretCredential}";
|
||||
description = ''
|
||||
Path the agent's OIDC client secret is delivered at. Read-only for
|
||||
the same reason as {option}`hyperhive.queue.clientIdFile`.
|
||||
the same reason as {option}`services.hyperhive.agent.queue.clientIdFile`.
|
||||
|
||||
🩸 A PATH and never a value. The file is `0400` to the agent user and
|
||||
is read at the moment of a token request; nothing in this tree puts
|
||||
|
|
|
|||
Loading…
Reference in a new issue