homelab/k3s/mediawiki/mediawiki-db-init.yaml
2026-04-18 18:28:55 -04:00

40 lines
1.3 KiB
YAML

# MediaWiki DB init — creates mediawiki_user and mediawiki_db in MariaDB.
# MediaWiki's official image ships with mysqli/pdo_mysql but NOT pgsql,
# so we use MariaDB (already deployed) rather than the shared postgres.
# Run once before the install job.
apiVersion: batch/v1
kind: Job
metadata:
name: mediawiki-db-init
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: mediawiki-db-init
image: mariadb:11
env:
- name: MYSQL_PWD
valueFrom:
secretKeyRef:
name: mariadb-secret
key: root-password
- name: MW_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mediawiki-secret
key: db-password
command:
- /bin/sh
- -c
- |
mariadb -h mariadb -u root <<EOF
CREATE DATABASE IF NOT EXISTS mediawiki_db
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'mediawiki_user'@'%'
IDENTIFIED BY '${MW_DB_PASSWORD}';
GRANT ALL PRIVILEGES ON mediawiki_db.*
TO 'mediawiki_user'@'%';
FLUSH PRIVILEGES;
EOF