müde
5704c0c583
nix: unbreak the swarm-services leaf the gateway waits on
...
Three defects in the store-issued path, each of which alone kept nginx
from starting at all. The gateway's cert import `Requires=` this leaf, so
a leaf that is never issued is not a name mismatch — it is an empty
listener, and the swarm's own forge stopped answering on :443.
`swarm-services-cert` declared `Before=hive-tls-ca` for the trust
bundle's sake while also being `After=` the store's container, which is
itself `After=hive-tls-ca`. systemd resolved the cycle the only way it
can, by deleting the job, so the leaf went unissued on every activation.
The edge is gone; the bundle converges the other way round, through the
restart this unit already performed when the root it wrote was new.
The `pki` mount was enabled without `-max-lease-ttl`, so bao clamped the
30-year root to the 768h default and then refused every issue call,
because a leaf of the mount's own default length would outlive the CA
signing it. The mount is tuned on every run, the role pins a 720h leaf,
and a root that can no longer cover one is replaced rather than left to
refuse forever. A hive tests its own copy of that certificate against the
same threshold, so both ends reach a fresh leaf without signalling.
`swarm-bao-pki` mints the services-issuer leaf that opens the mount, but
only `swarm-bao-certs` required it. `RemainAfterExit` plus an
already-active unit means an activation that ADDS a leaf mints nothing —
which is how a host whose config named `services-issuer.pem` came to have
no such file. A target wants it now, like every sibling granting unit.
2026-09-23 21:36:46 +02:00
..
hive-c0re
nix: give the gateway, resolver and bridge their own enable
2026-09-19 13:53:10 +02:00
hive-forge
nix: make swarm.authelia.url non-nullable, trim its docs
2026-09-21 18:14:28 +02:00
hive-gateway
docs(gateway): describe nginx as per-host, not a deployment-wide singleton
2026-09-19 13:58:10 +02:00
lib
swarm: extract the name guards, so the module just says what is forbidden
2026-08-31 18:50:15 +02:00
swarm-grafana /dashboards
swarm-grafana: replace busiest-agents bargauges with an actual table
2026-09-20 23:40:21 +02:00
default.nix
nix: issue the swarm-services leaf from bao's pki mount
2026-09-23 21:00:02 +02:00
deploy.nix
swarm-controller: make socketPath readOnly instead of asserting it
2026-09-17 19:27:30 +02:00
glue-bao-tls.nix
nix: unbreak the swarm-services leaf the gateway waits on
2026-09-23 21:36:46 +02:00
glue-controller-bao-identity.nix
swarm-controller: hand the daemon the authority hives are issued from
2026-09-10 00:25:07 +02:00
glue-grafana-oidc-client.nix
swarm-grafana: deliver the OIDC client secret through the secret store
2026-09-13 19:57:28 +02:00
glue-matrix-bao-token.nix
swarm-bao: refuse a remote reader that named seven of the eight leaves
2026-09-23 10:11:42 +02:00
glue-matrix-ctl-bao-identity.nix
swarm-matrix-ctl: one control binary for the matrix container, not one per job
2026-09-20 22:07:16 +02:00
glue-queue-agent-credential.nix
swarm-bao: refuse a remote reader that named seven of the eight leaves
2026-09-23 10:11:42 +02:00
glue-secret-publisher-bao-identity.nix
swarm: publish minted OIDC client secrets into the swarm store
2026-09-12 11:22:33 +02:00
glue-services-issuer-bao-identity.nix
nix: issue the swarm-services leaf from bao's pki mount
2026-09-23 21:00:02 +02:00
glue-swarm-bao-otel-oidc-client.nix
nix: the store's own collector scrapes its metrics listener
2026-09-21 17:19:52 +02:00
glue-swarm-otel-oidc-client.nix
swarm-otel: deliver the OIDC client secret through the secret store
2026-09-14 00:58:58 +02:00
hive-ci.nix
nix: give the gateway, resolver and bridge their own enable
2026-09-19 13:53:10 +02:00
hive-matrix.nix
nix: make swarm.authelia.url non-nullable, trim its docs
2026-09-21 18:14:28 +02:00
hive-network.nix
nix: give the gateway, resolver and bridge their own enable
2026-09-19 13:53:10 +02:00
hive-priv.nix
docs: restructure into topic subdirectories, collapse duplicated index
2026-09-02 01:55:37 +02:00
hive-tls.nix
nix: unbreak the swarm-services leaf the gateway waits on
2026-09-23 21:36:46 +02:00
hyperhive.nix
docs: restructure into topic subdirectories, collapse duplicated index
2026-09-02 01:55:37 +02:00
local-defaults.nix
bao: write the swarm controller's policy from inside the store
2026-09-07 18:43:09 +02:00
otel.nix
otel.nix: trim the StartLimit comment block to the load-bearing points
2026-09-23 17:22:51 +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.nix
nix: make swarm.authelia.url non-nullable, trim its docs
2026-09-21 18:14:28 +02:00
swarm-bao.nix
nix: unbreak the swarm-services leaf the gateway waits on
2026-09-23 21:36:46 +02:00
swarm-ca.nix
nix: issue the swarm-services leaf from bao's pki mount
2026-09-23 21:00:02 +02:00
swarm-container-resolver.nix
fix( #3363 ): swarm containers write their own resolver file
2026-08-17 17:30:15 +02:00
swarm-controller.nix
nix: make swarm.authelia.url non-nullable, trim its docs
2026-09-21 18:14:28 +02:00
swarm-grafana.nix
swarm-bao: give each hive-cert consumer its own bao identity
2026-09-23 10:11:42 +02:00
swarm-nats.nix
nix: make swarm.authelia.url non-nullable, trim its docs
2026-09-21 18:14:28 +02:00
swarm-otel.nix
swarm-otel: persist the journald cursor across collector restarts
2026-09-23 12:52:32 +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: give the gateway, resolver and bridge their own enable
2026-09-19 13:53:10 +02:00
swarm-secret-publisher.nix
nix: the store's own collector scrapes its metrics listener
2026-09-21 17:19:52 +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
nix: give the gateway, resolver and bridge their own enable
2026-09-19 13:53:10 +02:00
swarm-victorialogs.nix
nix: give the gateway, resolver and bridge their own enable
2026-09-19 13:53:10 +02:00
swarm-victoriametrics.nix
nix: give the gateway, resolver and bridge their own enable
2026-09-19 13:53:10 +02:00
swarm-wireguard.nix
deploy: move the wireguard mesh out of the namespace hives read
2026-09-07 14:24:52 +02:00
swarm.nix
nix: issue the swarm-services leaf from bao's pki mount
2026-09-23 21:00:02 +02:00