fix(#2368): AGENT_RUNTIME_ROOT → priv_proto; fix stale priv comment; cross-ref lockstep
- Add `priv_proto::AGENT_RUNTIME_ROOT` to hive-sh4re as the shared
single source for the per-agent runtime root path. hive-priv now
imports it instead of carrying a local const with a stale comment
that still pointed at `coordinator::AGENT_RUNTIME_ROOT` (removed in
#2285/#2367 — moved to `paths::agent_runtime_root()`).
- Add 'must stay in sync' cross-ref comments on both sides of the
privsep boundary:
· priv_proto::META_DIR ↔ paths::meta_root()
· priv_proto::AGENT_STATE_ROOT ↔ paths::AGENTS_ROOT
· priv_proto::AGENT_RUNTIME_ROOT ↔ paths::RUNTIME_ROOT + agent_runtime_root()
· paths::AGENTS_ROOT ↔ priv_proto::AGENT_STATE_ROOT
· paths::RUNTIME_ROOT ↔ priv_proto::AGENT_RUNTIME_ROOT
The dep graph prevents a shared import (hive-sh4re is a leaf; both
hive-c0re and hive-priv depend on it but not each other), so the
lockstep comments are the enforced contract.
This commit is contained in:
parent
4745274fca
commit
dcd559e7c7
3 changed files with 19 additions and 7 deletions
|
|
@ -101,14 +101,26 @@ impl std::str::FromStr for InfraContainer {
|
|||
|
||||
/// Host path of the meta flake. The flake ref for agent `<name>` is
|
||||
/// `{META_DIR}#{name}`, derived by `hive-priv` — never passed over the wire.
|
||||
/// Must stay in sync with `hive-c0re::paths::meta_root()` (`STATE_ROOT +
|
||||
/// "/meta"`); the privsep boundary prevents importing across the crate.
|
||||
pub const META_DIR: &str = "/var/lib/hyperhive/meta";
|
||||
|
||||
/// Root of per-agent state directories on the host.
|
||||
/// Subdirectory layout: `<AGENT_STATE_ROOT>/<name>/state/<file>`.
|
||||
/// Used by `WriteAgentStateFile` to derive the write path so the
|
||||
/// exact path is never passed over the wire.
|
||||
/// Must stay in sync with `hive-c0re::paths::AGENTS_ROOT`; the privsep
|
||||
/// boundary prevents importing across the crate.
|
||||
pub const AGENT_STATE_ROOT: &str = "/var/lib/hyperhive/agents";
|
||||
|
||||
/// Root of per-agent runtime directories on the host (regenerated each boot
|
||||
/// by `hive-priv` tmpfiles.d; not persistent). Used by `hive-priv` when
|
||||
/// creating per-agent subdirs via `nsenter` / tmpfiles.
|
||||
/// Must stay in sync with `hive-c0re::paths::agent_runtime_root()`
|
||||
/// (`RUNTIME_ROOT + "/agents"`); the privsep boundary prevents importing
|
||||
/// across the crate.
|
||||
pub const AGENT_RUNTIME_ROOT: &str = "/run/hyperhive/agents";
|
||||
|
||||
/// Output format for `ReadContainerJournal`. Maps to journalctl
|
||||
/// `--output=<...>`. Restricted to the two formats hive callers use so
|
||||
/// the wire type can't smuggle an arbitrary `--output` value.
|
||||
|
|
|
|||
Loading…
Reference in a new issue