docs: migrate reminder/gateway/crash-watch/migrate prose to docs (#715)
This commit is contained in:
parent
34cc68bdfb
commit
12a26e6cb0
7 changed files with 75 additions and 123 deletions
|
|
@ -1,30 +1,9 @@
|
|||
//! Runtime nginx include-file generator for the gateway's per-agent
|
||||
//! `/agent/<name>/` location blocks.
|
||||
//!
|
||||
//! Writes `/var/lib/hyperhive/gateway/agents.conf` on every topology change.
|
||||
//! The gateway container bind-mounts `/var/lib/hyperhive/gateway/` (NOT the
|
||||
//! whole parent dir) at `/run/hive-state/`; nginx includes
|
||||
//! `/run/hive-state/agents.conf`. After each write, c0re triggers
|
||||
//! `nginx -s reload` inside the gateway container via
|
||||
//! `systemd-run --machine=hive-gateway` from the host — no `nixos-rebuild
|
||||
//! switch` needed when agents start, stop, or flip `useUnixSocket`.
|
||||
//! (A path unit inside the container was tried first but `IN_MOVED_TO`
|
||||
//! from the atomic rename does not cross the nspawn mount-namespace
|
||||
//! boundary — see `docs/gateway.md` for the failure analysis.)
|
||||
//!
|
||||
//! Upstream selection mirrors `agent_sockets::build_map`: an agent
|
||||
//! gets a UDS upstream when its `.bound` marker exists (harness has
|
||||
//! bound the unix socket); otherwise falls back to the deterministic
|
||||
//! TCP port from `lifecycle::agent_web_port`. Proxy headers are
|
||||
//! emitted in full so the generated file is self-contained nginx
|
||||
//! config — no dependency on which `recommendedProxySettings` knobs
|
||||
//! the host config has on.
|
||||
//!
|
||||
//! `write()` is idempotent: if the rendered body equals what's already
|
||||
//! on disk, the rename is skipped and the path unit doesn't fire.
|
||||
//! Same atomic `<path>.tmp` + `rename()` shape as `agent_ports` /
|
||||
//! `agent_sockets` — a crashing c0re process never leaves a partial
|
||||
//! file the gateway's nginx would fail to parse.
|
||||
//! `/agent/<name>/` location blocks. Writes
|
||||
//! `/var/lib/hyperhive/gateway/agents.conf` on every topology change.
|
||||
//! UDS vs TCP upstream selection, reload trigger (`systemd-run
|
||||
//! --machine=hive-gateway`), and idempotency:
|
||||
//! `docs/gateway.md::Per-agent unix-socket upstream`.
|
||||
|
||||
use anyhow::{Context, Result};
|
||||
use std::fmt::Write as _;
|
||||
|
|
|
|||
Loading…
Reference in a new issue