Комментарий в оверлее переписан с «в бандле есть 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_* всегда с мастера.
Переопределять тег в оверлее не нужно.
87 lines
5.7 KiB
YAML
87 lines
5.7 KiB
YAML
---
|
||
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 автоматически приедет сюда.
|