Tidak Ada Deskripsi

bodicsek 200ec1dfd1 Update container images to latest versions 2 minggu lalu
README.org 2eec0b275b Adding ntfy service and using it from diun and backup jobs - ntfy.bodicsek.host 1 tahun lalu
backup.cronjob.yaml f252f6aa02 Update container images to latest versions 1 bulan lalu
backup.pod.yaml f252f6aa02 Update container images to latest versions 1 bulan lalu
backup.remote.cronjob.yaml 200ec1dfd1 Update container images to latest versions 2 minggu lalu
backup.remote.pod.yaml 200ec1dfd1 Update container images to latest versions 2 minggu lalu
cert-manager-letsencrypt-prod.yaml 163b662d2d Initial commit 2 tahun lalu
cert-manager.yaml 163b662d2d Initial commit 2 tahun lalu
container-registry.yaml 127ba6dca2 Updating container registry image version (diun notification) 1 tahun lalu
dav.yaml 200ec1dfd1 Update container images to latest versions 2 minggu lalu
docker-image-update-notifier.yaml 200ec1dfd1 Update container images to latest versions 2 minggu lalu
git.yaml e7167eb453 Fixing diun image version watch 9 bulan lalu
ntfy.yaml eb904e7b2a Update container images to latest versions 2 bulan lalu
pwd.yaml 200ec1dfd1 Update container images to latest versions 2 minggu lalu
system-upgrade-controller.yaml 4cff4056ab Adding system upgrade controller and plans 1 tahun lalu
system-upgrade-plans.yaml 4cff4056ab Adding system upgrade controller and plans 1 tahun lalu
webdav.yaml 200ec1dfd1 Update container images to latest versions 2 minggu lalu

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

Scheduled backup

Apply backup.cronjob.yaml.

One time backup

Run kubectl create job --from=cronjob/backup backup-manual.

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.

Scheduled backup

Apply backup.remote.cronjob.yaml.

One time backup

Run kubectl create job --from=cronjob/backup-remote backup-remote-manual.

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.