121 lines
5.7 KiB
YAML
121 lines
5.7 KiB
YAML
---
|
||
# Патч message-hub для контура УГМК.
|
||
#
|
||
# ВНИМАНИЕ: envs — список, kustomize заменяет его ЦЕЛИКОМ (JSON merge patch),
|
||
# поэтому здесь продублирован весь набор из apps/message-hub/base/message-hub.yaml.
|
||
# podAnnotations — map, мержится по ключам, поэтому переопределён только
|
||
# agent-inject-template-message-hub-kafka; остальные берутся из base.
|
||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||
kind: HelmRelease
|
||
metadata:
|
||
name: message-hub
|
||
namespace: message-hub
|
||
spec:
|
||
values:
|
||
services:
|
||
backend:
|
||
# base: production_24425472 от 15.02.2026 — 18 production-релизов назад.
|
||
# Здесь актуальный production от 31.07.2026.
|
||
image:
|
||
name:
|
||
_default: cr.yandex/crp3ccidau046kdj8g9q/message-hub:production_e8010fe4
|
||
|
||
envs:
|
||
- name: WORKER_TIMEOUT
|
||
value:
|
||
_default: "60"
|
||
|
||
- name: PYTHONPATH
|
||
value:
|
||
_default: "src"
|
||
|
||
- name: SETTINGS_MAX_RETRIES
|
||
value:
|
||
_default: "1"
|
||
|
||
# base: '{"planning": "pm", "assets": "assets_broadcast", "project_entity": "issues_broadcast"}'
|
||
# Два исправления:
|
||
# 1. ключ project_entity невалиден — TopicsType (src/enums.py) знает только
|
||
# assets / planning / issues / resources_updated / resources_deleted,
|
||
# на прочих валидатор check_topics_keys кидает ValueError при старте.
|
||
# Консьюмер лежит в project_entity.py, но подписан на TopicsType.issues.
|
||
# 2. planning был "pm", а django публикует в "message-hub-stage"
|
||
# (KAFKA_TOPICS, apps/django/d8-ugmk-prod/backend.yaml) — продюсер
|
||
# и консьюмер сидели на разных топиках.
|
||
- name: SETTINGS_TOPICS
|
||
value:
|
||
_default: '{"planning": "message-hub-stage", "assets": "assets_broadcast", "issues": "issues_broadcast"}'
|
||
|
||
# В base нет, дефолт True. S3 контура (s3.uralmine.com) отдаёт
|
||
# самоподписанный сертификат — тот же случай, что S3_VERIFY=False у pm.
|
||
# Флаг общий: гасит проверку TLS сразу и для S3, и для всех HTTP-клиентов.
|
||
- name: SETTINGS_VERIFY_SSL
|
||
value:
|
||
_default: "0"
|
||
|
||
# base: http://backend-service.pm.svc.cluster.local:8000 — сервис pm
|
||
# называется backend-svc (apps/pm/base/backend.yaml:91).
|
||
- name: SAREX_BASE_HOST
|
||
value:
|
||
_default: "http://backend-svc.pm.svc.cluster.local:8000"
|
||
|
||
# В base нет. Без него ServiceConfig с префиксом PM_ уходит
|
||
# в дефолт http://localhost:8001. В dsinv и brusnika задан.
|
||
- name: PM_HOST
|
||
value:
|
||
_default: "http://backend-svc.pm.svc.cluster.local:8000"
|
||
|
||
# Имена сверены с infrastructure/istio-config/d8-ugmk-prod/istio-config.yaml.
|
||
- name: EAV_HOST
|
||
value:
|
||
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
||
|
||
- name: ISSUES_HOST
|
||
value:
|
||
_default: "http://backend-svc.issues.svc.cluster.local:80"
|
||
|
||
- name: CACHE_HOST
|
||
value:
|
||
_default: "redis.pm.svc.cluster.local"
|
||
|
||
- name: CACHE_PORT
|
||
value:
|
||
_default: "6379"
|
||
|
||
- name: CACHE_SSL
|
||
value:
|
||
_default: "0"
|
||
|
||
# ВНИМАНИЕ: значение не подтверждено. В base было захардкожено
|
||
# kafka-kafka-contour-controller-headless — имя из другого контура,
|
||
# здесь HelmRelease называется kafka (infrastructure/kafka/d8-ugmk-prod).
|
||
# Проверить: kubectl -n kafka get svc
|
||
# Задано переменной, а не vault-шаблоном, специально: ошибка в шаблоне
|
||
# блокирует старт пода (agent-init-first), ошибка в env — только логи.
|
||
- name: KAFKA_HOST
|
||
value:
|
||
_default: "kafka-controller-headless.kafka.svc.cluster.local"
|
||
|
||
- name: KAFKA_PORT
|
||
value:
|
||
_default: "9092"
|
||
|
||
# listeners.client.protocol: SASL_SSL — без CA соединение не поднимется.
|
||
- name: KAFKA_SSL_CAFILE
|
||
value:
|
||
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
||
|
||
podAnnotations:
|
||
_default:
|
||
# Из base убраны KAFKA_HOST/KAFKA_PORT: файл /vault/secrets/message-hub-kafka
|
||
# подгружается через `set -a; . file`, то есть переписывает переменные
|
||
# окружения. Пока хост не подтверждён, держим его в envs.
|
||
vault.hashicorp.com/agent-inject-secret-message-hub-kafka: secrets/data/kafka/apps/pm
|
||
vault.hashicorp.com/agent-inject-template-message-hub-kafka: |-
|
||
{{- with secret "secrets/data/kafka/apps/pm" -}}
|
||
KAFKA_USERNAME={{ index .Data.data "username" }}
|
||
KAFKA_PASSWORD={{ index .Data.data "password" }}
|
||
KAFKA_SECURITY_PROTOCOL={{ index .Data.data.auth "security_protocol" }}
|
||
KAFKA_SASL_MECHANISM={{ index .Data.data.auth "sasl_mechanism" }}
|
||
{{- end -}}
|