apiVersion: batch/v1 kind: Job metadata: name: e2e-test-app-mysql-db-init labels: component: mysql-db-init spec: template: metadata: labels: component: mysql-db-init spec: restartPolicy: OnFailure containers: - name: mysql-init image: mysql:9.1.0 env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: e2e-test-app-secrets key: mysql.rootPassword - name: DB_HOST value: {{ .mysql.host }} - name: DB_PORT value: "{{ .mysql.port }}" - name: DB_NAME value: {{ .mysql.name }} - name: DB_USER value: {{ .mysql.user }} - name: DB_PASSWORD valueFrom: secretKeyRef: name: e2e-test-app-secrets key: mysqlPassword command: ["/bin/bash", "-c"] args: - | set -e echo "Waiting for MySQL to be ready..." until mysql -h "${DB_HOST}" -P "${DB_PORT}" -uroot -p"${MYSQL_ROOT_PASSWORD}" -e "SELECT 1" &>/dev/null; do echo "MySQL not ready, retrying..." sleep 3 done echo "MySQL ready" mysql -h "${DB_HOST}" -P "${DB_PORT}" -uroot -p"${MYSQL_ROOT_PASSWORD}" <