Nessuna descrizione

bodicsek 4cff4056ab Adding system upgrade controller and plans 1 anno fa
README.org d130623eeb Adding remote backup job and cronjob manifests 1 anno fa
backup.cronjob.yaml a45dd17961 Adding backup pod, job and cronjob manifests 1 anno fa
backup.job.yaml a45dd17961 Adding backup pod, job and cronjob manifests 1 anno fa
backup.pod.yaml a45dd17961 Adding backup pod, job and cronjob manifests 1 anno fa
backup.remote.cronjob.yaml d130623eeb Adding remote backup job and cronjob manifests 1 anno fa
backup.remote.job.yaml d130623eeb Adding remote backup job and cronjob manifests 1 anno fa
backup.remote.pod.yaml d130623eeb Adding remote backup job and cronjob manifests 1 anno fa
cert-manager-letsencrypt-prod.yaml 163b662d2d Initial commit 2 anni fa
cert-manager.yaml 163b662d2d Initial commit 2 anni fa
container-registry.yaml 163b662d2d Initial commit 2 anni fa
dav.yaml 16ed935e3c Updating docker radicale to 3.3.2.0 1 anno fa
git.yaml 4222b87562 Updating gogs to 0.13 - fixed version 1 anno fa
pwd.yaml 4820be4e2d Updating vaultwarden to 1.30.7 1 anno fa
system-upgrade-controller.yaml 4cff4056ab Adding system upgrade controller and plans 1 anno fa
system-upgrade-plans.yaml 4cff4056ab Adding system upgrade controller and plans 1 anno fa
webdav.yaml 37bf27c14e Updating image versions: radicale, vaultwarden, rclone 1 anno fa

README.org

Local backup

Restic is used to create incremental backups. Host raspberrypi4 is set for backing up glusterfs files.

All glusterfs files are mounted under /mnt. An NFS drive is mounted under /data/backup as the backup destination.

/etc/fstab entries:

localhost:/dockervol /mnt glusterfs defaults,_netdev,noauto,x-systemd.automount 0 0
192.168.1.1:/mnt/sda1/backup /data/backup nfs defaults 0 0

One time backup

Apply backup.job.yaml.

Scheduled backup

Apply backup.cronjob.yaml.

Restore

Apply backup.pod.yaml. It creates a restic-cli pod on raspberrypi4. kubectl exec -it restic-cli -- /bin/sh gives you a shell in the pod's container. Select the snapshot id by running restic --repo /data/repo snapshots --insecure-no-password. Run restic --repo /data/repo restore <snapshot_id> /data/glusterfs --insecure-no-password to fully restore from a snapshot.

Remote backup

Rclone sync is used to copy the local restic repo to a remote destination. Remote destination is currently an Oracle Object Storage called backup in davidnabraczkyhajos tenancy. The API key secret and the rclone/oci config maps are created in backup.remote.cronjob.yaml. Apply this before anything else, it will create a cron job that runs every Sunday at 8:00 am.

One time backup

Apply backup.remote.job.yaml.

Scheduled backup

Apply backup.remote.cronjob.yaml.

Restore

Apply backup.remote.pod.yaml. It creates an rclone-cli pod on raspberrypi4. kubectl exec -it rclone-cli -- /bin/sh gives you a shell in the pod's container. Run rclone sync --progress --verbose --verbose --cache-workes 4 --transfers 4 --retries 32 oos:backup /data/repo/restore. Use --dry-run first.