Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 72f5e39278 hive-tls: stage bao pki root in every hive's trust bundle
A self-signed hive fronting no swarm service name never filled
`$svcroot` (/var/lib/hive-tls/swarm-services-root.pem): the only writer
was `swarm-services-cert`'s issuance, which exits early on
`want_svc=0`. So those hives' trust-bundle.pem lacked the store's `pki`
root, even though every other hive's swarm-service names chain to it.

On `want_svc=0`, `swarm-services-cert` now reads the root from the
store's unauthenticated `GET /v1/pki/ca/pem`, over the hive's existing
BAO_ADDR, `deploy.bao.serverCaFile` and reader identity
(`deploy.bao.clientCertFile`/`clientKeyFile`) at the TLS layer only; no
login. It writes `$svcroot` and restarts `hive-tls-ca` when the root
changed, as the issuing path already does. The daily
`swarm-services-cert-renew` timer runs the same script, so the copy
follows a root rotation.

The gateway no longer `Requires=` `swarm-services-cert` on such a host:
nginx reads nothing that unit writes there, and the fetch retries
against a sealed store.

`hivectl peer-config` prints the root as step 2 of the self-signed
instructions: the swarm's service names are issued under it, not the
swarm root.

No new option. Refs #4588.
2026-10-04 14:37:50 +02:00
..
hive-c0re matrix: serve the web client unconditionally; link it from the swarm domain 2026-10-02 20:02:02 +02:00
hive-forge swarm-ui: build the forge link from swarm.forge.domain 2026-10-02 20:02:02 +02:00
hive-gateway config PRs: remove the hive's config-PR webhook, poll and core merge 2026-10-02 23:13:03 +02:00
lib refresh-consumer: key the restart on the file's mtime, not a pre-write compare 2026-09-30 07:45:47 +02:00
swarm-grafana/dashboards hive-agent: export ACP-reported cost and context fill over OTLP 2026-09-30 22:24:06 +02:00
bao-bootstrap-policy.hcl bao: disable the unused approle auth method, declaratively 2026-09-28 22:58:36 +02:00
default.nix nix: split swarm-otel into service and deploy-mode files 2026-10-01 13:00:40 +02:00
deploy.nix matrix: serve the web client unconditionally; link it from the swarm domain 2026-10-02 20:02:02 +02:00
glue-bao-readers-policy-order.nix swarm-bao: write every swarm-* grant as a bao granter, not with a 24h token 2026-09-27 22:57:46 +02:00
glue-bao-tls.nix swarm-otel: ship the whole host journal, drop user sessions after it 2026-09-30 23:01:49 +02:00
glue-bao-ui-oidc-client.nix bao: OIDC login to the browser UI via authelia, as a metadata-only viewer 2026-09-28 19:56:38 +02:00
glue-controller-bao-identity.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-forge-oidc-client.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-grafana-oidc-client.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-matrix-bao-token.nix swarm-otel: ship the whole host journal, drop user sessions after it 2026-09-30 23:01:49 +02:00
glue-matrix-ctl-bao-identity.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-nats-auth-bao-identity.nix swarm-nats-auth: verify an agent's own token against the store 2026-09-28 08:24:52 +02:00
glue-nats-bao-identity.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-queue-agent-credential.nix swarm-otel: ship the whole host journal, drop user sessions after it 2026-09-30 23:01:49 +02:00
glue-secret-publisher-bao-identity.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-services-issuer-bao-identity.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-swarm-bao-otel-oidc-client.nix ops: update option pointers after grafana/bao split 2026-10-01 09:53:04 +02:00
glue-swarm-otel-oidc-client.nix ops: update option pointers after otel split 2026-10-01 13:00:40 +02:00
hive-ci.nix forge: always behind the gateway; drop behindGateway 2026-10-02 18:50:42 +02:00
hive-matrix-service.nix nix: split hive-matrix into service and deploy-mode files 2026-10-01 13:00:25 +02:00
hive-matrix.nix matrix: serve the web client unconditionally; link it from the swarm domain 2026-10-02 20:02:02 +02:00
hive-network.nix fix(nix): require swarm domain only when a hyperhive service is enabled 2026-10-02 13:09:45 +02:00
hive-priv.nix hive-priv: create agent socket dirs on start; drop hyperhive-agents.conf 2026-09-27 18:55:33 +02:00
hive-tls.nix hive-tls: stage bao pki root in every hive's trust bundle 2026-10-04 14:37:50 +02:00
hyperhive.nix github: PATs live in swarm bao; the agent fetches them itself 2026-10-02 17:48:27 +02:00
local-defaults.nix swarm-controller: read the queue client secret from the store, drop the file 2026-09-28 19:01:05 +02:00
otel.nix ops: update option pointers after otel split 2026-10-01 13:00:40 +02:00
stylix-theme.nix swarm-ui: apply the operator's stylix theme, same as the dashboard already does 2026-08-24 14:28:25 +02:00
swarm-authelia-service.nix nix: split swarm-authelia into service and deploy-mode files 2026-10-01 10:25:19 +02:00
swarm-authelia.nix swarm-ui: build authelia/grafana/metrics/logs links from swarm domains 2026-10-02 19:45:02 +02:00
swarm-bao-service.nix nix: split swarm-bao into service and deploy-mode files 2026-10-01 09:37:36 +02:00
swarm-bao.nix swarm UI: delete linked accounts 2026-10-03 00:56:39 +02:00
swarm-ca.nix swarm-otel: ship the whole host journal, drop user sessions after it 2026-09-30 23:01:49 +02:00
swarm-controller.nix swarm-ui: build the forge link from swarm.forge.domain 2026-10-02 20:02:02 +02:00
swarm-grafana-service.nix nix: split swarm-grafana into service and deploy-mode files 2026-10-01 09:30:21 +02:00
swarm-grafana.nix swarm-ui: build the forge link from swarm.forge.domain 2026-10-02 20:02:02 +02:00
swarm-nats-service.nix nix: split swarm-bao into service and deploy-mode files 2026-10-01 09:37:36 +02:00
swarm-nats.nix swarm-controller: create every agent's subagent stream 2026-10-03 01:34:01 +02:00
swarm-otel-service.nix nix: split swarm-otel into service and deploy-mode files 2026-10-01 13:00:40 +02:00
swarm-otel.nix ops: update option pointers after otel split 2026-10-01 13:00:40 +02:00
swarm-peers-removed.nix docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
swarm-required-services.nix nix: run the forge on one host per swarm (deploy.forgejo.enable) 2026-09-24 23:56:07 +02:00
swarm-secret-publisher.nix swarm-otel: ship the whole host journal, drop user sessions after it 2026-09-30 23:01:49 +02:00
swarm-snapshot-store.nix deploy: move the wireguard mesh out of the namespace hives read 2026-09-07 14:24:52 +02:00
swarm-ui.nix swarm UI: send a message to an agent, without its hive 2026-10-04 03:02:14 +02:00
swarm-victorialogs-service.nix nix: split swarm-victorialogs into service and deploy-mode files 2026-10-01 10:03:55 +02:00
swarm-victorialogs.nix swarm-ui: build the forge link from swarm.forge.domain 2026-10-02 20:02:02 +02:00
swarm-victoriametrics-service.nix nix: split swarm-victoriametrics into service and deploy-mode files 2026-10-01 10:03:55 +02:00
swarm-victoriametrics.nix swarm-ui: build the forge link from swarm.forge.domain 2026-10-02 20:02:02 +02:00
swarm-wireguard.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
swarm.nix bao: serve the browser UI to admins via a loopback-only listener 2026-09-28 19:31:02 +02:00