docs(gateway): describe what is, not what changed

Per review: docs represent current state. Every "used to" / "no longer"
clause this branch introduced is gone — including the History section in
network.md, which was a whole subsection about a sync mechanism that
doesn't exist.

Where the removed clause was carrying a real constraint, the constraint
stays and is stated in the present tense instead of as a delta: nothing
narrows what the gateway's nginx can reach except the directory
permissions in front of a socket, and nothing bounds `ReloadGatewayNginx`
except the hard-coded unit name. Those read as rules now rather than as
the story of how they came to be rules.
This commit is contained in:
atlas 2026-08-11 18:09:51 +02:00
commit 98d895cf9e
15 changed files with 77 additions and 146 deletions

View file

@ -92,10 +92,9 @@ pub enum InfraContainer {
/// What an [`InfraContainer`] resolves to on the host — i.e. the thing a
/// lifecycle verb actually acts on.
///
/// The gateway is why this exists: its nginx + dnsmasq were lifted out of
/// an nspawn container and onto the host, so "restart the gateway" is a
/// plain host unit now. The operator verb is unchanged; only its target
/// moved. Everything else is still a container.
/// The gateway is why this exists: its nginx + dnsmasq are host
/// services, so "restart the gateway" means a plain host unit. Every
/// other variant is a container.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum InfraTarget {
/// An nspawn container, controlled via `container@<name>.service` and
@ -433,17 +432,13 @@ pub enum PrivRequest {
/// - otherwise → `systemctl start nginx`
///
/// Requires root because hive-c0re runs as the unprivileged
/// `hive-core` user and cannot act on a system unit. It used to be
/// root for a *different* reason — `--machine=hive-gateway` entering
/// the container's namespace over the machine bus — and that reason
/// died with the container: nginx is a host unit now. The
/// requirement survived the move; its justification did not.
/// `hive-core` user and cannot act on a system unit.
///
/// ⚠️ The unit name is **not** a parameter and must stay that way.
/// `--machine=` was doing double duty — transport *and* scope — so
/// dropping it removed the containment along with the namespace hop.
/// Hard-coding `nginx` is what replaces it: a caller cannot name the
/// unit, so this verb cannot be steered at any other service.
/// nginx is a host unit, so nothing else narrows what this verb can
/// touch: hard-coding `nginx` is the entire containment. A caller
/// cannot name the unit, so this verb cannot be steered at any other
/// service.
ReloadGatewayNginx,
// --- Forge admin CLI ---