Added zammad-backup und s3 sync
This commit is contained in:
parent
3efca6cd8b
commit
5a8fbbd8e0
@ -40,3 +40,17 @@ spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 10G
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: zammad-backup
|
||||
namespace: zammad
|
||||
annotations:
|
||||
volume.beta.kubernetes.io/storage-class: standard
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 10G
|
7
kubernetes/20_configmap_backup.yaml
Normal file
7
kubernetes/20_configmap_backup.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: zammad-backup
|
||||
namespace: zammad
|
||||
data:
|
||||
S3_PATH: s3://BUCKET_NAME/
|
9
kubernetes/30_secret_backup.yaml
Normal file
9
kubernetes/30_secret_backup.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: zammad-backup-s3
|
||||
namespace: zammad
|
||||
type: Opaque
|
||||
data:
|
||||
ACCESS_KEY: 'bash ACCESS_KEY | base64'
|
||||
SECRET_KEY: 'bash SECRET_KEY | base64'
|
38
kubernetes/56_statefulset_backup.yaml
Normal file
38
kubernetes/56_statefulset_backup.yaml
Normal file
@ -0,0 +1,38 @@
|
||||
apiVersion: apps/v1beta1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: zammad-backup
|
||||
namespace: zammad
|
||||
labels:
|
||||
component: backup
|
||||
app: zammad
|
||||
spec:
|
||||
serviceName: zammad-backup
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
component: backup
|
||||
app: zammad
|
||||
spec:
|
||||
terminationGracePeriodSeconds: 10
|
||||
volumes:
|
||||
- name: zammad-home
|
||||
persistentVolumeClaim:
|
||||
claimName: zammad-home
|
||||
- name: zammad-backup
|
||||
persistentVolumeClaim:
|
||||
claimName: zammad-backup
|
||||
containers:
|
||||
- name: zammad-backup
|
||||
image: zammad/zammad-docker-compose:zammad-postgresql
|
||||
command:
|
||||
- /usr/local/bin/backup.sh
|
||||
args:
|
||||
- zammad-backup
|
||||
imagePullPolicy: Always
|
||||
volumeMounts:
|
||||
- mountPath: /home/zammad
|
||||
name: zammad-home
|
||||
- mountPath: /var/tmp/zammad
|
||||
name: zammad-backup
|
51
kubernetes/60_cronjob_backup.yaml
Normal file
51
kubernetes/60_cronjob_backup.yaml
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
apiVersion: batch/v1beta1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: zammad-backup
|
||||
namespace: zammad
|
||||
labels:
|
||||
component: cronjob
|
||||
app: backup
|
||||
spec:
|
||||
failedJobsHistoryLimit: 0
|
||||
successfulJobsHistoryLimit: 0
|
||||
concurrencyPolicy: Forbid
|
||||
schedule: "0 0 * * *"
|
||||
jobTemplate:
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
component: cronjob
|
||||
app: backup
|
||||
spec:
|
||||
volumes:
|
||||
- name: zammad-backup
|
||||
persistentVolumeClaim:
|
||||
claimName: zammad-backup
|
||||
containers:
|
||||
- name: zammad-backup-s3
|
||||
imagePullPolicy: Always
|
||||
image: robbydooo/docker-backup-to-s3
|
||||
args:
|
||||
- "/start.sh"
|
||||
- "no-cron"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: zammad-backup
|
||||
env:
|
||||
- name: ACCESS_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: zammad-backup-s3
|
||||
key: ACCESS_KEY
|
||||
- name: SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: zammad-backup-s3
|
||||
key: SECRET_KEY
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: zammad-backup
|
||||
restartPolicy: OnFailure
|
@ -4,4 +4,20 @@
|
||||
|
||||
- On every node you need to set `sysctl -w vm.max_map_count=262144`
|
||||
- Change the ingress to your needs.
|
||||
- Hit `kubectl apply -f ./` and wait till everything is setup.
|
||||
|
||||
## Amazon S3 Backup
|
||||
|
||||
If you want to be synced with a S3 bucket, then just fill the `30_secret_backup.yaml` with your secret and access keys.
|
||||
|
||||
```bash
|
||||
echo -n "ACCESS_KEY" | base64
|
||||
echo -n "SECRET_KEY" | base64
|
||||
```
|
||||
|
||||
Change the bucket path in the `20_configmap_backup.yaml`.
|
||||
|
||||
That's it.
|
||||
|
||||
## Deploy zammad
|
||||
|
||||
Hit `kubectl apply -f ./` and wait till everything is setup.
|
Loading…
Reference in New Issue
Block a user