feat(delivery): add Ansible playbook for native MySQL provisioning

Add mysql-deploy.yml playbook for bare-metal MySQL 8.0 delivery via
AWX: parameter validation, resource preflight checks, apt install,
AppArmor adaptation, per-instance directory layout, Jinja2 config
template (buffer pool sizing, binlog, GTID), systemd template unit
(mysql-delivery@.service), admin account setup, and TCP health
verification. Includes example inventory.

Relates-to: #97
This commit is contained in:
mac
2026-07-23 12:05:07 +08:00
parent 699eaa5225
commit 5ddb434b74
4 changed files with 294 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
[Unit]
Description=XINFRA MySQL delivery instance %i
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
User=mysql
Group=mysql
RuntimeDirectory=mysql-delivery-%i
RuntimeDirectoryMode=0755
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/mysql/mysql-delivery/%i.cnf
Restart=on-failure
RestartSec=5s
TimeoutStartSec=120s
LimitNOFILE=65535
OOMScoreAdjust=-200
[Install]
WantedBy=multi-user.target