Files
dsk-devops-toolchains/helm/argo-workflows/Lab/db-backup/test-workflow.yaml
2024-01-03 17:29:11 +09:00

93 lines
2.7 KiB
YAML

apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
name: db-backup-cron
spec:
schedule: "0 5 * * *"
timezone: "Asia/Seoul"
workflowSpec:
entrypoint: db-backup
templates:
- name: db-backup
container:
image: nexus2.exem-oss.org/dsk-middleware-backup:v3.0
command: ["sh", "-c"]
args:
- |
# SSH 키를 파일로 저장
echo -n "$SSH_KEY" > /tmp/id_rsa
chmod 600 /tmp/id_rsa
cat /tmp/id_rsa
# SSH 터널링 설정
ssh -i /tmp/id_rsa -fN -L $MONGO_MANIFEST_PORT:$MASTER_HOST:$MONGO_MANIFEST_PORT dev2@bastion.kr.datasaker.io -o StrictHostKeyChecking=no &
ssh -i /tmp/id_rsa -fN -L $MONGO_DSK_PORT:$MASTER_HOST:$MONGO_DSK_PORT dev2@bastion.kr.datasaker.io -o StrictHostKeyChecking=no &
ssh -i /tmp/id_rsa -fN -L $POSTGRES_PORT:$MASTER_HOST:$POSTGRES_PORT dev2@bastion.kr.datasaker.io -o StrictHostKeyChecking=no &
chmod +x /backup.sh
/backup.sh
env:
- name: SSH_KEY
valueFrom:
secretKeyRef:
name: bastion-ssh-key
key: ssh-key
- name: sh_debug
value: ''
- name: MASTER_HOST
valueFrom:
secretKeyRef:
name: db-creds
key: master_host
- name: MONGO_MANIFEST_PORT
value: '30111'
- name: MONGO_DSK_PORT
value: '30112'
- name: MONGO_USERNAME
valueFrom:
secretKeyRef:
name: db-creds
key: mongo_username
- name: MONGO_PASSWORD
valueFrom:
secretKeyRef:
name: db-creds
key: mongo_password
- name: POSTGRES_PORT
value: '32098'
- name: POSTGRES_USERNAME
valueFrom:
secretKeyRef:
name: db-creds
key: postgres_username
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: db-creds
key: postgres_password
- name: S3_BUCKET
value: 'dsk-middleware-backup'
- name: sse
value: 'aws:kms'
- name: AWS_DEFAULT_REGION
valueFrom:
secretKeyRef:
name: aws-creds
key: AWS_REGION
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: aws-creds
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: aws-creds
key: AWS_SECRET_ACCESS_KEY
- name: kms_arn
valueFrom:
secretKeyRef:
name: aws-creds
key: KMS_ARN
restartPolicy: OnFailure