hyperhive/hive-c0re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 353cdd9264 swarm: carry the agent queue credential from the host into the harness
hive-c0re stats the two files `swarm-bao-queue-agent` lands and forwards
them into every agent container as systemd credentials, and the harness
resolves a `QueueConfig` out of them at boot. Nothing connects yet.

A credential and not a bind mount, and the mode is what forces it: the
secret is root:0600 and the harness runs as the unprivileged agent user,
so a bind would deliver a file that user cannot open. nspawn's
`--load-credential` is read by the container manager as root and
re-exposed under the consuming unit's own `User=`. hive-c0re never reads
the bytes either way, which is just as well — it runs as `hive-core`.

Absent files stay legal and become visible rather than silent: the
publisher lives on the authelia host and mints on its first boot, so
"nothing at that path" is the ordinary early state of a swarm. c0re
forwards nothing and logs why; the harness logs that it has no queue.

The client id comes out of the delivered file rather than being rebuilt
from `hiveName` in nix, which is the agreement `swarm-secret-client`
states. `QueueConfig::from_env` wants it as a value, so the harness reads
the file itself — assigning the variable instead would need
`std::env::set_var` in a process that has already spawned threads.

Refs #3805
2026-09-13 11:12:19 +02:00
..
agent_config remove as_str() legacy wrappers, callers use .into() directly 2026-09-12 00:06:31 +02:00
dashboard remove as_str() legacy wrappers, callers use .into() directly 2026-09-12 00:06:31 +02:00
forge refs: repoint seven comments that name files which have moved 2026-09-02 08:58:31 +02:00
job_queue job_queue: fix dangling rustdoc intra-doc link left by strum conversion 2026-09-12 00:06:31 +02:00
lifecycle swarm: carry the agent queue credential from the host into the harness 2026-09-13 11:12:19 +02:00
socket_server remove as_str() legacy wrappers, callers use .into() directly 2026-09-12 00:06:31 +02:00
stats AgentStatusRow: carry active_model + set_status text/timestamp 2026-09-07 14:08:30 +02:00
stores remove the two remaining as_str-style wrappers (DeliveryKind::parse, Wanted::parse) 2026-09-12 00:06:31 +02:00
workers remove as_str() legacy wrappers, callers use .into() directly 2026-09-12 00:06:31 +02:00
actions.rs remove as_str() legacy wrappers, callers use .into() directly 2026-09-12 00:06:31 +02:00
container_view.rs add per-agent url to host.sock agent status rows 2026-09-07 20:30:38 +02:00
coordinator.rs remove as_str() legacy wrappers, callers use .into() directly 2026-09-12 00:06:31 +02:00
dashboard_events.rs remove the 1NFR4 dashboard panel and the now-writer-less audit log 2026-08-31 00:18:21 +02:00
gateway_nginx.rs gateway: $connection_upgrade does not come from recommendedProxySettings 2026-09-02 09:04:24 +02:00
loose_ends.rs hive-sh4re: one saturating_age for every loose-end producer 2026-09-02 14:20:25 +02:00
main.rs hive-c0re: publish each agent's status upward to the swarm queue (#3341 item 1) 2026-09-02 09:01:38 +02:00
matrix.rs docs: restructure into topic subdirectories, collapse duplicated index 2026-09-02 01:55:37 +02:00
meta.rs swarm: carry the agent queue credential from the host into the harness 2026-09-13 11:12:19 +02:00
migrate.rs docs: repoint eighteen pointers whose section no longer exists 2026-09-02 09:00:23 +02:00
paths.rs hive-matrix: reject an override of registrationTokenFile instead of desyncing hive-c0re 2026-09-07 15:39:33 +02:00
priv_client.rs remove hive-level infra-container restart from web ui and agents 2026-08-31 00:18:21 +02:00
server.rs host.sock: push a live agent-status stream instead of poll-only 2026-09-07 18:43:47 +02:00
snapshot_push.rs refactor(#2862): one snapshot store per swarm, not one per peer 2026-07-31 22:15:37 +02:00
swarm_agent_status.rs hive-c0re: publish each agent's status upward to the swarm queue (#3341 item 1) 2026-09-02 09:01:38 +02:00
swarm_notices.rs swarm-queue-based lifecycle notices, replacing push_todo(MANAGER_AGENT) 2026-08-24 14:34:37 +02:00
swarm_queue.rs swarm-queue-based lifecycle notices, replacing push_todo(MANAGER_AGENT) 2026-08-24 14:34:37 +02:00
swarm_status.rs hive-c0re: converge when the controller republishes, not only at boot 2026-09-03 00:36:57 +02:00
test_env.rs test(hive-c0re): one crate-wide lock for env-mutating tests 2026-08-19 01:38:54 +02:00
webhook_secret.rs chore(#2510): bump indicatif/tower-http/hmac/sha2 to latest majors 2026-07-16 10:42:30 +02:00