From b42bd46efe822ddad250448d7ed2578efe5460f7 Mon Sep 17 00:00:00 2001 From: Jean-Marc ANDRE Date: Sun, 26 Feb 2023 00:48:57 +0100 Subject: [PATCH] backup job type --- test/00-setup.yaml | 103 ---------------------------------------- test/01-deployment.yaml | 8 ++-- test/02-backupconf.yaml | 101 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 106 deletions(-) diff --git a/test/00-setup.yaml b/test/00-setup.yaml index 2fe5c66..9efa181 100644 --- a/test/00-setup.yaml +++ b/test/00-setup.yaml @@ -70,106 +70,3 @@ data: RESTIC_PASSWORD: bHIyOXhtOTU= AWS_ACCESS_KEY_ID: OWFTSXZBSEVzWlNVMmkyTU9zVGxWSk1lL1NjPQ== AWS_SECRET_ACCESS_KEY: WVN5ck9ncVllcjBWNFNLdlVOcmx2OGhjTllhZGZuN2xaNjBIaXRlL3djWT0= ---- -apiVersion: formol.desmojim.fr/v1alpha1 -kind: Repo -metadata: - name: repo-local - namespace: demo -spec: - backend: - local: - emptyDir: - repositorySecrets: secret-minio ---- -apiVersion: formol.desmojim.fr/v1alpha1 -kind: Repo -metadata: - name: repo-minio - namespace: demo -spec: - backend: - s3: - server: raid5.desmojim.fr:9000 - bucket: testbucket2 - repositorySecrets: secret-minio ---- -apiVersion: formol.desmojim.fr/v1alpha1 -kind: Function -metadata: - name: restore-pg - namespace: demo -spec: - name: restore-pg - image: desmo999r/formolcli:latest - args: ["postgres", "restore", "--hostname", $(PGHOST), "--database", $(PGDATABASE), "--username", $(PGUSER), "--password", $(PGPASSWD), "--file", "/output/backup-pg.sql"] - env: - - name: PGHOST - value: postgres - - name: PGDATABASE - value: demopostgres - - name: PGUSER - value: demopostgres - - name: PGPASSWD - value: password123! ---- -apiVersion: formol.desmojim.fr/v1alpha1 -kind: Function -metadata: - name: with-envfrom - namespace: demo -spec: - name: with-envfrom - command: ["touch", $(title)] - envFrom: - - secretRef: - name: with-envfrom-secret ---- -apiVersion: formol.desmojim.fr/v1alpha1 -kind: Function -metadata: - name: with-env - namespace: demo -spec: - name: with-env - command: ["touch", $(TESTFILE)] - env: - - name: TESTFILE - value: /data/testfile ---- -apiVersion: formol.desmojim.fr/v1alpha1 -kind: Function -metadata: - name: backup-pg - namespace: demo -spec: - name: backup-pg - image: desmo999r/formolcli:latest - args: ["postgres", "backup", "--hostname", $(PGHOST), "--database", $(PGDATABASE), "--username", $(PGUSER), "--password", $(PGPASSWD), "--file", "/output/backup-pg.sql"] - env: - - name: PGHOST - value: postgres - - name: PGDATABASE - value: demopostgres - - name: PGUSER - value: demopostgres - - name: PGPASSWD - value: password123! ---- -apiVersion: formol.desmojim.fr/v1alpha1 -kind: Function -metadata: - name: maintenance-off - namespace: demo -spec: - name: maintenance-off - command: ["/bin/sh", "-c", "echo $(date +%Y/%m/%d-%H:%M:%S) maintenance-off >> /data/logs.txt"] ---- -apiVersion: formol.desmojim.fr/v1alpha1 -kind: Function -metadata: - name: maintenance-on - namespace: demo -spec: - name: maintenance-on - command: ["/bin/sh", "-c", "echo $(date +%Y/%m/%d-%H:%M:%S) maintenance-on >> /data/logs.txt"] diff --git a/test/01-deployment.yaml b/test/01-deployment.yaml index 84b08e6..041340c 100644 --- a/test/01-deployment.yaml +++ b/test/01-deployment.yaml @@ -84,9 +84,11 @@ spec: name: postgres-config-demo ports: - containerPort: 5432 - name: postgredb + name: postgresdb volumeMounts: - - name: postgredb + - name: postgres-volume mountPath: /var/lib/postgresql/data volumes: - - name: postgredb + - name: postgres-volume + hostPath: + path: /data/postgresdb diff --git a/test/02-backupconf.yaml b/test/02-backupconf.yaml index a6a8816..0890f87 100644 --- a/test/02-backupconf.yaml +++ b/test/02-backupconf.yaml @@ -1,5 +1,104 @@ --- apiVersion: formol.desmojim.fr/v1alpha1 +kind: Repo +metadata: + name: repo-local + namespace: demo +spec: + backend: + local: + emptyDir: + repositorySecrets: secret-minio +--- +apiVersion: formol.desmojim.fr/v1alpha1 +kind: Repo +metadata: + name: repo-minio + namespace: demo +spec: + backend: + s3: + server: raid5.desmojim.fr:9000 + bucket: testbucket2 + repositorySecrets: secret-minio +--- +apiVersion: formol.desmojim.fr/v1alpha1 +kind: Function +metadata: + name: restore-pg + namespace: demo +spec: + name: restore-pg + image: desmo999r/formolcli:latest + args: ["postgres", "restore", "--hostname", $(PGHOST), "--database", $(PGDATABASE), "--username", $(PGUSER), "--password", $(PGPASSWD), "--file", "/output/backup-pg.sql"] + env: + - name: PGHOST + value: postgres + - name: PGDATABASE + value: demopostgres + - name: PGUSER + value: demopostgres + - name: PGPASSWD + value: password123! +--- +apiVersion: formol.desmojim.fr/v1alpha1 +kind: Function +metadata: + name: with-envfrom + namespace: demo +spec: + name: with-envfrom + command: ["touch", $(title)] + envFrom: + - secretRef: + name: with-envfrom-secret +--- +apiVersion: formol.desmojim.fr/v1alpha1 +kind: Function +metadata: + name: with-env + namespace: demo +spec: + name: with-env + command: ["touch", $(TESTFILE)] + env: + - name: TESTFILE + value: /data/testfile +--- +apiVersion: formol.desmojim.fr/v1alpha1 +kind: Function +metadata: + name: backup-pg + namespace: demo +spec: + name: backup-pg + command: ["pg_dump"] + args: ["--username", $(PGUSER), "--clean", "--if-exists", "--inserts", "--file", "/formol-shared/backup-pg.sql"] + env: + - name: PGUSER + value: demopostgres +--- +apiVersion: formol.desmojim.fr/v1alpha1 +kind: Function +metadata: + name: maintenance-off + namespace: demo +spec: + name: maintenance-off + command: ["/bin/sh"] + args: ["-c", "echo $(date +%Y/%m/%d-%H:%M:%S) maintenance-off >> /data/logs.txt"] +--- +apiVersion: formol.desmojim.fr/v1alpha1 +kind: Function +metadata: + name: maintenance-on + namespace: demo +spec: + name: maintenance-on + command: ["/bin/sh"] + args: ["-c", "echo $(date +%Y/%m/%d-%H:%M:%S) maintenance-on >> /data/logs.txt"] +--- +apiVersion: formol.desmojim.fr/v1alpha1 kind: BackupConfiguration metadata: name: backup-demo @@ -32,6 +131,8 @@ spec: targetName: postgres-demo containers: - name: postgres + job: + - name: backup-pg # - kind: Job # name: backup-pg # steps: