This commit is contained in:
Zuev
2026-07-30 03:18:43 +03:00
parent a759155b15
commit 87f3d98621
9 changed files with 177 additions and 95 deletions

View File

@@ -60,10 +60,11 @@
## 2. Обновление существующего production
Простой push в `main` для первого обновления **недостаточен**. Он выполняет проверки,
собирает и сканирует образы, но job `deploy-to-k8s` запускается только вручную через
`workflow_dispatch`. Новые файлы `../k8s` CI не применяет. Gitea 1.25 игнорирует
`environment` и `concurrency`, поэтому они не используются как production-защита.
Push в `main` автоматически выполняет проверки, собирает и сканирует образы, а затем
обновляет backend/frontend в Kubernetes по проверенным immutable digest. Новые файлы
`../k8s` CI не применяет: первый rollout и изменения самих манифестов выполняются
оператором через `../k8s/deploy.sh`. Gitea 1.25 игнорирует `environment` и `concurrency`,
поэтому они не используются как production-защита.
1. Подготовьте секреты по [`docs/SECURITY_RUNBOOK.md`](docs/SECURITY_RUNBOOK.md):
@@ -111,9 +112,10 @@
```
Скрипт применит ConfigMap, RBAC, Secret mount, probes, OTel и Ingress, поднимет две
реплики backend и дождётся Flyway/readiness. CI deploy после push не ожидает
подтверждения: он будет пропущен. Следующие image-only обновления можно запускать
вручную кнопкой `Run workflow`.
реплики backend и дождётся Flyway/readiness. После этого следующие image-only
обновления автоматически разворачиваются успешным workflow после push в `main`.
`workflow_dispatch` остаётся дополнительным способом повторного запуска, но не
требуется для обычной поставки.
5. Перед открытием публичного доступа проверьте:
@@ -131,9 +133,9 @@
смените или отключите все демонстрационные учётные записи из `V1__init.sql`.
6. После проверки удалите старый `ConfigMap/tenants-config`, отзовите старые DB/OTel
пароли и верните обычный доступ через Caddy. В дальнейшем image-only изменения можно
разворачивать ручным запуском workflow, но любые изменения `../k8s` по-прежнему нужно
применять отдельно или переносить этот каталог в управляемый CI репозиторий.
пароли и верните обычный доступ через Caddy. В дальнейшем image-only изменения
автоматически разворачиваются после push в `main`, но любые изменения `../k8s`
по-прежнему нужно применять отдельно через `../k8s/deploy.sh`.
### Важные ограничения rollback