coulomb-social/deploy/backup/coulomb-social-paired-backup.service
tegwick 267d502d93
Some checks failed
Use-case regression gate / usecase-regressions (push) Failing after 6m16s
Implement durable recurring backup alert delivery candidate
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a18e2d-f513-7742-b8e7-12af0b744ff3
2026-10-31 10:19:16 +01:00

31 lines
1.3 KiB
Desktop File

[Unit]
Description=Coherent encrypted coulomb-social database and content backup
After=network-online.target k3s.service
Wants=network-online.target
OnFailure=coulomb-social-backup-alert@%n.service
[Service]
Type=oneshot
User=root
UMask=0077
StateDirectory=coulomb-social-backup
StateDirectoryMode=0700
# Owner-delivered credential references only; values never enter this repo.
EnvironmentFile=/etc/coulomb-social-backup/primary.env
# Public recipient only, delivered after independent Coulomb custody verification.
EnvironmentFile=/etc/coulomb-social-backup/recipient.env
# Catch up an unmirrored primary before allowing another unattended capture.
# New helper/runtime installation remains subject to the operating review.
ExecStartPre=/opt/railiance-platform/backup-venv/bin/python /opt/coulomb-social-backup/mirror-paired-backup.py --execute
ExecStart=/usr/bin/python3 /opt/coulomb-social-backup/paired-backup.py --execute
ExecStartPost=/opt/railiance-platform/backup-venv/bin/python /opt/coulomb-social-backup/mirror-paired-backup.py --execute
TimeoutStartSec=30min
TimeoutStopSec=5min
KillMode=mixed
# Candidate operating profile, also lowered by each writer before execution.
LimitFSIZE=1G
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ReadWritePaths=/var/lib/coulomb-social-backup
ProtectHome=true