From e1ca5d770637bbc6d72e2122d893b660145de336 Mon Sep 17 00:00:00 2001 From: emelinda Date: Wed, 5 Aug 2026 15:50:18 +0300 Subject: [PATCH] Add `s3-proxy` HelmRelease to `d8-ugmk-prod` and configure endpoint and annotations for closed contour compatibility --- apps/django/d8-ugmk-prod/kustomization.yaml | 34 ++++++++++++--------- apps/django/d8-ugmk-prod/s3-proxy.yaml | 31 +++++++++++++++++++ 2 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 apps/django/d8-ugmk-prod/s3-proxy.yaml diff --git a/apps/django/d8-ugmk-prod/kustomization.yaml b/apps/django/d8-ugmk-prod/kustomization.yaml index 84d7732..72d09c1 100644 --- a/apps/django/d8-ugmk-prod/kustomization.yaml +++ b/apps/django/d8-ugmk-prod/kustomization.yaml @@ -1,15 +1,19 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: django -resources: - - ../base -patches: - - path: backend.yaml - target: - kind: HelmRelease - name: backend - - path: zitadel-configmap.yaml - target: - kind: ConfigMap - name: zitadel-configmap \ No newline at end of file +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: django +resources: + - ../base +patches: + - path: backend.yaml + target: + kind: HelmRelease + name: backend + - path: zitadel-configmap.yaml + target: + kind: ConfigMap + name: zitadel-configmap + - path: s3-proxy.yaml + target: + kind: HelmRelease + name: s3-proxy \ No newline at end of file diff --git a/apps/django/d8-ugmk-prod/s3-proxy.yaml b/apps/django/d8-ugmk-prod/s3-proxy.yaml new file mode 100644 index 0000000..bf76839 --- /dev/null +++ b/apps/django/d8-ugmk-prod/s3-proxy.yaml @@ -0,0 +1,31 @@ +--- +# Патч s3-proxy для контура УГМК. +# +# В base зашит AWS_API_ENDPOINT=https://minio.contour.infra.sarex.tech — +# в закрытом контуре этот хост недоступен, прокси не достучится до MinIO +# и маршрут /media/ (s3-proxy-virt-service в istio-config) вернёт ошибку. +# +# podAnnotations — map, мержится по ключам, поэтому переопределён только +# agent-inject-template-s3; остальные vault-аннотации берутся из base. +# Эндпоинт задан литералом, а не через .Data.data.client.endpoint: так же +# сделано в apps/django/d8-ugmk-prod/backend.yaml:145 для того же секрета +# secrets/data/minio/apps/django — держим один способ на весь ns. +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: s3-proxy + namespace: django +spec: + values: + services: + s3-proxy: + podAnnotations: + _default: + vault.hashicorp.com/agent-inject-template-s3: | + {{- with secret "secrets/data/minio/apps/django" }} + AWS_API_ENDPOINT=https://s3.uralmine.com + {{- $buckets := index .Data.data "buckets" }} + AWS_S3_BUCKET={{ if gt (len $buckets) 0 }}{{ index (index $buckets 0) "name" }}{{ else }}django{{ end }} + AWS_ACCESS_KEY_ID={{ index .Data.data "access_key" }} + AWS_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }} + {{- end }}