135 lines
2.8 KiB
YAML
135 lines
2.8 KiB
YAML
---
|
|
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: minio-svc.minio:9000
|
|
bucket: backups
|
|
repositorySecrets: secret-minio
|
|
---
|
|
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_dumpall"]
|
|
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: restore-pg
|
|
namespace: demo
|
|
spec:
|
|
name: restore-pg
|
|
image: desmo999r/formolcli:latest
|
|
command: ["psql"]
|
|
args: ["--username", $(PGUSER), "--quiet", "--file", "/formol-shared/backup-pg.sql", "postgres"]
|
|
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
|
|
namespace: demo
|
|
spec:
|
|
suspend: true
|
|
image: desmo999r/formolcli:latest
|
|
repository: repo-minio
|
|
schedule: "15 * * * *"
|
|
keep:
|
|
last: 2
|
|
daily: 2
|
|
weekly: 2
|
|
monthly: 6
|
|
yearly: 3
|
|
targets:
|
|
- backupType: Snapshot
|
|
targetKind: Deployment
|
|
targetName: apache-deployment
|
|
containers:
|
|
- name: apache
|
|
steps:
|
|
- initialize: maintenance-on
|
|
- finalize: maintenance-off
|
|
paths:
|
|
- /data
|
|
- backupType: Job
|
|
targetKind: StatefulSet
|
|
targetName: postgres-demo
|
|
containers:
|
|
- name: postgres
|
|
job:
|
|
- backup: backup-pg
|
|
restore: restore-pg
|
|
# - kind: Job
|
|
# name: backup-pg
|
|
# steps:
|
|
# - name: backup-pg
|