refactor(#2352): move hivectl-shared layout consts to hive-host-sock
This commit is contained in:
parent
6aa7c9613b
commit
cce35c20e6
3 changed files with 57 additions and 35 deletions
|
|
@ -25,10 +25,14 @@ use tokio::process::Command;
|
|||
|
||||
use crate::coordinator::{AgentPaths, HiveEnv};
|
||||
|
||||
/// Sub-agent container prefix. `nixos-container` caps the total container name
|
||||
/// at 11 chars (it gets encoded into network interface names), so the agent
|
||||
/// name itself can be at most `MAX_AGENT_NAME` chars.
|
||||
pub const AGENT_PREFIX: &str = "h-";
|
||||
// `AGENT_PREFIX` (`h-`) + `container_name` are shared with the host-side
|
||||
// `hivectl` CLI, so they live in `hive-host-sock`; re-exported here so this
|
||||
// module stays the daemon's facade for its own callsites.
|
||||
pub use hive_host_sock::{AGENT_PREFIX, container_name};
|
||||
|
||||
/// Max agent-name length. `nixos-container` caps the total container name at
|
||||
/// 11 chars (it gets encoded into network interface names) and `AGENT_PREFIX`
|
||||
/// (`h-`) takes 2, so the agent name itself is at most `MAX_AGENT_NAME` chars.
|
||||
pub const MAX_AGENT_NAME: usize = 9;
|
||||
/// Logical name of the manager agent (broker recipient, state-dir key,
|
||||
/// meta flake attribute). All persistent state lives under `ruth/`.
|
||||
|
|
@ -124,11 +128,6 @@ pub fn bridge_gateway_ip(subnet_cidr: &str) -> Option<String> {
|
|||
Some(ip_str.to_owned())
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn container_name(name: &str) -> String {
|
||||
format!("{AGENT_PREFIX}{name}")
|
||||
}
|
||||
|
||||
/// Read the agent user's `(uid, gid)` from the container's nixos-managed
|
||||
/// `/etc/passwd`. Returns `None` when the container hasn't been built
|
||||
/// yet, the passwd file is unparseable, or the agent user is missing
|
||||
|
|
|
|||
Loading…
Reference in a new issue