Add message-hub HelmRelease to d8-ugmk-prod: configure Kafka topics, environment variables, and enable Kafka integration in django.
This commit is contained in:
parent
3317bbf5cd
commit
15392f3373
@ -126,9 +126,13 @@ spec:
|
|||||||
- name: ZITADEL_HOST
|
- name: ZITADEL_HOST
|
||||||
value:
|
value:
|
||||||
_default: https://sarex-login.uralmine.com
|
_default: https://sarex-login.uralmine.com
|
||||||
|
# Включено вместе с message-hub: он консьюмер топика message-hub-stage
|
||||||
|
# (SETTINGS_TOPICS в apps/message-hub/d8-ugmk-prod/message-hub.yaml),
|
||||||
|
# а писать в этот топик должен django. Vault-шаблон django-kafka
|
||||||
|
# и KAFKA_SSL_CAFILE уже есть в base — здесь только флаг.
|
||||||
- name: SERVER_KAFKA_ENABLED
|
- name: SERVER_KAFKA_ENABLED
|
||||||
value:
|
value:
|
||||||
_default: "False"
|
_default: "True"
|
||||||
- name: KAFKA_TOPICS
|
- name: KAFKA_TOPICS
|
||||||
value:
|
value:
|
||||||
_default: '{"planning": "message-hub-stage", "ams-sync": "ams-sync"}'
|
_default: '{"planning": "message-hub-stage", "ams-sync": "ams-sync"}'
|
||||||
|
|||||||
@ -8,3 +8,7 @@ patches:
|
|||||||
target:
|
target:
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
name: message-hub
|
name: message-hub
|
||||||
|
- path: message-hub.yaml
|
||||||
|
target:
|
||||||
|
kind: HelmRelease
|
||||||
|
name: message-hub
|
||||||
|
|||||||
119
apps/message-hub/d8-ugmk-prod/message-hub.yaml
Normal file
119
apps/message-hub/d8-ugmk-prod/message-hub.yaml
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
---
|
||||||
|
# Патч 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-template-message-hub-kafka: |-
|
||||||
|
{{- with secret "secrets/data/kafka/apps/message-hub" -}}
|
||||||
|
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 -}}
|
||||||
Loading…
Reference in New Issue
Block a user