atlas
01b8387ab8
write secret and key files atomically with their final mode
...
Each of these wrote its file in place (or set the mode after the
write), so a write cut short by a kill or a full disk left a partial
file behind, and some secrets existed for a moment at umask mode:
- swarm-authelia/swarm-grafana/hive-forge/swarm-bao generators: a
partial file passed the `-s`/`-e` guard and was kept forever. They now
capture the value first and land it with `atomic_write_secret`.
- swarm-controller webhook secret: a truncated file failed the 64-hex
check and the secret was regenerated, out of step with the forge
hooks. It is now written 0600 to a sibling temp, fsynced, renamed.
- hive-c0re htpasswd: the temp is now fsynced and set 0644 before the
rename, like the sibling agents.conf writer, instead of relying on
c0re's umask.
- hivectl wg init: the private key is created 0400 in a temp and
renamed, instead of written at umask mode and chmod'ed after.
Closes #5068
2026-10-09 17:22:25 +02:00
..
agent_config
tool_groups: add test for the case-insensitive is_known match
2026-10-09 00:50:27 +02:00
dashboard
swarm-ci-runner: run the forge CI runner as a swarm service
2026-10-05 13:55:37 +02:00
forge
hive-c0re: bound the forge readiness probe
2026-10-09 17:06:00 +02:00
job_queue
hive-c0re: drop the remaining "mirror" wording for the removed push
2026-10-07 20:04:07 +02:00
lifecycle
hive-c0re: keep is_running unbounded, bound only the periodic status reads
2026-10-09 16:18:58 +02:00
socket_server
hive-c0re: widen nix stderr predicate to cover error:/evaluation warning:, add tests
2026-10-08 00:46:23 +02:00
stats
hive-c0re/swarm-*: drop clippy allows and dedupe unix_now + KV open_or_create
2026-10-09 10:25:48 +02:00
stores
hive-c0re: remove the approvals subsystem
2026-10-04 23:55:32 +02:00
workers
hive-c0re: bound the read-only container listing and systemctl status calls
2026-10-09 15:46:55 +02:00
actions.rs
hive-c0re: remove the approvals subsystem
2026-10-04 23:55:32 +02:00
container_view.rs
hive-c0re: keep is_running unbounded, bound only the periodic status reads
2026-10-09 16:18:58 +02:00
coordinator.rs
container stats: measure agent disk usage through hive-priv, unknown on failure
2026-10-05 18:56:46 +02:00
dashboard_events.rs
hive-c0re: remove the approvals subsystem
2026-10-04 23:55:32 +02:00
gateway_nginx.rs
write secret and key files atomically with their final mode
2026-10-09 17:22:25 +02:00
loose_ends.rs
hive-c0re: remove the approvals subsystem
2026-10-04 23:55:32 +02:00
main.rs
hive-c0re: validate forge env at startup; char-safe short revs
2026-10-09 10:51:39 +02:00
matrix.rs
hive-c0re: stop silently dropping errors on credential/marker writes
2026-10-09 10:24:15 +02:00
meta.rs
swarm CA: describe the store's pki root as the only anchor in docs and comments
2026-10-05 21:17:10 +02:00
migrate.rs
hive-c0re: remove the approvals subsystem
2026-10-04 23:55:32 +02:00
paths.rs
hive-c0re: stop silently dropping errors on credential/marker writes
2026-10-09 10:24:15 +02:00
priv_client.rs
hive-c0re: bound the read-only container listing and systemctl status calls
2026-10-09 15:46:55 +02:00
secret_file.rs
hive-c0re: stop silently dropping errors on credential/marker writes
2026-10-09 10:24:15 +02:00
server.rs
swarm-ci-runner: run the forge CI runner as a swarm service
2026-10-05 13:55:37 +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: keep is_running unbounded, bound only the periodic status reads
2026-10-09 16:18:58 +02:00
swarm_notices.rs
swarm: present tense + no-queue-coordinates wording
2026-09-13 12:01:58 +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: remove the approvals subsystem
2026-10-04 23:55:32 +02:00
test_env.rs
test(hive-c0re): one crate-wide lock for env-mutating tests
2026-08-19 01:38:54 +02:00