hivectl: add agent <name> watch to follow live events from the CLI
This commit is contained in:
parent
657d1b5061
commit
9d5c7a7f7e
13 changed files with 230 additions and 16 deletions
|
|
@ -52,6 +52,26 @@ pub fn agent_state_dir(name: &Ident) -> PathBuf {
|
|||
// nix: read by the gateway container's nginx (hive-gateway.nix) — must match.
|
||||
pub const GATEWAY_HTPASSWD: &str = "/var/lib/hyperhive/gateway/gateway.htpasswd";
|
||||
|
||||
/// `/run/hive-agent` — per-agent runtime socket dir root (web UI unix
|
||||
/// socket + bound marker), one subdir per agent. The gateway's nginx
|
||||
/// `proxy_pass`es to `agent_web_socket(name)` directly; `hivectl` dials
|
||||
/// the same socket for host-side tooling that needs to talk to a running
|
||||
/// agent's web UI without going through the gateway (e.g. `agent <name>
|
||||
/// watch`).
|
||||
// nix: agent container bind-mount / `RuntimeDirectory` (the harness nix modules) — must match.
|
||||
pub const AGENT_SOCKET_DIR: &str = "/run/hive-agent";
|
||||
|
||||
/// Per-agent web UI unix socket path — `AGENT_SOCKET_DIR/<name>/web.sock`.
|
||||
/// Same socket the gateway's nginx upstream and the harness's
|
||||
/// `HIVE_WEB_SOCKET` bind both derive from; see
|
||||
/// `docs/gateway.md::Per-agent unix-socket upstream`.
|
||||
#[must_use]
|
||||
pub fn agent_web_socket(name: &Ident) -> PathBuf {
|
||||
PathBuf::from(AGENT_SOCKET_DIR)
|
||||
.join(name.as_str())
|
||||
.join("web.sock")
|
||||
}
|
||||
|
||||
/// nspawn machine-name prefix for agent containers (`h-<name>`). A single
|
||||
/// `starts_with(AGENT_PREFIX)` filter enumerates managed containers.
|
||||
pub const AGENT_PREFIX: &str = "h-";
|
||||
|
|
|
|||
Loading…
Reference in a new issue