feat(server-backup): one-shot install script for ops-agent wiring
Adds deploy/server-backup/install-flows.sh — een idempotent installer die de ops-agent-zijde van de server-backup feature aan elkaar plakt: 1. wrappers/*.sh → /srv/backups/scripts/wrappers/ 2. flows.example/server_backup_* → /etc/ops-agent/flows/ 3. commands.yml.example commands → /etc/ops-agent/commands.yml (append, met backup) 4. NOPASSWD-regels voor wrappers → /etc/sudoers.d/ops-agent (visudo-validated) 5. systemctl restart ops-agent 6. systemctl enable --now server-backup.timer Wat het bewust *niet* doet (staat in scriptheader): restic env/password aanmaken, repos initialiseren, base-scripts of systemd-units plaatsen — die secrets-stappen blijven handwerk per README "Snelle installatie". Re-run safe: - cmp-check per file in stappen 1-2 (skip als identiek) - grep-check op command-name in stap 3 (skip als al aanwezig) - visudo-validatie in stap 4 voorkomt lockout bij syntax-fout - backups van mutaties: commands.yml.bak.<ts> en sudoers.d/ops-agent.bak.<ts> Regex-fix t.o.v. eerste handmatige run vandaag: command-block-extractie gebruikt nu [a-z0-9_]+ ipv [a-z_]+, zodat namen met digits (restic_*_b2) als losse blocks gezien worden. Het oude pattern miste ze maar sleepte ze toevallig mee in het vorige block — eindresultaat correct, output misleidend. Nieuwe versie faalt expliciet als een command echt ontbreekt. README aangevuld met sectie "Ops-agent wiring (na stap 1-7)" die naar het script verwijst. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
f01bd555d1
commit
2b03ee02e0
2 changed files with 279 additions and 0 deletions
|
|
@ -63,6 +63,21 @@ sudo systemctl start server-backup.service
|
|||
journalctl -u server-backup.service -f
|
||||
```
|
||||
|
||||
### Ops-agent wiring (na stap 1-7)
|
||||
|
||||
Voor de **/flows/server-backup**-pagina en **/settings/backups** in het dashboard
|
||||
moet ops-agent ook weten van de wrappers, commands, flow-YAMLs en de
|
||||
NOPASSWD-sudoers-regels. Dat doet een idempotent install-script:
|
||||
|
||||
```bash
|
||||
sudo bash deploy/server-backup/install-flows.sh
|
||||
```
|
||||
|
||||
Wat het regelt (en wat het bewust **niet** doet) staat in de header van het
|
||||
script. Re-run safe; backups van `commands.yml` en `sudoers.d/ops-agent` worden
|
||||
bewaard met `.bak.<timestamp>`-suffix. Daarna is de UI op
|
||||
`/flows/server-backup` direct te gebruiken.
|
||||
|
||||
## Verifiëren
|
||||
|
||||
```bash
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue