--- # Патч 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: 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 # В образе нет миграций под текущие модели pm — migrate пишет # "Your models in app(s): 'pm' have changes that are not yet # reflected in a migration". Генерируем их на старте. # Ошибку не глотаем молча, но и не роняем контейнер: иначе # неудачный makemigrations превратит рабочий под в CrashLoop. python manage.py makemigrations pm --noinput \ || echo "!!! makemigrations FAILED - продолжаю с существующими миграциями" python manage.py migrate exec /opt/sarex/entrypoint.sh 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 -}}