[CL-SEO] SEO audit -> deploy TG chat (server-owned, adami) #7

Merged
andrei merged 2 commits from feature/claude-cl-seo-tg-server-owned-20260525 into main 2026-05-25 19:51:15 +00:00
Owner

Что сделано

SEO audit для adami теперь шлёт TG-уведомление в тот же chat, куда идут deploy-нотификации, через server-owned путь:

  1. tg-bridge на 178 расширен endpoint-ом POST /notify (shared-secret auth).
  2. notify.mjs теперь шлёт X-Notify-Secret header.
  3. seo-audit.yml:
    • убран SEO_AGENT_DISABLE_TG: '1'
    • добавлен шаг резолва docker host gateway (так как tg-bridge.adami.kr DNS не настроен, используется <task-gw-ip>:8088)
    • проброшен SEO_NOTIFY_SECRET из Forgejo secret

Зачем

CEO: «пусть отчёты приходят туда же куда приходят отчёты о деплоях». Архитектура server-owned: workflow НЕ зовёт api.telegram.org напрямую (нарушало бы test_workflows_do_not_call_telegram_commit_deploy_helpers), а шлёт на tg-bridge на 178, дальше bridge сам обращается к Telegram API.

Предыдущий подход (inline-curl на api.telegram.org в workflow) был закрыт — он нарушал policy «оповещения должны идти от серверов в обход гитхаба».

План тестирования

  1. Merge в main.
  2. Forgejo UI → SEO Audit → workflow_dispatch.
  3. CEO видит TG: [adami-seo] *SEO audit — adami* health_score:* X * (delta…, gate…).

Где могу ошибаться

  • SEO_NOTIFY_SECRET repo-secret уже выставлен (PUT 201 для всех 3 repo).
  • tg-bridge на 178 уже слушает 0.0.0.0:8088 + UFW allow 172.16.0.0/12 (docker bridges) + /notify endpoint покрыт 10 unit-тестами.
  • Если task-контейнер на сети без docker-стандартного gateway — fail soft (notify.mjs логирует и не валит run).
## Что сделано SEO audit для **adami** теперь шлёт TG-уведомление в тот же chat, куда идут deploy-нотификации, через server-owned путь: 1. **tg-bridge** на 178 расширен endpoint-ом `POST /notify` (shared-secret auth). 2. **notify.mjs** теперь шлёт `X-Notify-Secret` header. 3. **seo-audit.yml**: - убран `SEO_AGENT_DISABLE_TG: '1'` - добавлен шаг резолва docker host gateway (так как `tg-bridge.adami.kr` DNS не настроен, используется `<task-gw-ip>:8088`) - проброшен `SEO_NOTIFY_SECRET` из Forgejo secret ## Зачем CEO: «пусть отчёты приходят туда же куда приходят отчёты о деплоях». Архитектура server-owned: workflow НЕ зовёт `api.telegram.org` напрямую (нарушало бы `test_workflows_do_not_call_telegram_commit_deploy_helpers`), а шлёт на tg-bridge на 178, дальше bridge сам обращается к Telegram API. Предыдущий подход (inline-curl на `api.telegram.org` в workflow) был закрыт — он нарушал policy «оповещения должны идти от серверов в обход гитхаба». ## План тестирования 1. Merge в `main`. 2. Forgejo UI → SEO Audit → workflow_dispatch. 3. CEO видит TG: `[adami-seo] *SEO audit — adami* health_score:* X * (delta…, gate…)`. ## Где могу ошибаться - `SEO_NOTIFY_SECRET` repo-secret уже выставлен (PUT 201 для всех 3 repo). - tg-bridge на 178 уже слушает `0.0.0.0:8088` + UFW allow `172.16.0.0/12` (docker bridges) + `/notify` endpoint покрыт 10 unit-тестами. - Если task-контейнер на сети без docker-стандартного gateway — fail soft (notify.mjs логирует и не валит run).
[CL-SEO] feat(seo-audit): resolve tg-bridge gateway + drop SEO_AGENT_DISABLE_TG (adami)
All checks were successful
SEO Audit / SEO Audit / adami (pull_request) Successful in 3s
Forgejo Smoke Test / Smoke (pull_request) Successful in 2s
d9f141e5a2
andrei merged commit c88c768d70 into main 2026-05-25 19:51:15 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
europa-tech-srl/adami-site!7
No description provided.