chore(deploy): dedupe & regroup Gitea CI variables/secrets #168

Merged
developer merged 1 commits from feature/ci-vars-dedupe into development 2026-07-03 19:16:33 +00:00
Owner

Что

Дедуп и перегруппировка Gitea CI variables/secrets: одно логическое значение — один источник.

Схлопнуто в один беспрефиксный ключ (значение одно на оба контура):

  • variables: DICT_VERSION, SMTP_RELAY_HOST/PORT/TLS, GRAFANA_SMTP_PORT, VITE_VK_APP_LINK, VITE_VK_APP_ID
  • secrets (сделал владелец): SMTP_RELAY_USER/PASS, GATEWAY_VK_APP_SECRET, GATEWAY_VK_ID_CLIENT_SECRET

Выводится из PUBLIC_BASE_URL при деплое (больше не хранится): TELEGRAM_MINIAPP_URL (+/telegram/), GRAFANA_ROOT_URL (+/_gm/grafana/), VITE_VK_ID_REDIRECT_URL (+/app/). Убирает асимметрию prod/test.

Паритет отката: deploy/write-prod-env.sh + write-prod-bot-env.sh — общие писатели для prod-deploy и prod-rollback. Откат теперь пересобирает ПОЛНЫЙ runtime-env (почта / VK-вход / Grafana-алерты раньше молча отваливались после отката) и передаёт TELEGRAM_SUPPORT_CHAT_ID.

Мусор/дрейф: single-source DICT_VERSION (CI + оба деплоя), фикс расхождения v1.3.0/v1.3.1, точный комментарий honeytoken/abuse-ban, переписан список переменных в README (+ недокументированные GATEWAY_VK_APP_SECRET/TELEGRAM_SUPPORT_CHAT_ID).

Порядок (hard-cutover)

Секреты владелец уже перезавёл; 7 беспрефиксных variables созданы через API до PR. Старые TEST_/PROD_ variables удалю после зелёного контура.

Проверено локально

bash -n скриптов, оба писателя dry-run (выводимые URL верны, env.sh source’ится), YAML трёх workflow парсится, docker compose config база+prod-overlay валидны, нет висячих ссылок на схлопнутые имена, /deploy-check PASS.

Behavior не меняется — формулы дают ровно текущие строки.

## Что Дедуп и перегруппировка Gitea CI variables/secrets: одно логическое значение — один источник. **Схлопнуто в один беспрефиксный ключ** (значение одно на оба контура): - variables: `DICT_VERSION`, `SMTP_RELAY_HOST/PORT/TLS`, `GRAFANA_SMTP_PORT`, `VITE_VK_APP_LINK`, `VITE_VK_APP_ID` - secrets (сделал владелец): `SMTP_RELAY_USER/PASS`, `GATEWAY_VK_APP_SECRET`, `GATEWAY_VK_ID_CLIENT_SECRET` **Выводится из `PUBLIC_BASE_URL` при деплое** (больше не хранится): `TELEGRAM_MINIAPP_URL` (+`/telegram/`), `GRAFANA_ROOT_URL` (+`/_gm/grafana/`), `VITE_VK_ID_REDIRECT_URL` (+`/app/`). Убирает асимметрию prod/test. **Паритет отката:** `deploy/write-prod-env.sh` + `write-prod-bot-env.sh` — общие писатели для prod-deploy и prod-rollback. Откат теперь пересобирает ПОЛНЫЙ runtime-env (почта / VK-вход / Grafana-алерты раньше молча отваливались после отката) и передаёт `TELEGRAM_SUPPORT_CHAT_ID`. **Мусор/дрейф:** single-source `DICT_VERSION` (CI + оба деплоя), фикс расхождения v1.3.0/v1.3.1, точный комментарий honeytoken/abuse-ban, переписан список переменных в README (+ недокументированные `GATEWAY_VK_APP_SECRET`/`TELEGRAM_SUPPORT_CHAT_ID`). ## Порядок (hard-cutover) Секреты владелец уже перезавёл; 7 беспрефиксных variables созданы через API до PR. Старые `TEST_/PROD_` variables удалю после зелёного контура. ## Проверено локально `bash -n` скриптов, оба писателя dry-run (выводимые URL верны, env.sh source’ится), YAML трёх workflow парсится, `docker compose config` база+prod-overlay валидны, нет висячих ссылок на схлопнутые имена, `/deploy-check` PASS. Behavior не меняется — формулы дают ровно текущие строки.
developer added 1 commit 2026-07-03 19:07:33 +00:00
chore(deploy): dedupe & regroup Gitea CI variables/secrets
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 9s
CI / integration (pull_request) Successful in 16s
CI / ui (pull_request) Successful in 1m4s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m44s
7f85362288
Collapse identical TEST_/PROD_ pairs to single unprefixed Gitea entries, derive
the public URLs from PUBLIC_BASE_URL at deploy time, and share the prod env.sh
renderer between deploy and rollback.

- Collapse to one unprefixed variable: DICT_VERSION, SMTP_RELAY_HOST/PORT/TLS,
  GRAFANA_SMTP_PORT, VITE_VK_APP_LINK, VITE_VK_APP_ID (one Selectel relay + one
  pair of VK apps serve every contour). Secrets collapsed by the owner:
  SMTP_RELAY_USER/PASS, GATEWAY_VK_APP_SECRET, GATEWAY_VK_ID_CLIENT_SECRET.
- Derive at deploy from PUBLIC_BASE_URL (no longer stored): TELEGRAM_MINIAPP_URL,
  GRAFANA_ROOT_URL, VITE_VK_ID_REDIRECT_URL. Removes the prod/test asymmetry and
  fills the missing test VITE_VK_APP_ID (VK web login was half-configured on test).
- Extract deploy/write-prod-env.sh + write-prod-bot-env.sh, shared by prod-deploy
  and prod-rollback so the two cannot drift: a rollback now re-renders the FULL
  runtime env (email / VK login / Grafana alerts previously went dark after a
  rollback) and passes TELEGRAM_SUPPORT_CHAT_ID.
- Single-source DICT_VERSION (CI env + both deploys), fix the v1.3.0/v1.3.1 drift in
  .env.example/README, correct the misleading honeytoken/abuse-ban compose comment,
  and rewrite the deploy/README variable list (+ the previously undocumented
  GATEWAY_VK_APP_SECRET and TELEGRAM_SUPPORT_CHAT_ID).

The Gitea variables are reworked via the API; the stale TEST_/PROD_ entries are
deleted after the test contour goes green.
owner approved these changes 2026-07-03 19:11:23 +00:00
developer merged commit 4b4dcab9b6 into development 2026-07-03 19:16:33 +00:00
developer deleted branch feature/ci-vars-dedupe 2026-07-03 19:16:34 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: developer/scrabble-game#168