Перейти к основному содержимому
Версия: Next

Чеклист prod hardening (Kubernetes / QMDeploy)

Краткий список для QMDeploy / чарта qm-project. Детали секретов и PAT — QMDeploy/README.md.

Сеть

  • Ingress / TLS: включите ingress.tls.enabled и корректный secretName; наружу только HTTPS.
  • NetworkPolicy (MySQL): задайте networkPolicy.enabled: true — политика mysql-in-namespace-only разрешает 3306 только подам с app.kubernetes.io/part-of: qm-project в том же namespace. Убедитесь, что все клиенты БД (QMServer, экспортеры, phpMyAdmin) остаются с этой меткой. Готовый фрагмент: QMDeploy/helm/qm-project/values-networkpolicy.yaml — подключайте вторым файлом: -f values-networkpolicy.yaml (см. комментарий в файле).
  • phpMyAdmin: по умолчанию выключен; в проде не выставляйте наружу без VPN / отдельного слоя доступа.

Данные и секреты

  • Пароли и DSN только в Secret (qm-mysql, qm-app), не в values*.yaml в открытом виде.
  • Резервное копирование MySQL: периодические снимки (Velero, облачный backup PVC, mysqldump по runbook) и проверка восстановления.

Наблюдаемость

QMWeb: воспроизводимость билда

  • Скрипты предзагрузки данных (например предметы) могут менять сгенерированные JSON; фиксируйте версию скрипта и источник в CI; не коммитьте случайные диффы артефактов.