iac/apps/workspaces/aero
emelinda e55958f7cb Workspaces в контуре aero: api и фронтенд-ремоут
apps/workspaces/aero — оверлей поверх base:

  * DJANGO_HOST в base неверен дважды: сервиса backend не существует
    (он backend-svc), и 8000 — это targetPort контейнера, а сервис
    принимает на 80. Проверено в кластере: backend-svc:80 отдаёт 200,
    backend-svc:8000 таймаутит, backend:8000 не резолвится. Та же
    ошибка была в base у processing/engine-low.
  * ENVIRONMENT/DJANGO_ORIGINATOR — «prod» заменён на aero: значение
    уезжает в Sentry и в заголовки запросов к смежным сервисам.
  * DOCUMENTATION_HOST переписан на честное имя внутри кластера.
    Выключить интеграцию нечем: DOCUMENTATION_LOGGER_FEATURE гасит
    только логирование, а GetDocumentByWS вызывается из обработчика
    GET workspace безусловно. Сервиса documentations в контуре нет и
    не будет — карточка воркспейса отдаётся без документа.

Фронтенд идёт из base без патчей и наружу НЕ публикуется: это Module
Federation remote srx_workspaces, его подгружает главный фронтенд
платформы. Версия — v2, и это не выбор: в бандле
sarex-frontend-dev:contour_5.22.0 лежит строка
/workspaces-v2/module/remoteEntry.js и имя ремоута srx_workspaces,
обращений к v1 нет вовсе. У v1 (platform/workspaces-frontend) к тому же
нет ни одной contour-сборки.

nginx-configmap: исправлен порядок директив в трёх location'ах.
set обязан идти ДО rewrite ... break — обе принадлежат
ngx_http_rewrite_module, и флаг break прекращает обработку его
директив, поэтому set после него не выполнялся. Переменная оставалась
пустой, nginx писал «no host in upstream :80» и отдавал 500. Так падали
и /workspaces-v2/..., и /workflows/... — маршрут / при этом работал,
из-за чего дефект и не был замечен раньше.

Обвязка: regcred и роль Vault для namespace workspaces, apps/workspaces
в gitea_sync_paths, секреты secrets/apps/workspaces/postgres и
secrets/vault/common/django_auth. Последний — вопреки имени пути НЕ
токен Zitadel: workspaces читает оттуда ключ key и кладёт его в
DJANGO_BASIC_AUTH, то есть это base64 логина и пароля администратора
django. Совпадение проверено в кластере по sha256.
2026-08-09 00:15:46 +03:00
..
kustomization.yaml Workspaces в контуре aero: api и фронтенд-ремоут 2026-08-09 00:15:46 +03:00