hyperhive/nix/modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 9f03cf31ba nix(ci): trust the hive CA in the runner's Node actions (self-signed TLS)
With self-signed TLS the gateway/forge serve a hive-CA-signed leaf and
forgejo's ROOT_URL is https://forge.<domain>. The CI runner's Node-based
actions (e.g. upload-artifact) POST to the ROOT_URL-derived artifact
endpoint and fail with "unable to verify the first certificate": Node uses
its own bundled CA bundle, not the system store, so it rejects the
self-signed chain. checkout etc. are fine — they hit the localhost http
registration URL.

Bind-mount the public hive CA cert (only ca.pem — never the hive-tls state
dir, which holds the CA + leaf private keys) into the hive-ci container and
set NODE_EXTRA_CA_CERTS on the runner service so every Node action trusts
it, hive-wide. Order container@hive-ci after the host hive-tls-ca service so
the cert exists before the bind-mount is set up. All gated on self-signed
mode; with an operator cert / ACME the public CA already validates and the
mount + env var are absent.

Eval-proven: self-signed → /run/hive-ca/ca.pem bind-mount (from
/var/lib/hive-tls/ca.pem), NODE_EXTRA_CA_CERTS=/run/hive-ca/ca.pem, and
container@hive-ci ordered after hive-tls-ca.service; certDir → all absent.
2026-06-18 00:17:53 +02:00
..
hive-c0re.nix nix(tls): host hive-CA + gateway leaf for self-signed mode 2026-06-17 19:04:52 +02:00
hive-ci.nix nix(ci): trust the hive CA in the runner's Node actions (self-signed TLS) 2026-06-18 00:17:53 +02:00
hive-forge.nix nix(gateway): self-signed TLS as the implicit default, deprecate the toggle 2026-06-17 21:14:05 +02:00
hive-gateway.nix nix(gateway): self-signed TLS as the implicit default, deprecate the toggle 2026-06-17 21:14:05 +02:00
hive-matrix.nix nix: remove the non-isolated (shared-netns) mode 2026-06-17 15:29:52 +02:00
hive-network.nix nix: remove the non-isolated (shared-netns) mode 2026-06-17 15:29:52 +02:00
hive-tls.nix nix(gateway): self-signed TLS as the implicit default, deprecate the toggle 2026-06-17 21:14:05 +02:00