64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: sync-dataprotection-keys
|
|
namespace: redis
|
|
spec:
|
|
schedule: "0 12 14 * *" # at noon the 14th of every month
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: sync
|
|
image: redis
|
|
command: [ "/bin/sh", "/script/sync.sh" ]
|
|
env:
|
|
- name: PROD_REDIS_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: prod-redis
|
|
key: redis-password
|
|
- name: STAGING_REDIS_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: staging-redis
|
|
key: redis-password
|
|
volumeMounts:
|
|
- name: script
|
|
mountPath: /script
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsGroup: 0
|
|
runAsNonRoot: true
|
|
runAsUser: 1001
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
securityContext:
|
|
fsGroup: 1001
|
|
fsGroupChangePolicy: Always
|
|
volumes:
|
|
- name: script
|
|
configMap:
|
|
name: sync-dataprotection-keys-script
|
|
defaultMode: 0500
|
|
restartPolicy: Never
|
|
backoffLimit: 4
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: sync-dataprotection-keys-script
|
|
namespace: redis
|
|
data:
|
|
sync.sh: |-
|
|
#!/bin/sh
|
|
redis-cli -h prod-redis-master -a $PROD_REDIS_PASSWORD -D "" --raw dump DataProtection-Keys |\
|
|
redis-cli -h staging-redis-master -a $STAGING_REDIS_PASSWORD -X keys restore DataProtection-Keys 0 keys replace
|
|
|
|
|