iac/apps/workspaces/aero/kustomization.yaml
emelinda d320af6ad7 Workspaces: зафиксирован выбор версии фронтенда по данным реестра
Комментарий в оверлее переписан с «в бандле есть srx_workspaces» на
проверяемые факты. Прежняя формулировка была получена grep'ом по
подстроке, которая матчит и srx_workspacesV2, — вывод оказался верным
по случайности.

Что проверено:
  * в бандле платформы из 18 упоминаний remoteEntry.js воркспейсовое
    одно, /workspaces-v2/..., и встречается только srx_workspacesV2;
  * отдаваемый контуром /module/remoteEntry.js объявляет то же имя;
  * в cr.yandex у workspaces-v2-frontend 61 тег contour_*, у v1
    (workspaces-frontend) ни одного, образа workspace-frontend нет.

Тег contour_2a4ce3fd из base — самая свежая contour-сборка: по датам
создания образов в реестре она от 2026-07-24, предыдущая от 2026-07-19.
Собирает такие образы джоба build_contour из
generic/build-contour-frontend по правилу «ветка master и
ENABLE_BUILD_IMAGE_CONTOUR=true», то есть contour_* всегда с мастера.
Переопределять тег в оверлее не нужно.
2026-08-09 01:05:26 +03:00

87 lines
5.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: workspaces
resources:
- ../base
patches:
# --- workspaces-api ---------------------------------------------------------
# Патчи адресуются по индексу, поэтому перед каждым replace идёт op: test на
# имя переменной. Если в base порядок envs изменится, сборка упадёт явно,
# вместо того чтобы молча перезаписать соседнее значение.
- target: {kind: HelmRelease, name: backend}
patch: |
# В base адрес django неверный ДВАЖДЫ: сервиса backend не существует
# (он называется backend-svc), и порт 8000 — это targetPort контейнера,
# а сам сервис принимает на 80. Проверено в кластере:
# backend-svc...:80 -> HTTP 200
# backend-svc...:8000 -> таймаут
# backend...:8000 -> имя не резолвится
# Ровно та же ошибка была в base у processing/engine-low.
- op: test
path: /spec/values/services/backend/envs/11/name
value: DJANGO_HOST
- op: replace
path: /spec/values/services/backend/envs/11/value/_default
value: http://backend-svc.django.svc.cluster.local:80
# ENVIRONMENT/ORIGINATOR в base говорят «prod» — это контур, а не прод.
# Значение уезжает в Sentry и в заголовки запросов к смежным сервисам.
- op: test
path: /spec/values/services/backend/envs/10/name
value: ENVIRONMENT
- op: replace
path: /spec/values/services/backend/envs/10/value/_default
value: aero
- op: test
path: /spec/values/services/backend/envs/12/name
value: DJANGO_ORIGINATOR
- op: replace
path: /spec/values/services/backend/envs/12/value/_default
value: aero_ws
# documentations в контуре нет и не будет. Выключить интеграцию целиком
# нечем: DOCUMENTATION_LOGGER_FEATURE (уже "0" в base) гасит только
# логирование, а GetDocumentByWS вызывается из обработчика GET workspace
# безусловно. Поэтому адрес оставлен «говорящим»: в логах будет видно имя
# несуществующего сервиса, а не молчаливый таймаут в никуда.
# Практическое следствие: карточка воркспейса отдаёт данные без документа.
- op: test
path: /spec/values/services/backend/envs/7/name
value: DOCUMENTATION_HOST
- op: replace
path: /spec/values/services/backend/envs/7/value/_default
value: http://documentations-api-svc.documentations.svc.cluster.local:80
# --- frontend ---------------------------------------------------------------
# Идёт из base без единого патча — и это осознанно, а не «руки не дошли».
#
# Фронтенд workspaces — это Module Federation remote с именем srx_workspaces,
# точка входа /module/remoteEntry.js. Его подгружает главный фронтенд
# платформы, поэтому наружу он НЕ публикуется: маршрут ему не нужен, нужен
# проксирующий location внутри nginx главного фронтенда. Он уже есть —
# apps/django/aero/nginx-configmap.yaml, location ~^/workspaces-v2/(.+).js,
# rewrite снимает префикс и проксирует в frontend-svc.workspaces:80.
#
# Версия — именно v2, хотя в репозитории есть и v1 (workspaces-frontend-static
# в apps/workspaces/dsinv). Так решает не выбор, а собранный бандл платформы.
# Проверено по трём независимым источникам:
#
# 1. В образе sarex-frontend-dev:contour_5.22.0 из 18 упоминаний
# remoteEntry.js воркспейсовое ровно одно — /workspaces-v2/module/...,
# а из имён ремоутов встречается только srx_workspacesV2
# (у v1 имя без суффикса — srx_workspaces, вхождений ноль).
# 2. Отдаваемый контуром /module/remoteEntry.js объявляет srx_workspacesV2.
# 3. В cr.yandex у образа workspaces-v2-frontend 61 тег contour_*,
# у workspaces-frontend (v1) — ни одного, только preprod и stage.
# Репозитория workspace-frontend в реестре нет вовсе.
#
# Тег в base — contour_2a4ce3fd — и есть САМАЯ СВЕЖАЯ contour-сборка:
# по датам создания образов в реестре она от 2026-07-24, следующая за ней
# contour_09b9baba от 2026-07-19. Собираются такие образы джобой
# build_contour из generic/build-contour-frontend, и её правило —
# ветка master при ENABLE_BUILD_IMAGE_CONTOUR=true, то есть contour_* по
# определению приезжает с мастера. Поэтому тег здесь не переопределяется:
# base уже указывает на нужное, и bump в base автоматически приедет сюда.