Add Keycloak Backup job
This commit is contained in:
parent
a98d915658
commit
40427c0426
146
app-of-apps/keycloak-backup.yaml
Normal file
146
app-of-apps/keycloak-backup.yaml
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
apiVersion: batch/v1
|
||||||
|
kind: CronJob
|
||||||
|
metadata:
|
||||||
|
name: keycloak-backup
|
||||||
|
namespace: keycloak
|
||||||
|
spec:
|
||||||
|
# Arbitrary non-midnight time.
|
||||||
|
schedule: "10 2 * * *"
|
||||||
|
jobTemplate:
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- args:
|
||||||
|
- -ec
|
||||||
|
- |
|
||||||
|
#!/bin/bash
|
||||||
|
cp -r /opt/bitnami/keycloak/lib/quarkus/* /quarkus
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
image: docker.io/bitnami/keycloak:24.0.2
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
name: init-quarkus-directories
|
||||||
|
resources: {}
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
runAsGroup: 0
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1001
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /tmp
|
||||||
|
name: empty-dir
|
||||||
|
subPath: tmp-dir
|
||||||
|
- mountPath: /quarkus
|
||||||
|
name: empty-dir
|
||||||
|
subPath: app-quarkus-dir
|
||||||
|
containers:
|
||||||
|
- args:
|
||||||
|
- /opt/bitnami/keycloak/bin/kc.sh
|
||||||
|
- export
|
||||||
|
- --file
|
||||||
|
- /backup/realm-export.json
|
||||||
|
- --realm
|
||||||
|
- avril
|
||||||
|
- --db
|
||||||
|
- postgres
|
||||||
|
- --db-url
|
||||||
|
- jdbc:postgresql://keycloak-postgresql-hl/bitnami_keycloak
|
||||||
|
- --db-password
|
||||||
|
- $(KEYCLOAK_DATABASE_PASSWORD)
|
||||||
|
- --db-username
|
||||||
|
- bn_keycloak
|
||||||
|
env:
|
||||||
|
- name: KUBERNETES_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: BITNAMI_DEBUG
|
||||||
|
value: "false"
|
||||||
|
- name: KEYCLOAK_ADMIN_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: admin-password
|
||||||
|
name: keycloak
|
||||||
|
- name: KEYCLOAK_DATABASE_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: password
|
||||||
|
name: keycloak-postgresql
|
||||||
|
- name: KEYCLOAK_HTTP_RELATIVE_PATH
|
||||||
|
value: /
|
||||||
|
- name: KEYCLOAK_CACHE_TYPE
|
||||||
|
value: local
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: keycloak-env-vars
|
||||||
|
image: docker.io/bitnami/keycloak:24.0.2
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
name: backup-container
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
name: http
|
||||||
|
protocol: TCP
|
||||||
|
- containerPort: 7800
|
||||||
|
name: infinispan
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /tmp
|
||||||
|
name: empty-dir
|
||||||
|
subPath: tmp-dir
|
||||||
|
- mountPath: /opt/bitnami/keycloak/conf
|
||||||
|
name: empty-dir
|
||||||
|
subPath: app-conf-dir
|
||||||
|
- mountPath: /opt/bitnami/keycloak/lib/quarkus
|
||||||
|
name: empty-dir
|
||||||
|
subPath: app-quarkus-dir
|
||||||
|
- mountPath: /backup
|
||||||
|
name: backup-dir
|
||||||
|
restartPolicy: Never
|
||||||
|
securityContext:
|
||||||
|
# https://stackoverflow.com/questions/50156124/kubernetes-nfs-persistent-volumes-permission-denied
|
||||||
|
runAsUser: 501
|
||||||
|
fsGroup: 501
|
||||||
|
volumes:
|
||||||
|
- emptyDir: {}
|
||||||
|
name: empty-dir
|
||||||
|
- name: backup-dir
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: backup-dir-pvc
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: backup-dir-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 2M
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
nfs:
|
||||||
|
server: galactus.avril
|
||||||
|
path: /mnt/high-resiliency/manual-nfs/backups/keycloak/
|
||||||
|
mountOptions:
|
||||||
|
- nfsvers=4.2
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: backup-dir-pvc
|
||||||
|
spec:
|
||||||
|
storageClassName: ""
|
||||||
|
volumeName: backup-dir-pv
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
volumeMode: Filesystem
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 2M
|
Loading…
x
Reference in New Issue
Block a user