150 lines
5.6 KiB
YAML
150 lines
5.6 KiB
YAML
---
|
||
# ВНИМАНИЕ: envs и args — списки, kustomize заменяет их ЦЕЛИКОМ (JSON merge patch),
|
||
# поэтому здесь продублирован весь набор из apps/issues/base/backend.yaml.
|
||
# podAnnotations — map, мержится по ключам.
|
||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||
kind: HelmRelease
|
||
metadata:
|
||
name: backend
|
||
namespace: issues
|
||
spec:
|
||
values:
|
||
services:
|
||
backend:
|
||
deployment:
|
||
args:
|
||
_default:
|
||
- |
|
||
set -a
|
||
[ -f /vault/secrets/issues-db ] && . /vault/secrets/issues-db
|
||
[ -f /vault/secrets/issues-rabbitmq ] && . /vault/secrets/issues-rabbitmq
|
||
[ -f /vault/secrets/issues-s3 ] && . /vault/secrets/issues-s3
|
||
[ -f /vault/secrets/issues-django-auth ] && . /vault/secrets/issues-django-auth
|
||
[ -f /vault/secrets/issues-jwt-private ] && export JWT_PRIVATE_KEY="$(cat /vault/secrets/issues-jwt-private)"
|
||
[ -f /vault/secrets/issues-jwt-public ] && export JWT_PUBLIC_KEY="$(cat /vault/secrets/issues-jwt-public)"
|
||
[ -f /vault/secrets/issues-kafka ] && . /vault/secrets/issues-kafka
|
||
set +a
|
||
exec /src/entrypoint.sh
|
||
|
||
volumes:
|
||
_default:
|
||
- name: production-configmap
|
||
mountPath:
|
||
_default: /src/config/settings/production.py
|
||
subPath:
|
||
_default: production.py
|
||
readOnly:
|
||
_default: true
|
||
configMap:
|
||
name:
|
||
_default: production-configmap
|
||
items:
|
||
- key: production.py
|
||
path:
|
||
_default: production.py
|
||
- name: kafka-ca-cert
|
||
mountPath:
|
||
_default: /usr/local/share/ca-certificates/kafka.crt
|
||
subPath:
|
||
_default: kafka.crt
|
||
readOnly:
|
||
_default: true
|
||
configMap:
|
||
name:
|
||
_default: kafka-ca-cert
|
||
items:
|
||
- key: kafka.crt
|
||
path:
|
||
_default: kafka.crt
|
||
|
||
envs:
|
||
- name: ENVIRONMENT
|
||
value:
|
||
_default: "production"
|
||
|
||
- name: AERO_PUBLIC_HOST
|
||
value:
|
||
_default: "https://sarex.contour.infra.sarex.tech"
|
||
|
||
- name: AERO_HOST
|
||
value:
|
||
_default: "https://sarex.contour.infra.sarex.tech"
|
||
|
||
- name: BASE_AERO_URL
|
||
value:
|
||
_default: "https://sarex.contour.infra.sarex.tech"
|
||
|
||
- name: BASE_AUTH_URL
|
||
value:
|
||
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||
|
||
- name: WORKFLOWS_HOST
|
||
value:
|
||
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
||
|
||
- name: WORKFLOWS_URL
|
||
value:
|
||
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
||
|
||
- name: RESOURCES_API_HOST
|
||
value:
|
||
_default: "http://iam-backend.iam.svc.cluster.local:8000"
|
||
|
||
- name: EAV_HOST
|
||
value:
|
||
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
||
|
||
- name: SAREX_API
|
||
value:
|
||
_default: "https://sarex.contour.infra.sarex.tech"
|
||
|
||
- name: DOCUMENTATIONS_URL
|
||
value:
|
||
_default: "http://documentations-api-svc.documentations.svc.cluster.local:80"
|
||
|
||
- name: DJANGO_SETTINGS_MODULE
|
||
value:
|
||
_default: "config.settings.production"
|
||
|
||
- name: API_ADDRESS
|
||
value:
|
||
_default: "8000"
|
||
|
||
# Kafka — код (kafka_app/app.py) ждёт KAFKA_HOST единой строкой "host:port",
|
||
# KAFKA_SSL_CAFILE — путь к файлу (не PEM-текст, в отличие от flows-backend).
|
||
# Хост/порт/CA — те же проверенные значения, что у message-hub/pm/flows.
|
||
- name: KAFKA_HOST
|
||
value:
|
||
_default: "kafka-kafka-contour.kafka.svc.cluster.local:9092"
|
||
|
||
- name: KAFKA_SSL_CAFILE
|
||
value:
|
||
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
||
|
||
# Топики совпадают с тем, что уже провижено на брокере (см. topics
|
||
# в секрете kafka/apps/pm) и с SETTINGS_TOPICS у message-hub.
|
||
- name: KAFKA_ISSUES_TOPIC
|
||
value:
|
||
_default: "issues_broadcast_prod"
|
||
|
||
- name: KAFKA_EAV_ASSETS_TOPIC
|
||
value:
|
||
_default: "assets_broadcast"
|
||
|
||
podAnnotations:
|
||
_default:
|
||
vault.hashicorp.com/agent-inject-secret-issues-s3: secrets/data/minio/apps/issues
|
||
vault.hashicorp.com/agent-inject-template-issues-s3: |-
|
||
{{- with secret "secrets/data/minio/apps/issues" -}}
|
||
YC_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
|
||
YC_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
|
||
YC_S3_BUCKET_NAME=sarex-issues
|
||
YC_S3_ENDPOINT_URL=https://s3.uralmine.com
|
||
{{- end -}}
|
||
vault.hashicorp.com/agent-inject-secret-issues-kafka: secrets/data/kafka/apps/issues
|
||
vault.hashicorp.com/agent-inject-template-issues-kafka: |-
|
||
{{- with secret "secrets/data/kafka/apps/issues" -}}
|
||
KAFKA_USERNAME={{ index .Data.data "username" }}
|
||
KAFKA_PASSWORD={{ index .Data.data "password" }}
|
||
{{- end -}}
|