From 9c1fe2dc98d998d19bd50dfd8554cb8281ea1123 Mon Sep 17 00:00:00 2001 From: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri, 24 Jan 2025 15:05:50 +0100 Subject: [PATCH] moved backup process --- doc/BackupAndRestore.md | 72 +++-------------------------------------- 1 file changed, 4 insertions(+), 68 deletions(-) diff --git a/doc/BackupAndRestore.md b/doc/BackupAndRestore.md index c4c37d8..5b593a4 100644 --- a/doc/BackupAndRestore.md +++ b/doc/BackupAndRestore.md @@ -1,72 +1,8 @@ # Backup Architecture details -* we use restic to produce small & encrypted backups -* backup is scheduled at `schedule: "10 23 * * *"` -* Forgejo stores files in `/data/gitea` and `/data/git/repositories`, these files are backed up. -* The postgres db is also backed up +Use process documented at https://repo.prod.meissa.de/meissa/dda-backup/src/branch/main/docs/Backup.md -## Manual backup +Parameters are: -1. Scale down forgejo deployment: - `kubectl -n forgejo scale deployment forgejo --replicas=0` -2. apply backup-and-restore pod: - `kubectl -n forgejo scale deployment backup-restore --replicas=1` -3. exec into pod and execute backup pod (press tab to get your exact pod name) - `kubectl -n forgejo exec -it backup-restore-... -- /usr/local/bin/backup.bb` -4. remove backup-and-restore pod: - `kubectl -n forgejo scale deployment backup-restore --replicas=0` -5. Scale up forgejo deployment: - `kubectl -n forgejo scale deployment forgejo --replicas=1` - -## Manual restore - -1. Scale down forgejo deployment: - `kubectl -n forgejo scale deployment forgejo --replicas=0` -2. apply backup-and-restore pod: - `kubectl -n forgejo scale deployment backup-restore --replicas=1` -3. exec into pod and execute restore pod (press tab to get your exact pod name): - `kubectl -n forgejo exec -it backup-restore-... -- /usr/local/bin/restore.bb` -4. remove backup-and-restore pod: - `kubectl -n forgejo scale deployment backup-restore --replicas=0` -5. start forgejo again: - `kubectl -n forgejo scale deployment forgejo --replicas=1` - -## Change Password - -1. Check restic-new-password env is set in backup deployment - ``` - kind: Deployment - metadata: - name: backup-restore - spec: - ... - spec: - containers: - - name: backup-app - env: - - name: RESTIC_NEW_PASSWORD_FILE - value: /var/run/secrets/backup-secrets/restic-new-password - ``` -2. Add restic-new-password to secret - ``` - kind: Secret - metadata: - name: backup-secret - data: - restic-password: old - restic-new-password: new - ``` -3. Scale backup-restore deployment up: - `kubectl -n forgejo scale deployment backup-restore --replicas=1` -4. exec into pod and execute restore pod - `kubectl -n forgejo exec -it backup-restore -- change-password.bb` -5. Scale backup-restore deployment down: - `kubectl -n forgejo scale deployment backup-restore --replicas=0` -6. Replace restic-password with restic-new-password in secret - ``` - kind: Secret - metadata: - name: backup-secret - data: - restic-password: new - ``` +1. **deployment-name**: forgejo +2. **deployment-namespace**: forgejo