feat(b5): add systemd unit files for CI periodic tasks (Linux host)

Implements the repo-side artifacts of Phase B5 (plans/implementation-plan-A-B.md). Creates 5 .service + .timer pairs under deploy/systemd/ that replicate the periodic tasks registered on Windows by scripts/Register-CIScheduledTasks.ps1:

  - ci-cleanup-orphans       -> python -m ci_orchestrator vm cleanup --max-age-hours 6 (every 6h + boot)

  - ci-retention-policy      -> pwsh Invoke-RetentionPolicy.ps1 (daily 03:00)

  - ci-watch-disk-space      -> python -m ci_orchestrator monitor disk (every 15min)

  - ci-watch-runner-health   -> python -m ci_orchestrator monitor runner (every 15min)

  - ci-backup-template       -> pwsh Backup-CITemplate.ps1 (weekly Sun 02:00, NEW)

Includes deploy/systemd/README.md with mapping table, install/test/rollback instructions, and PowerShell Core install note for the two PS-only scripts. Plan checklist updated; B5-closeout.md added. Hardware install steps (systemctl enable + smoke) remain user responsibility on the Linux host.
This commit is contained in:
2026-05-14 18:13:55 +02:00
parent 4e0b796f81
commit 0bd3b52fb5
14 changed files with 390 additions and 19 deletions
+15
View File
@@ -0,0 +1,15 @@
[Unit]
Description=Local CI/CD — periodic timer for ci-watch-disk-space.service
Documentation=file:///opt/ci/local-ci-cd-system/deploy/systemd/README.md
[Timer]
# Equivalent to Windows Task Scheduler:
# New-ScheduledTaskTrigger -Once -At '00:00' -RepetitionInterval 15min
OnBootSec=5min
OnUnitActiveSec=15min
Persistent=true
AccuracySec=30s
Unit=ci-watch-disk-space.service
[Install]
WantedBy=timers.target