The agent host's vault and SilverBullet (M5.4)
CI / checks (push) Skipped
CI / checks (pull_request) Successful in 1m50s
CI / e2e (pull_request) Successful in 4m45s

deploy/agent-host sets up the vault on nisse-host (infra/tofu#77) and
SilverBullet over it: the operator writes the vault, the agents' memory/
is read-only to it, and only the operator's Caddy reaches it, which
serves vault.dongar.net to the LAN. scripts/agent-host.sh installs and
checks it from here.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J5Utyfzw7gF7UhjRDEtjTk
This commit is contained in:
dongarandClaude Opus 5.5 committed 2026-10-18 20:55:21 +00:00
1 parent da9097a4dd
commit eafe1b9f4a
8 files changed
+342 -7

No files matched your search

+22 -7
View File
@@ -530,18 +530,33 @@ notes are written and read (L6.4).
items.
**M5.4 The operator's view.** *Pre-approved.* SilverBullet in its own container on
the vault: the operator's folders read-write, the agents' read-only (L10), behind
Authelia.
the vault: the operator's folders read-write, the agents' read-only (L10). Done
early on the agent host (`deploy/agent-host`), so the operator can keep material
for `nisse-ops` there now:
- The vault is `/srv/nisse/vault`. The operator owns its root and everything in
it but `memory/`, the agents'; `infrastructure/` is the operator's material
for `nisse-ops`. SilverBullet mounts the vault and, over it, `memory/`
read-only, and nothing else of the host but its own data.
- SilverBullet's version is pinned (the docker role updates images nightly).
Its accounts are its own, made in its setup wizard.
- Decided with the operator: behind their Caddy at `vault.dongar.net` for HTTPS,
the LAN only, with no Authelia (an internal instance; SilverBullet's own login
is enough), and its own instance rather than the operator's personal one, so
the vault stays one local copy with mounts enforcing its writers. On the host,
a `DOCKER-USER` rule lets only Caddy reach it.
### Phase 6 — Production
*Waiting on infrastructure (2026-10-13):* the agent host doesn't exist yet, and
Terraform isn't running; the operator is planning both, Terraform with
`nisse-ops`. Until then M5.4 and M6.1–M6.4 wait, and the build VMs stay made by
hand (Ubuntu 24 now, 26 soon), with `vm ready` for a rebuilt one's host key.
*Infrastructure (2026-10-18):* VMs are now made by PR to `infra/tofu`
(OpenTofu), and the agent host exists (M6.1), holding only the vault and
SilverBullet so far (M5.4). Until M6.2, the build VMs stay made by hand, with
`vm ready` for a rebuilt one's host key.
**M6.1 The agent host.** *Needs discussion.* Containers, volumes, snapshots,
per-agent networks (X1, X2, X4).
per-agent networks (X1, X2, X4). The host exists: `nisse-host` (infra/tofu#77,
2026-10-18; 2 cores, 4 GB, 100 GB, on VLAN 1, nightly Proxmox backups), requested
through nisse-dev's own quota to test that path; the operator may move it out of
the quota. It holds only the vault and SilverBullet so far (M5.4).
**M6.2 Build VMs by Terraform.** *Needs discussion.* The template, VLAN and egress
(D7, X2), collection when idle.