Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix/module-eval
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 121c4678aa swarm-controller reads its forge token from the store, not a host file
The controller's forge token never entered bao: the forge minted it in its
container, hive-forge-swarm-controller-token copied it to a host file, and the
controller LoadCredential'ed that file. forgeTokenFile defaulted to that path
only where the forge ran, so a controller on any other host had no forge
access unless an operator copied the file by hand.

Now the forge's host publishes it and the controller reads it:

- swarm-bao-forge-publisher (replaces hive-forge-swarm-controller-token)
  waits for the in-container token, logs in with its own forge-publisher leaf
  and writes it to swarm/controller/swarm-controller/forge/token. It runs on
  every forge container start, the old unit's trigger.
- New principal swarm-forge-publisher: leaf minted by glue-bao-tls.nix,
  policy create/update on that one path, written by
  swarm-bao-forge-publisher-policy, CN reserved as a hive name.
- The controller policy gains read on that path. swarm-controller reads it
  at start under its own certificate with the OIDC secret's retry, and runs
  without forge access if it still cannot.
- forgeTokenFile, its LoadCredential and the forgeEnv gate are gone;
  SWARM_CONTROLLER_FORGE_URL is always set. hostSwarmControllerTokenFile is
  removed, and a tmpfiles rule deletes the old host copy on the forge host.

The in-container file stays: the mint unit's only-once guard reads it, and
it is the publisher's source.

Refs #4998
2026-10-08 13:25:47 +02:00
..
agent-forge-bao.nix forge: external forge accounts live in swarm bao; the agent fetches them itself 2026-10-01 18:05:33 +02:00
agent-github-bao.nix github swarm bao: address argus review on #4892 2026-10-02 17:54:45 +02:00
agent-icon.nix nix: split module-eval into per-subsystem checks 2026-09-20 04:25:54 +02:00
agent-matrix.nix nix: comments state current behaviour, not history 2026-10-05 09:58:50 +02:00
agent-memory.nix hive-bash-daemon: keep sibling tasks alive when one is OOM-killed 2026-10-07 18:18:15 +02:00
agent-otel.nix module-eval: assert the severity table once, not once per tier 2026-09-20 14:23:56 +02:00
agent-plugins.nix nix: split module-eval into per-subsystem checks 2026-09-20 04:25:54 +02:00
agent-queue-bao.nix hive-agent: the swarm queue connection is required; retry, then exit 2026-10-04 22:24:51 +02:00
agent-runtime.nix module-eval: pin a claude agent's subagent store identity 2026-10-03 01:34:01 +02:00
agent-user.nix agents: chown work/ recursively only on owner mismatch 2026-10-05 13:01:14 +02:00
bao-basics.nix matrix: drop the per-hive appservice and its unused token 2026-10-05 07:48:17 +02:00
bao-controller.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
bao-grants.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
bao-matrix-reader.nix swarm-nats, matrix: the queue's and matrix-ctl's store identity paths are their own, not the hive's 2026-10-06 12:04:48 +02:00
bao-otel-collector.nix nix: finish the current-behaviour comment sweep in touched files 2026-10-05 09:58:57 +02:00
core-toggle.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
forge-placement.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
grafana.nix nix: comments state current behaviour, not history 2026-10-05 09:58:50 +02:00
hive-otel.nix swarm-bao: give the store's collector an explicit self-telemetry port 2026-09-23 18:04:33 +02:00
hive-tls.nix hive-tls: the root fetch presents the hive identity, as on main 2026-10-06 14:54:07 +02:00
journald-severity.nix module-eval: assert the severity table once, not once per tier 2026-09-20 14:23:56 +02:00
lib.nix module-eval: set the hive-controller option only in tests that need a hive 2026-10-05 09:58:13 +02:00
matrix-core.nix module-eval: set the hive-controller option only in tests that need a hive 2026-10-05 09:58:13 +02:00
name-guards.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
nats-authelia.nix nats-callout-removed: remove the container's OIDC secret copy here, ungated 2026-10-06 15:25:29 +02:00
nats-tls.nix hive-tls: a gateway host without the services-issuer pair evaluates and goes red at runtime 2026-10-06 14:54:07 +02:00
secret-publisher.nix nix: comments state current behaviour, not history 2026-10-05 09:58:50 +02:00
swarm-otel-core.nix nix: follow-ups from the service/deploy split 2026-10-05 19:12:46 +02:00
swarm-otel-identity.nix hive-tls: a gateway host without the services-issuer pair evaluates and goes red at runtime 2026-10-06 14:54:07 +02:00
swarm-services-switch.nix swarm CA: retire the host-held root CA, the store holds the only anchor 2026-10-05 21:17:10 +02:00