vpn: enrol the host in ymr.serviceSandbox (nix-config#934) #1968
No reviewers
Labels
No labels
backlog
bug
enhancement
in-progress
review
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ymrtech/nix-config!1968
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "kb/NCFG-934-enrol-vpn-sandbox"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kanban card nix-config#934 (child of the nix-config#928 decompose).
Enrols vpn in
ymr.serviceSandbox— the §9 step 2 cutover after mail (#932) and public (#933).Change:
hosts/vpn/default.nixsetsymr.serviceSandbox.enable = trueand enrols six non-foreground observability units with write paths measured on the host (systemctl show <unit> -p StateDirectory -p ExecStart):-remoteWrite.tmpDataPath)--save-state)prometheus-node-exportercarries the now-standardextraConfig.SystemCallFilter = [ "@system-service" "@clock" ]— itstimexcollector callsadjtimex(2), which@system-serviceexcludes (measured on vpn-mx, nix-config#909:sig=31 syscall=171, NRestarts=16 in 13 min).Deliberately NOT enrolled (later one-at-a-time cutovers): caddy (ingress writer), the CI runners (module exception register), postgres/victorialogs/victoriametrics (database + store writers), wg-quick-* (create interfaces), nix-temproot-reap (a oneshot — needs a by-timer cutover).
Eval evidence (run locally against this branch):
nix eval .#nixosConfigurations.vpn.config.ymr.serviceSandbox.enrolledUnits= the six units./etc/fleet-service-sandbox.policylists the six with their paths + the exception register.vlagent/vmagent/systemd-journal-uploadresolve toProtectSystem=strict+ theirReadWritePaths;prometheus-node-exporterkeeps its own module's keys (its ownProtectSystem=strict,ProtectHome=true) while the extraConfig adds@clock.vmagent+prometheus-node-exporterare already in vpn'sfleet.healthGate.criticalServices, so a switch that breaks either is caught by the deploy health gate and auto-rolled back.