fix(wp-0004): correct T05 scope — server backup is Gitea+Zulip via railiance-infra
Some checks failed
railiance-tests / smoke (push) Has been cancelled
Some checks failed
railiance-tests / smoke (push) Has been cancelled
The railiance-backup script targets a developer workstation (custodian DB in Docker + Claude config). It is not applicable to the server. Server backup (Gitea repos + Zulip data) belongs in railiance-infra as an Ansible role. T05 now documents this correctly and blocks wiring up a cron job until the right script exists. Also removed the incorrectly installed cron job that called the broken script. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -123,7 +123,7 @@ in the Nextcloud file drop.
|
||||
|
||||
---
|
||||
|
||||
### T05 — Verify or install cron job
|
||||
### T05 — Server backup: Gitea data and Zulip chat
|
||||
|
||||
```task
|
||||
id: T05
|
||||
@@ -132,19 +132,29 @@ priority: medium
|
||||
state_hub_task_id: "2d5acff7-4a4e-4ddd-ad06-08237ad3dac8"
|
||||
```
|
||||
|
||||
Confirm that the daily 02:00 cron job is installed and has run at least once:
|
||||
**Scope correction (2026-03-10):** The original task assumed the `railiance-backup`
|
||||
script in `tools/cmd/railiance-backup` applied here. It does not — that script
|
||||
is for a developer workstation (custodian DB in Docker + Claude config) and is
|
||||
unrelated to the server.
|
||||
|
||||
```bash
|
||||
crontab -l | grep railiance
|
||||
cat ~/.cache/railiance/backup.log | tail -20
|
||||
```
|
||||
The server's safety net must protect:
|
||||
|
||||
If missing, install:
|
||||
```bash
|
||||
(crontab -l 2>/dev/null; echo "0 2 * * * /home/worsch/railiance-cluster/bin/railiance backup >> ~/.cache/railiance/backup.log 2>&1") | crontab -
|
||||
```
|
||||
| Asset | Method |
|
||||
|---|---|
|
||||
| Gitea repositories + DB | `k3s kubectl exec` into gitea pod → `gitea dump` |
|
||||
| Zulip chat data | Zulip's built-in export or volume snapshot |
|
||||
|
||||
**Done when:** cron is listed and log shows a successful run.
|
||||
This work belongs in **railiance-infra** (S1 — OS & Provisioning layer) as an
|
||||
Ansible role or playbook, not here. A cron job on the server should call that
|
||||
script once it exists.
|
||||
|
||||
**Do not** wire up a cron job that calls the existing `bin/railiance backup` —
|
||||
that script targets Docker containers that do not exist on this server.
|
||||
|
||||
**Done when:**
|
||||
1. A backup playbook/role exists in `railiance-infra` covering Gitea + Zulip
|
||||
2. It is deployed via Ansible and a cron job on the server calls it daily
|
||||
3. At least one successful backup run is verified in the log
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user