k8s nfs backup: exclude namespaces from scaling, isolate per-run state, harden failure handling
- Add EXCLUDED_NAMESPACES (default kube-system,kube-public,kube-node-lease,default); excluded folders are backed up but never scaled - Use a per-run state dir via mktemp -d so stale .state files from an earlier run can't leak into restores - Partial folder-backup failure now exits 0 (only zero successes fails); retention runs even on partial failure - Remove dead SCALE_TIMEOUT_SECONDS config; document SCALE_WAIT_SECONDS - Add .gitattributes to keep *.sh at LF - Extend test harness to 44 passing assertions covering exclusions, per-run state, partial/all-failed/empty scenarios
This commit is contained in:
@@ -4,15 +4,16 @@ BACKUP_PASSWORD=
|
||||
KUBECTL_BIN=kubectl
|
||||
KUBE_CONTEXT=
|
||||
WORKLOAD_KINDS=deployment,statefulset,replicaset,replicationcontroller
|
||||
EXCLUDED_NAMESPACES=kube-system,kube-public,kube-node-lease,default
|
||||
ARCHIVE_PREFIX=nfs-backup
|
||||
ARCHIVE_TS_FORMAT=%Y%m%d_%H%M%S
|
||||
SEVENZ_METHOD=lzma2
|
||||
SEVENZ_LEVEL=9
|
||||
SEVENZ_HEADER_ENCRYPT=on
|
||||
SEVENZ_THREADS=on
|
||||
SCALE_TIMEOUT_SECONDS=600
|
||||
SCALE_RETRY_COUNT=3
|
||||
SCALE_RETRY_DELAY_SECONDS=5
|
||||
SCALE_WAIT_SECONDS=30
|
||||
LOG_LEVEL=info
|
||||
TMP_STATE_DIR=/tmp/k8s-nfs-backup
|
||||
NOTIFY_SUCCESS_URL=
|
||||
|
||||
Reference in New Issue
Block a user