# The staging template — a thin, creds-free, server-class seed (#81, the # re-cut of #69's layering): Debian 13, the 'ops' user, tmux and rig. The # server posture — docker, sshd hardening — is rig's job: box auto-runs # 'rig bootstrap staging' after mint (heavy-duty/rig#31). The tailnet # workload join holds a key and therefore STAYS operator-run: # box shell # then: sudo rig bootstrap workload --hostname # KEY="value" only. Parsed against an allowlist, never sourced; there is no # key for a network or a security flag, on purpose — the shared box-net # profile is the placement contract and no template can weaken it. # The two boot demands (#68): the VM is this box's trust boundary and its # guest runs docker, so no container fallback (BOX_REQUIRE_VM); and a server # must return from a host reboot without an operator (BOX_AUTOSTART). # BOX_USER must match the user user-data.yaml creates (the duplication is # deliberate and by hand) — and it is the tenant user the rig role converges # (rig dies loudly if the seed did not create it). BOX_DESCRIPTION="Server-class Debian 13, creds-free — box mints, rig converges, the join stays yours" BOX_IMAGE="images:debian/13/cloud" BOX_USER="ops" BOX_CPU="4" BOX_MEMORY="8GiB" BOX_DISK="60GiB" BOX_REQUIRE_VM="1" BOX_AUTOSTART="1" BOX_BOOTSTRAP_ROLE="staging"