müde
f08a0a5d09
nix: hyperhive-the-movie app (gource history movie), replaces gource.sh
2026-11-02 20:34:13 +01:00
iris
29569e90ed
links menu: give the forge link an emoji-presentation icon
...
U+2692 is text-presentation by default, so it drew as a small
monochrome glyph next to the colour icons of the other links. The
hammer is emoji-presentation by default.
2026-11-02 20:19:05 +01:00
atlas
65d75da8db
vm tests: idmap-capable store for the userns subtest, restart nix-daemon via its socket
2026-11-02 18:20:47 +01:00
atlas
a0c8892b99
sum the boot-wait budgets of units that start one after another in a container, and check it
2026-11-02 17:22:37 +01:00
atlas
d6e983995d
add external gitlab accounts: stored in bao, linked per agent, allowed in squid, usable with glab
2026-11-02 16:44:56 +01:00
atlas
3b8ab17240
bound the forge's SSO source setup and retry it with a growing delay
2026-11-02 08:08:41 +01:00
atlas
70b112058a
keep service containers' boot-wait budgets under their start limit, and check it
2026-11-02 08:00:26 +01:00
atlas
da0cdda6a4
vm-nightly: drop placeholder-free f prefixes, enable nix-command on the offline test's path-info
2026-11-02 07:57:07 +01:00
atlas
279428a66f
wait for grafana's socket and read the forge's user list whole in the mint
2026-11-02 00:22:25 +01:00
atlas
c0429bf617
export the swarm cache's size from atticd's database to the attic dashboard
2026-11-01 23:46:23 +01:00
atlas
99752f81d9
remove the needs_update system event: nothing emits it
...
Refs #5948
2026-11-01 23:08:12 +01:00
atlas
8a7f254c74
remove c0re.preBuildAgentTemplates and agentBaseToplevel
2026-11-01 22:20:15 +01:00
atlas
4d85ec4c21
nightly vm test: the builder's meta build finds a prebuilt agent in an offline store
2026-11-01 21:25:32 +01:00
atlas
90272ec3c0
move links, adminSync.ignoreUsers and scrapeTargets under their service's deploy namespace
2026-11-01 20:47:23 +01:00
atlas
a0deb29e59
start the container journal forwarder's collector from its secret fetch, with backoff
2026-11-01 19:11:26 +01:00
atlas
a73946102f
bao reader policy, responder units and docs for the per-surface grant
2026-11-01 18:40:35 +01:00
atlas
b2694b0a92
add a grafana dashboard for the swarm binary cache
2026-11-01 18:07:45 +01:00
damocles
862495530c
drop the applied repo: the hive keeps no copy of an agent's config, only the deploy markers. Refs #5913
2026-11-01 17:49:10 +01:00
iris
d53cfc50bf
builds board: count builds by id, so a doubled journal does not double the totals
2026-11-01 17:18:58 +01:00
iris
ab30c3dc7d
builds board: a Grafana dashboard of the container builds, from the lines hive-c0re logs
...
A builds tab (counts, failures, longest, builds over time by outcome, a table of
each build) and an output tab (every line of the build picked in the Build
filter). The table joins its grouped stats by labels, one row per build.
2026-11-01 17:18:58 +01:00
atlas
f5a609911c
read privateUsers from the closure record at start, and move the data owner option under hive-controller
2026-11-01 17:06:18 +01:00
atlas
1fd591d28b
add the agent option privateUsers, with the uid = gid assertion
2026-11-01 17:06:18 +01:00
atlas
da098b1a50
document the user namespace opt-in
2026-11-01 17:06:18 +01:00
atlas
bfdf603d12
run opted-in agents in a user namespace with a dedicated data owner
2026-11-01 17:06:18 +01:00
atlas
5ae0205e1d
pin that the hive collector keeps file_storage for its exporter queue without a journald receiver
2026-11-01 17:05:40 +01:00
atlas
bcc317e452
read the hive collector's journald receiver as optional in the builder cases
2026-11-01 17:05:40 +01:00
atlas
790e242e8c
leave squid's and hive-c0re's journals to the swarm tier when both run on one host
2026-11-01 17:05:40 +01:00
damocles
3c09e14a76
drop the config and /applied mounts: an agent reads its config by cloning agent-configs, and the prompt says so
2026-11-01 17:02:12 +01:00
damocles
25295fd33f
drop the proposed config repo: applied seeds from forge main, and the dead pending-init topology list goes with it
2026-11-01 15:30:33 +01:00
atlas
08b8eb3f73
export an open-todos gauge and chart it on the agent dashboard
2026-11-01 15:24:33 +01:00
atlas
c273527219
outlast openbao's cold restart in the agent ca unit's start limit
2026-11-01 15:09:13 +01:00
atlas
8d31f0ad27
give openbao's own start the container's long timeout
2026-11-01 15:03:28 +01:00
atlas
868c57321c
order the store's readers after its container without wanting it
2026-11-01 13:35:52 +01:00
atlas
b1c828dbf8
let the store container's cold start finish, and order its readers after it
2026-11-01 13:35:52 +01:00
atlas
abf21683b9
agent trust bundle: retry the root fetch inside its start job so a dns blip at boot queues the harness instead of failing it
2026-11-01 13:35:01 +01:00
iris
fec66af1c8
agents board: a busiest-agents table, joined by agent
...
Five instant table-format queries, one per column, joined on the agent label,
sorted by turns. Checked in a real Grafana 13 against a mock Prometheus.
2026-11-01 13:21:09 +01:00
iris
ed86356928
egress board: join the host tables by labels, one row per group
...
labelsToFields and merge left a __name__ column and one row per stat on
the multi-stat table. joinByLabels gives a column per stat.
2026-11-01 13:12:31 +01:00
iris
728e1beb6a
egress board: the host tables merge their frames, so they are tables and not a series dropdown
...
A grouped stats query is one frame per group. Labels become columns,
then the frames merge into rows.
2026-11-01 13:12:31 +01:00
damocles
0912e2ca06
claude usage dashboard: count the token and cost panels as increase per step so review classifier sessions show up
2026-11-01 12:02:31 +01:00
atlas
2eb46c562b
back off the matrix daemon's restarts so a homeserver outage can't flood the store with logins
2026-11-01 11:36:55 +01:00
atlas
81a57a9f81
containers reach network-online only with a dhcp lease, and bao users wait for it
2026-11-01 11:06:41 +01:00
atlas
04f8683f99
force tuwunel's start limit off over the upstream value
2026-11-01 10:56:22 +01:00
atlas
c4924d227b
retry the authelia mint and the appservice render until the store answers, and let tuwunel retry
2026-11-01 10:47:50 +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
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