feat: add Docker backup and restore workflow - #233
Conversation
|
Hey @Optic00 - nice! I will take the md file and put it on the official docs (which I still have to provide the official repo for) One minor thing: I dont think $1 resolves to anything here? |
|
Good catch. The previous form did resolve |
|
All good, do you want this to be merged? The PR is still in Draft state |
|
Yes, please merge it. I kept it in draft until the real Linux Docker validation was complete. That E2E run has now passed for both SQLite and PostgreSQL 17 using an immutable digest of the current
I will mark the PR ready now. One related question: |
Summary
SSO_SECRET/SESSION_SECRETSupported scope
This intentionally rejects replicas, external PostgreSQL connection strings, SSH-enabled persistence, command-line path overrides, and configured persistent paths outside the data volume. Operators must use the same Windshift image/schema generation and PostgreSQL major version for restore unless a separate migration plan has been verified.
Validation
bash -n deploy/backup.shbash -n deploy/test-backup.shenv -u TMPDIR bash deploy/test-backup.shTMPDIR=/tmp bash deploy/test-backup.shenv PATH=/usr/bin:/bin:/usr/sbin:/sbin /bin/bash deploy/test-backup.shgit diff --check origin/main...HEADmainimage:/datamarker were backed up, mutated, and restored; the baseline returned and post-backup data disappeared/datarollback passed, with a nonempty logicaldatabase.dump--forceand restore from a tampered backup were rejected without changing the live test dataRefs #195