chart 3.0
This commit is contained in:
+16
-47
@@ -1,18 +1,5 @@
|
||||
{{/*
|
||||
============================================================================
|
||||
Переменные окружения HRBox
|
||||
============================================================================
|
||||
|
||||
envs_all включается во все контейнеры, которым нужен конфиг приложения:
|
||||
web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
и джобы миграций. Один общий блок проще расходящихся наборов, и именно так
|
||||
устроено продовое окружение.
|
||||
|
||||
Чувствительные значения приходят через secretKeyRef из секрета приложения
|
||||
(00-app-secret.yaml), а не открытым текстом в спеке пода.
|
||||
*/}}
|
||||
{{- define "envs_all" }}
|
||||
# --- Приложение -----------------------------------------------------------
|
||||
# Приложение
|
||||
- name: INSTANCE_NAME
|
||||
value: {{ .Values.app.instanceName | quote }}
|
||||
- name: DEFAULT_TENANT_HOSTNAME
|
||||
@@ -45,7 +32,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "APP_ENCRYPTION_KEY" "key" "encryption-key") | nindent 0 }}
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "SERVICES_INTERNAL_SECRET" "key" "services-internal-secret") | nindent 0 }}
|
||||
|
||||
# --- Своя политика конфиденциальности -------------------------------------
|
||||
# Своя политика конфиденциальности
|
||||
- name: ALLOW_CUSTOM_POLICY_URLS
|
||||
value: {{ .Values.app.customPolicy.enabled | quote }}
|
||||
{{- if .Values.app.customPolicy.enabled }}
|
||||
@@ -60,7 +47,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
value: ""
|
||||
{{- end }}
|
||||
|
||||
# --- PostgreSQL -----------------------------------------------------------
|
||||
# PostgreSQL
|
||||
- name: POSTGRES_VHOST
|
||||
value: {{ .Values.app.postgres.host | quote }}
|
||||
- name: POSTGRES_PORT
|
||||
@@ -73,7 +60,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
value: {{ .Values.app.postgres.citus | quote }}
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "POSTGRES_PASSWORD" "key" "postgres-password") | nindent 0 }}
|
||||
|
||||
# --- Redis / Dragonfly ----------------------------------------------------
|
||||
# Redis / Dragonfly
|
||||
- name: REDIS_HOST
|
||||
value: {{ include "hrbox.redisHost" . | quote }}
|
||||
- name: REDIS_PORT
|
||||
@@ -81,13 +68,11 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
- name: REDIS_CONNECTION
|
||||
value: {{ printf "tcp://%s:%s" (include "hrbox.redisHost" .) (.Values.app.redis.port | toString) | quote }}
|
||||
|
||||
# --- NATS -----------------------------------------------------------------
|
||||
# NATS
|
||||
- name: BROKER
|
||||
value: "nats"
|
||||
- name: NATS_URL
|
||||
value: {{ include "hrbox.natsUrl" . | quote }}
|
||||
# Число реплик JetStream-стримов должно совпадать с размером кластера NATS,
|
||||
# иначе стрим создаётся в одном экземпляре и теряется вместе со своей нодой.
|
||||
- name: NATS_STREAM_REPLICAS
|
||||
{{- if and .Values.nats.enabled .Values.nats.cluster.enabled }}
|
||||
value: {{ .Values.nats.cluster.replicas | quote }}
|
||||
@@ -95,7 +80,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
value: "1"
|
||||
{{- end }}
|
||||
|
||||
# --- S3 -------------------------------------------------------------------
|
||||
# S3
|
||||
- name: S3_ENDPOINT
|
||||
value: {{ .Values.app.s3.endpoint | quote }}
|
||||
- name: S3_BUCKET
|
||||
@@ -113,7 +98,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "S3_KEY" "key" "s3-key") | nindent 0 }}
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "S3_SECRET" "key" "s3-secret") | nindent 0 }}
|
||||
|
||||
# --- Почта ----------------------------------------------------------------
|
||||
# Почта
|
||||
- name: SENDER_ENV
|
||||
value: "PROD"
|
||||
- name: SENDER_DEV_EMAIL
|
||||
@@ -136,7 +121,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
value: {{ .Values.app.smtp.sslVerifyPeer | quote }}
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "SMTP_PASSWORD" "key" "smtp-password") | nindent 0 }}
|
||||
|
||||
# --- Внутренние сервисы ---------------------------------------------------
|
||||
# Внутренние сервисы
|
||||
- name: GEONAMES_URL
|
||||
value: {{ include "hrbox.geonamesUrl" . | quote }}
|
||||
- name: GOWORKER_URL
|
||||
@@ -160,27 +145,27 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
- name: DOCCONV_MAX_PARALLEL_TASKS
|
||||
value: {{ .Values.app.fileProcessor.docconvMaxParallelTasks | quote }}
|
||||
|
||||
# --- HRBox Hub ------------------------------------------------------------
|
||||
# HRBox Hub
|
||||
- name: HUB_URL
|
||||
value: {{ .Values.app.hub.url | quote }}
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "HUB_TOKEN" "key" "hub-token") | nindent 0 }}
|
||||
|
||||
# --- Nanabush Player ------------------------------------------------------
|
||||
# Nanabush Player
|
||||
{{- include "envs_nanabush_player" . }}
|
||||
|
||||
# --- Чат ------------------------------------------------------------------
|
||||
# Чат
|
||||
- name: CHATBOX_SENTRY_DSN
|
||||
value: {{ .Values.app.sentry.chatboxDsn | quote }}
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "CHATBOX_WRAPPING_KEY" "key" "chatbox-wrapping-key") | nindent 0 }}
|
||||
|
||||
# --- Видеозвонки (LiveKit) ------------------------------------------------
|
||||
# Видеозвонки (LiveKit)
|
||||
- name: LIVEKIT_URL
|
||||
value: {{ .Values.app.livekit.url | quote }}
|
||||
- name: LIVEKIT_API_KEY
|
||||
value: {{ .Values.app.livekit.apiKey | quote }}
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "LIVEKIT_API_SECRET" "key" "livekit-api-secret") | nindent 0 }}
|
||||
|
||||
# --- AI -------------------------------------------------------------------
|
||||
# AI
|
||||
- name: AI_DOCS_INDEX_ENABLED
|
||||
value: {{ .Values.app.ai.docsIndexEnabled | quote }}
|
||||
- name: AI_SEMANTIC_INDEX_ENABLED
|
||||
@@ -191,7 +176,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
value: {{ .Values.app.ai.yandex.folderId | quote }}
|
||||
{{- include "hrbox.secretEnv" (dict "ctx" . "env" "YANDEX_CLOUD_AI_API_KEY" "key" "yandex-ai-api-key") | nindent 0 }}
|
||||
|
||||
# --- Внешние интеграции ---------------------------------------------------
|
||||
# Внешние интеграции
|
||||
- name: TELEGRAM_API_URL
|
||||
value: {{ .Values.app.integrations.telegram.apiUrl | quote }}
|
||||
- name: AUTH_GOOGLE_ENABLED
|
||||
@@ -211,7 +196,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
- name: GLAGOL_API_URL
|
||||
value: {{ .Values.app.integrations.glagol.apiUrl | quote }}
|
||||
|
||||
# --- Sentry ---------------------------------------------------------------
|
||||
# Sentry
|
||||
- name: SENTRY_DSN
|
||||
value: {{ .Values.app.sentry.dsn | quote }}
|
||||
- name: SENTRY_DSN_LAUNCHPAD
|
||||
@@ -223,7 +208,7 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
- name: SENTRY_RELEASE
|
||||
value: {{ .Values.image.hrbox | quote }}
|
||||
|
||||
# --- Метаданные пода ------------------------------------------------------
|
||||
# Метаданные пода
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
@@ -242,13 +227,6 @@ web, worker, conductor, chatbox, goworker, kedoca, file-processor, geonames
|
||||
fieldPath: spec.nodeName
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Настройки Nanabush Player на стороне HRBox.
|
||||
|
||||
NANABUSH_PLAYER_AUDIENCE и NANABUSH_PLAYER_PUBLIC_ORIGIN всегда равны:
|
||||
audience тикета — это origin браузера без пути, а путь монтирования едет
|
||||
отдельной переменной NANABUSH_PLAYER_BASE_PATH.
|
||||
*/}}
|
||||
{{- define "envs_nanabush_player" -}}
|
||||
{{- $player := .Values.app.nanabushPlayer }}
|
||||
- name: NANABUSH_PLAYER_ENABLED
|
||||
@@ -291,10 +269,6 @@ audience тикета — это origin браузера без пути, а п
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Ключ подписи launch-тикета. Живёт только в PHP-контейнерах, которые выпускают
|
||||
тикеты: nginx и вспомогательным контейнерам он не нужен.
|
||||
*/}}
|
||||
{{- define "envs_nanabush_player_signing" -}}
|
||||
{{- $cfg := .Values.app.nanabushPlayer.deployment }}
|
||||
{{- if $cfg.enabled }}
|
||||
@@ -304,9 +278,6 @@ audience тикета — это origin браузера без пути, а п
|
||||
name: {{ include "nanabushPlayer.secretName" . | quote }}
|
||||
key: {{ required "Нужно имя ключа ticketHs256 в секрете Nanabush Player" $cfg.existingSecret.keys.ticketHs256 | quote }}
|
||||
{{- with $cfg.existingSecret.keys.ticketKeys }}
|
||||
# Кольцо ключей launch-тикета: HRBox подписывает первым ключом, Player
|
||||
# принимает все. Тот же ключ секрета читает и сам Player, поэтому ротация —
|
||||
# это одно значение на обе стороны.
|
||||
- name: NANABUSH_PLAYER_TICKET_KEYS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
@@ -316,7 +287,6 @@ audience тикета — это origin браузера без пути, а п
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Криптографические настройки сервиса электронной подписи. */}}
|
||||
{{- define "envs_kedoca" }}
|
||||
- name: ROOT_CA_PASS
|
||||
value: {{ .Values.app.kedoca.rootCaPass | quote }}
|
||||
@@ -328,7 +298,6 @@ audience тикета — это origin браузера без пути, а п
|
||||
value: {{ .Values.app.kedoca.pkeyopt | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{/* OpenTelemetry — только когда app.tracing.enabled. */}}
|
||||
{{- define "envs_tracing" }}
|
||||
- name: OTEL_PHP_AUTOLOAD_ENABLED
|
||||
value: "true"
|
||||
|
||||
Reference in New Issue
Block a user