Adds mysql to e2e test app.
This commit is contained in:
64
e2e-test-app/versions/2/mysql-db-init-job.yaml
Normal file
64
e2e-test-app/versions/2/mysql-db-init-job.yaml
Normal file
@@ -0,0 +1,64 @@
|
||||
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}" <<EOF
|
||||
CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\`;
|
||||
CREATE USER IF NOT EXISTS '${DB_USER}'@'%' IDENTIFIED BY '${DB_PASSWORD}';
|
||||
ALTER USER '${DB_USER}'@'%' IDENTIFIED BY '${DB_PASSWORD}';
|
||||
GRANT ALL PRIVILEGES ON \`${DB_NAME}\`.* TO '${DB_USER}'@'%';
|
||||
FLUSH PRIVILEGES;
|
||||
EOF
|
||||
|
||||
mysql -h "${DB_HOST}" -P "${DB_PORT}" -uroot -p"${MYSQL_ROOT_PASSWORD}" "${DB_NAME}" <<EOF
|
||||
CREATE TABLE IF NOT EXISTS e2e_test_data (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
test_key VARCHAR(255) UNIQUE NOT NULL,
|
||||
test_value TEXT NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
EOF
|
||||
|
||||
echo "MySQL initialization complete"
|
||||
Reference in New Issue
Block a user