Warm-standby: snapshot-ship automation home-1 -> ser8 (sqlite/kine + local-path PVs) #261

Closed
opened 2026-06-07 05:27:12 +00:00 by coilysiren · 1 comment
Owner

Warm-standby follow-up from #99. Automate scheduled state replication from home-1 (kai-server) to home-2 (ser8) over Tailscale. RPO = snapshot interval.

Key constraint: kai-server's k3s runs on sqlite/kine, not embedded etcd (confirmed 2026-06-06; scripts/k3s-start.sh has no --cluster-init). So k3s etcd-snapshot does not apply. Replication is:

  • the sqlite datastore (/var/lib/rancher/k3s/server/db/state.db + WAL) captured consistently (sqlite .backup/online backup, not a raw cp of a live file), plus
  • explicit PV backups — kai-server uses local-path-provisioner (node-pinned PVs), so PV data is not in the datastore and must be shipped separately.

Ship to ser8 over the tailnet on a timer (systemd timer or k3s CronJob). Decide retention + interval (drives RPO). Depends on ser8 being a cluster member (#258).

Warm-standby follow-up from #99. Automate scheduled state replication from home-1 (kai-server) to home-2 (ser8) over Tailscale. RPO = snapshot interval. **Key constraint:** kai-server's k3s runs on **sqlite/kine, not embedded etcd** (confirmed 2026-06-06; `scripts/k3s-start.sh` has no `--cluster-init`). So `k3s etcd-snapshot` does **not** apply. Replication is: - the sqlite datastore (`/var/lib/rancher/k3s/server/db/state.db` + WAL) captured consistently (sqlite `.backup`/online backup, not a raw cp of a live file), plus - explicit PV backups — kai-server uses local-path-provisioner (node-pinned PVs), so PV data is **not** in the datastore and must be shipped separately. Ship to ser8 over the tailnet on a timer (systemd timer or k3s CronJob). Decide retention + interval (drives RPO). Depends on ser8 being a cluster member (#258).
Author
Owner

Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag: burndown-2026-06.

Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag: `burndown-2026-06`.
coilysiren 2026-06-17 08:22:34 +00:00
Sign in to join this conversation.
No description provided.