C1: borgmatic shower SQLite dump via ssh to ringtail
The shower dump hook referenced kubectl --context=k3s-ringtail, but indri's kubeconfig deliberately doesn't carry the ringtail credentials. Since PR #349 (2026-05-11), nightly borgmatic runs have failed at the before_backup hook, aborting both sifaka-borg-backups and borgbase-offsite. Rewrite the dump to ssh into ringtail and run k3s kubectl there. /etc/rancher/k3s/k3s.yaml on ringtail is mode 644, so no sudo is needed; the ssh user (eblume) reads it directly. Dump file is created in the pod via sqlite3.backup, copied to ringtail's host filesystem via k3s kubectl cp, then scp'd back to indri. Template gains a `ssh_host` field on dump entries — when set, uses the ssh path; when absent (as for mealie), uses local kubectl with the existing `context` field. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
947e4310c3
commit
0a69a1d579
5 changed files with 112 additions and 5 deletions
10
docs/changelog.d/fix-borgmatic-shower-via-ssh.bugfix.md
Normal file
10
docs/changelog.d/fix-borgmatic-shower-via-ssh.bugfix.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
Fix nightly borgmatic backups failing for 2 days. The shower SQLite
|
||||
dump hook referenced `kubectl --context=k3s-ringtail`, but indri's
|
||||
kubeconfig deliberately doesn't carry the ringtail credentials. The
|
||||
`before_backup` hook's failure aborted the entire run, taking out
|
||||
*both* the local sifaka repo and the BorgBase offsite. Rewrite the
|
||||
shower dump to ssh into ringtail and run `k3s kubectl` there
|
||||
(k3s.yaml on ringtail is mode 644, so no sudo needed); fetch the
|
||||
dump file back via scp. The borgmatic role's k8s-dump template now
|
||||
branches on a new `ssh_host` field — entries without it keep using
|
||||
local kubectl with the existing `context` field (e.g. mealie).
|
||||
Loading…
Add table
Add a link
Reference in a new issue