hyperhive/hive-sh4re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 9d1f5ebe76 feat(#2290): maintain /etc/tmpfiles.d/hyperhive-agents.conf for boot safety
Root cause of the boot outage: container@h-* units try to start before
hive-c0re reaches ensure_runtime, so bind-mount source dirs are missing.

Fix: hive-c0re (via hive-priv, which runs as root) writes
/etc/tmpfiles.d/hyperhive-agents.conf whenever the agent set changes.
systemd-tmpfiles-setup.service (sysinit.target) reads it at every boot
BEFORE any container units start, pre-creating:

  /run/hyperhive/agents/<name>  — MCP socket dir (bind -> /run/hive)
  /run/hive-agent/<name>        — web socket dir (bind -> /run/hive-agent)

This alone removes the outage class: even if hive-c0re is slow to start,
the bind-mount sources exist and container units can activate.

Added:
- PrivRequest::SyncAgentTmpfiles { agents } in hive-sh4re
- sync_agent_tmpfiles() in hive-priv: generates content, writes atomically,
  calls systemd-tmpfiles --create to apply immediately
- priv_client::sync_agent_tmpfiles() wrapper
- lifecycle::sync_tmpfiles() best-effort helper (list + priv call)
- Call sites: hive-c0re startup, handle_spawn success, destroy success
2026-07-09 00:52:32 +02:00
..
assets.rs fix(forge): review fixes for the forgejo-api port 2026-07-07 14:42:43 +02:00
jobs.rs feat(hivectl): queue-routed lifecycle verbs with wait + DAG progress 2026-07-06 22:30:49 +02:00
lib.rs feat(hivectl): queue-routed lifecycle verbs with wait + DAG progress 2026-07-06 22:30:49 +02:00
paths.rs refactor(#2077): drop impl-history from hive-sh4re asset/path comments 2026-06-29 00:51:38 +02:00
priv_proto.rs feat(#2290): maintain /etc/tmpfiles.d/hyperhive-agents.conf for boot safety 2026-07-09 00:52:32 +02:00
wire_time.rs refactor: single now_unix in hive_sh4re::wire_time 2026-07-06 21:58:32 +02:00