Watch
0
0
Fork
You've already forked hyperhive
0
Commit graph

6,143 commits

Author SHA1 Message Date
flake-bot
04fcb4ca5c nix flake update 2026-10-31 04:00:39 +01:00
atlas
3a4b0ffabf render the matrix appservice registration from the store onto tmpfs
swarm-matrix-ctl appservice render now reads the registration's tokens
from the store and renders swarm.yaml under /run/swarm-matrix-appservice,
which tuwunel loads through LoadCredential. It mints a pair only when the
store answers and holds none; a host that has the old files stores their
pair once instead. A store that does not answer fails the unit and keeps
tuwunel down; sync starts it once the store answers.

Refs #4998 (item 3)
2026-10-30 17:38:29 +01:00
atlas
7813337548 agents dashboard: count agents reporting over the selected range 2026-10-30 17:12:11 +01:00
atlas
1e572d59a9 egress: a github link also derives raw, codeload and objects hosts 2026-10-30 17:07:46 +01:00
atlas
204abb1d0e read grafana's datasource key from the store into /run, seeding an empty store from the old file 2026-10-30 16:59:07 +01:00
atlas
fcc9c8d0ba drop the one-time migration: seed the store from a leftover file once, leave the file
A leftover plaintext client secret is stored once with -cas=0 when the store holds none, so nothing rotates. A store value wins over a different file. The file is no longer read back, compared or removed, and the migration unit is gone.
2026-10-30 16:57:58 +01:00
atlas
2fc63d844b name the mint, not the publisher, as the writer of the client secrets
Finishes the sweep of prose that said the publisher unit writes or carries the OIDC client secrets: rust docs, nix comments and option descriptions, test names and docs.
2026-10-30 16:57:58 +01:00
atlas
05665c05f3 derive a missing client digest from the secret that exists
A client with a secret in the store or in a leftover file but no digest gets the digest of that secret instead of stopping the unit. The password reaches authelia's prompt through a pty, not argv. A lost mint race takes the winner's secret. Also name the mint, not the publisher, in the remaining rust docs.
2026-10-30 16:57:58 +01:00
atlas
d30cb7d122 keep authelia's oidc client secrets in the store, not on disk
The mint creates each client's secret in the swarm secret store and writes only the digest to disk. It mints only when the store answers and holds none. A new unit moves the plaintext files an earlier release left into the store and removes each once the store holds the same value. The bridge reads its secret from the store into /run before each start. The secret publisher unit and its path unit are gone.
2026-10-30 16:57:58 +01:00
iris
e334e677e0 egress dashboard: match squid's result codes by prefix
"TCP_" alone is a word filter for the token TCP_, which no result code is, so
the overview and refused tabs read zero. "TCP_"* matches TCP_TUNNEL and the
rest. The module-eval case now fails on the bare form.
2026-10-30 16:15:19 +01:00
iris
6b0c06800b egress dashboard: tabs like the agents board, with totals on the first
The board was one page of would-deny panels. It now has three tabs: overview
(requests, agents active, refused, credential challenges, data transferred,
status over time, busiest agents and destinations), refused (the hosts each
agent was refused) and would-deny (the old panels). The module-eval check pins
the tab layout and both squid log layouts the queries parse.
2026-10-30 16:10:02 +01:00
atlas
9193f37963 derive per-agent egress entries from operator-linked accounts 2026-10-30 12:28:51 +01:00
atlas
7eb9db47d6 declare the root-check link on hosts without a controller too 2026-10-30 11:18:53 +01:00
atlas
29c57e058a run the platform containers' root check through a build-independent path 2026-10-30 11:13:16 +01:00
atlas
700279026f add the egress log dashboard 2026-10-30 08:53:03 +01:00
atlas
fd2861c097 reset the failed container unit before stopping it in the link-refusal vm subtest 2026-10-30 08:52:50 +01:00
atlas
e46ad07226 add a per-agent egress log mode 2026-10-30 08:52:22 +01:00
atlas
9140d063d7 offer the log mode in the swarm ui 2026-10-30 08:52:22 +01:00
iris
b74011bb54 the builds list keeps the swarm's deploy builds too
build_meta, the build of each agent from internal/meta before a deploy, now
writes its result into the same list as the config PR builds: the agent, the
internal/meta commit, how it ended and what nix printed. The builds card titles
them by agent and shows them with the PR builds.
2026-10-30 02:06:07 +01:00
atlas
221c3f35a1 remove the hive-c0re forge-credential chain nothing reads any more
With no nix build on the hive, the boot publish of the forge token for nix has no reader. Removes the ForgeSweep node, the token file, the git credential helper and hive-c0re's forge gitconfig sections.
2026-10-29 22:55:31 +01:00
atlas
6b800600e2 bind a container apply to the closure realised for the agent, and record the deployed pins on drift
hive-priv applies only the path its last RealiseClosure returned for that agent. On drift the swap and create record the pins of the commit the closure was built from.
2026-10-29 22:36:58 +01:00
atlas
4590b04cac remove the hive's local build of agent closures
A rebuild or create downloads the closure the swarm built and applies it; with none to deploy it fails and changes nothing. hive-priv takes a store path instead of an internal/meta commit and builds nothing.
2026-10-29 22:17:07 +01:00
atlas
70538fb209 move c0re.hyperhiveFlake to deploy.hyperhiveFlake 2026-10-29 14:31:20 +01:00
atlas
76de27fc97 bring existing agent cert roles to the 1h token ttl on controller start 2026-10-29 14:22:23 +01:00
atlas
e8190a4972 pin the container units in the hive collector's journal allow-list 2026-10-29 13:03:54 +01:00
atlas
c9096484d7 fold the container units into the one journalUnits definition 2026-10-29 12:52:54 +01:00
atlas
e316e683c3 ship container unit journals through the hive collector 2026-10-29 12:49:03 +01:00
atlas
37d5fad0b3 re-read the declaration before a mint, and mint for a current certificate whose role is missing 2026-10-29 11:42:32 +01:00
atlas
fa5293e90a read the squid options at their new path in the otel fixture; pin the env on a host with a store identity 2026-10-29 09:53:20 +01:00
atlas
da16487800 move the squid host options to deploy.hive-controller.squid 2026-10-29 09:53:20 +01:00
atlas
c9b5705ad8 share one hive-priv request helper across the vm tests 2026-10-29 08:51:31 +01:00
atlas
525de62b06 move the small per-service host options to deploy.<service> 2026-10-29 08:44:11 +01:00
flake-bot
400fdd7f0e nix flake update 2026-10-29 08:27:47 +01:00
atlas
51b0a02e95 wait for the wg-hive peers before pinging in the vm test 2026-10-29 08:27:38 +01:00
atlas
ce14c9b001 wait for hive-priv's reply to a daemon-reload in the link-refusal subtest 2026-10-29 08:27:29 +01:00
atlas
8126e0fffa mint a live agent's missing store identity from the renewal pass, and log the step a mint stopped at 2026-10-29 08:27:11 +01:00
atlas
0ad1dad8b5 derive backend hosts only from the operator's save; the backfill only drops 2026-10-29 08:25:22 +01:00
atlas
7e2f4ce7c8 always include a hive's own allowedDomains in the rendered swarm-wide list 2026-10-29 08:25:22 +01:00
atlas
c5a876b845 derive an agent's backend hosts into the egress allow list at the controller 2026-10-29 08:25:22 +01:00
atlas
4f32948a97 warn when the in-swarm cache runs under another domain 2026-10-29 08:24:44 +01:00
atlas
74f463c40e move the c0re host options to deploy.hive-controller 2026-10-29 01:08:41 +01:00
atlas
525cbe0355 count readers, not writers, of the pull token in the cache's roster pin 2026-10-29 00:09:12 +01:00
atlas
7d78869104 name the ui path for replacing the cache's leaves 2026-10-29 00:09:12 +01:00
atlas
f22f4ee6ac let the operator's oidc login write the cache's tokens and facts 2026-10-29 00:09:12 +01:00
atlas
e0d2350902 ignore a failed warn-only root check: prefix its ExecStartPre with a dash 2026-10-28 23:52:37 +01:00
atlas
24afc89ab3 run the root check warn-only on hyperhive's own containers, per unit, not on the container@ template 2026-10-28 23:50:58 +01:00
atlas
c191975aab check every container's root before its start, through the container@ template 2026-10-28 23:50:58 +01:00
atlas
1c3118e9cd add two-vm wg-hive mesh test to vmTests 2026-10-28 23:44:58 +01:00
atlas
ad06ce04a8 pin the security headers in the swarm api 401 location property 2026-10-28 23:37:22 +01:00
atlas
ec14977949 build the single-host fixture's nginx config in a check so gixy runs in ci 2026-10-28 23:37:22 +01:00