apiVersion: batch/v1 kind: Job metadata: name: mautic-db-init labels: component: db-init spec: backoffLimit: 10 template: metadata: labels: component: db-init spec: restartPolicy: OnFailure securityContext: runAsNonRoot: true runAsUser: 999 runAsGroup: 999 seccompProfile: type: RuntimeDefault containers: - name: mysql-init image: mysql:9.1.0 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: false env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mautic-secrets key: mysql.rootPassword - name: DB_HOSTNAME value: {{ .db.host }} - name: DB_PORT value: "{{ .db.port }}" - name: DB_DATABASE_NAME value: {{ .db.name }} - name: DB_USERNAME value: {{ .db.user }} - name: DB_PASSWORD valueFrom: secretKeyRef: name: mautic-secrets key: dbPassword command: - /bin/bash - -c - | set -e until mysql -h ${DB_HOSTNAME} -P ${DB_PORT} -u root -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1" 2>/dev/null; do echo "Waiting for MySQL..." sleep 2 done mysql -h ${DB_HOSTNAME} -P ${DB_PORT} -u root -p${MYSQL_ROOT_PASSWORD} <