171 lines
5.6 KiB
YAML
171 lines
5.6 KiB
YAML
---
|
||
# Патч backend для контура УГМК.
|
||
#
|
||
# ВНИМАНИЕ: args — список, kustomize заменяет его ЦЕЛИКОМ (JSON merge patch),
|
||
# поэтому здесь продублирован весь скрипт из apps/pm/base/backend.yaml.
|
||
# При правке args в base их нужно продублировать и сюда.
|
||
# podAnnotations — map, мержится по ключам, поэтому переопределён только
|
||
# один ключ agent-inject-template-pm-s3; остальные vault-аннотации берутся из base.
|
||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||
kind: HelmRelease
|
||
metadata:
|
||
name: backend
|
||
namespace: pm
|
||
spec:
|
||
values:
|
||
services:
|
||
backend:
|
||
# base: production_a889f6a3 (релиз 1.14.1, 13.07.2026).
|
||
# Здесь 1.14.7 — pipeline 72144, зелёный.
|
||
image:
|
||
name:
|
||
_default: cr.yandex/crp3ccidau046kdj8g9q/pm-backend:production_fa0f1551
|
||
|
||
deployment:
|
||
args:
|
||
_default:
|
||
- |
|
||
set -a
|
||
[ -f /vault/secrets/pm-db ] && . /vault/secrets/pm-db
|
||
[ -f /vault/secrets/pm-rabbitmq ] && . /vault/secrets/pm-rabbitmq
|
||
[ -f /vault/secrets/pm-s3 ] && . /vault/secrets/pm-s3
|
||
set +a
|
||
python manage.py makemigrations pm --noinput
|
||
python manage.py migrate
|
||
exec /opt/sarex/entrypoint.sh
|
||
|
||
# ВНИМАНИЕ: envs — список, kustomize заменяет его ЦЕЛИКОМ,
|
||
# поэтому здесь продублирован весь набор из apps/pm/base/backend.yaml.
|
||
# Отличия от base помечены комментариями.
|
||
envs:
|
||
- name: USERS_INTERNAL_HOST
|
||
value:
|
||
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||
|
||
- name: CELERY_REDIS_HOST
|
||
value:
|
||
_default: "redis.pm.svc.cluster.local"
|
||
|
||
- name: RESOURCES_INTERNAL_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: EAV_API_PREFIX
|
||
value:
|
||
_default: "/api/v0"
|
||
|
||
- name: EAV_API_PREFIX_V1
|
||
value:
|
||
_default: "/api/v1"
|
||
|
||
- name: TRACING_INSECURE
|
||
value:
|
||
_default: "False"
|
||
|
||
- name: SERVER_ENABLE_SYNC_RESOURCES
|
||
value:
|
||
_default: "True"
|
||
|
||
- name: SERVER_DELETED_TASK_MAX_AGE_DAYS
|
||
value:
|
||
_default: "1"
|
||
|
||
- name: SERVER_EXPIRED_TASK_NOTIFICATION_HOUR
|
||
value:
|
||
_default: "17"
|
||
|
||
- name: LANG
|
||
value:
|
||
_default: "C.UTF-8"
|
||
|
||
- name: LC_ALL
|
||
value:
|
||
_default: "C.UTF-8"
|
||
|
||
- name: PYTHONUTF8
|
||
value:
|
||
_default: "1"
|
||
|
||
- name: CACHE_SSL
|
||
value:
|
||
_default: "False"
|
||
|
||
- name: CACHE_SSL_CA_CERTS
|
||
value:
|
||
_default: ""
|
||
|
||
# base: "False". При False CACHE_CLIENT = None (config/settings/base.py:190),
|
||
# и GET /api/pm/msp/external-task-info/ падает с
|
||
# AttributeError: 'NoneType' object has no attribute 'get' —
|
||
# sarex/pm/utils/broker_producer.py:38 дёргает .get() без проверки на None.
|
||
- name: CACHE_ENABLE
|
||
value:
|
||
_default: "True"
|
||
|
||
# Новые: в base их нет. Дефолт CacheSettings.host — localhost,
|
||
# т.е. без них включённый кэш стучится в собственный под.
|
||
# Redis разворачивается тут же — apps/pm/d8-ugmk-prod/redis.yaml.
|
||
- name: CACHE_HOST
|
||
value:
|
||
_default: "redis.pm.svc.cluster.local"
|
||
|
||
- name: CACHE_PORT
|
||
value:
|
||
_default: "6379"
|
||
|
||
- name: CLICKHOUSE_ENABLE
|
||
value:
|
||
_default: "False"
|
||
|
||
- name: KAFKA_ENABLE
|
||
value:
|
||
_default: "False"
|
||
|
||
- name: AUTH_PUBLIC_TOKEN_URL
|
||
value:
|
||
_default: "https://sarex.uralmine.com/api/token/public/"
|
||
|
||
- name: SERVER_HOST
|
||
value:
|
||
_default: "https://sarex.uralmine.com"
|
||
|
||
- name: SERVER_API_HOST
|
||
value:
|
||
_default: "https://sarex.uralmine.com"
|
||
|
||
- name: SERVER_DEBUG
|
||
value:
|
||
_default: "False"
|
||
|
||
- name: SERVER_ALLOWED_HOSTS
|
||
value:
|
||
_default: '["*"]'
|
||
|
||
- name: SERVER_USE_OTEL
|
||
value:
|
||
_default: "False"
|
||
|
||
- name: SERVER_VERIFY_SSL
|
||
value:
|
||
_default: "False"
|
||
|
||
- name: SERVER_LOG_LEVEL
|
||
value:
|
||
_default: "INFO"
|
||
|
||
podAnnotations:
|
||
_default:
|
||
vault.hashicorp.com/agent-inject-template-pm-s3: |-
|
||
{{- with secret "secrets/data/minio/apps/pm" -}}
|
||
S3_HOST={{ index .Data.data.client "endpoint" }}
|
||
S3_LOGIN={{ index .Data.data "access_key" }}
|
||
S3_PASSWORD={{ index .Data.data "secret_key" }}
|
||
S3_VERIFY=False
|
||
{{- $buckets := index .Data.data "buckets" }}
|
||
S3_BUCKET={{ if gt (len $buckets) 0 }}{{ index (index $buckets 0) "name" }}{{ else }}sarex-media-storage{{ end }}
|
||
{{- end -}}
|