diff --git a/apps/django/aero/kustomization.yaml b/apps/django/aero/kustomization.yaml index 11cd372..982f086 100644 --- a/apps/django/aero/kustomization.yaml +++ b/apps/django/aero/kustomization.yaml @@ -101,6 +101,32 @@ patches: path: /spec/values/services/celery/image/name/_default value: cr.yandex/crp3ccidau046kdj8g9q/backend:production_f813140d + # --- s3-proxy: S3 внутри кластера ------------------------------------------ + # В base адрес MinIO зашит ВНУТРИ vault-шаблона: + # AWS_API_ENDPOINT=https://minio.contour.infra.sarex.tech + # Это чужой контур. Через values не перекрыть — значение внутри шаблона + # аннотации, поэтому заменяем аннотацию целиком, как у backend и celery. + # + # Проявлялось не отказом в соединении, а тем, что s3-proxy ДОСТУЧАЛСЯ до + # чужого MinIO и получил от него настоящий ответ S3: + # SignatureDoesNotMatch: The request signature we calculated does not + # match the signature you provided + # наружу это выглядело как 500 на каждую плитку /media/orthophotos/... + # Наши ключи в чужом хранилище, разумеется, не подходят — и хорошо, что так: + # иначе контур молча читал бы и писал в чужой S3. + - target: {kind: HelmRelease, name: s3-proxy} + patch: | + - op: replace + path: /spec/values/services/s3-proxy/podAnnotations/_default/vault.hashicorp.com~1agent-inject-template-s3 + value: | + {{- with secret "secrets/data/minio/apps/django" }} + AWS_API_ENDPOINT=http://minio.minio.svc.cluster.local:9000 + {{- $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 }} + # --- backend: убираем зависимости, которых в контуре нет ------------------ - target: {kind: HelmRelease, name: backend} patch: |