--- apiVersion: apps/v1 kind: Deployment metadata: name: attachments namespace: attachments labels: app: attachments spec: replicas: 1 selector: matchLabels: app: attachments template: metadata: labels: app: attachments annotations: traffic.sidecar.istio.io/excludeOutboundPorts: "8200" vault.hashicorp.com/agent-init-first: "true" vault.hashicorp.com/agent-inject: "true" vault.hashicorp.com/agent-pre-populate-only: "true" vault.hashicorp.com/auth-path: auth/kubernetes vault.hashicorp.com/role: attachments vault.hashicorp.com/agent-inject-secret-attachments-db: secrets/data/postgresql/apps/attachments vault.hashicorp.com/agent-inject-template-attachments-db: |- {{- with secret "secrets/data/postgresql/apps/attachments" -}} DATABASE_HOST=postgresql.attachments.svc.cluster.local DATABASE_PORT=5432 DATABASE_NAME=attachments_db DATABASE_USER={{ index .Data.data "username" }} DATABASE_PASSWORD={{ index .Data.data "password" }} DATABASE_SSL_MODE=disable {{- end -}} vault.hashicorp.com/agent-inject-secret-attachments-s3: secrets/data/minio/apps/attachments vault.hashicorp.com/agent-inject-template-attachments-s3: |- {{- with secret "secrets/data/minio/apps/attachments" -}} YANDEX_S3_ENDPOINT_URL=minio.minio:9000 YANDEX_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }} YANDEX_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }} YANDEX_S3_USE_SSL=false YANDEX_S3_REGION=ru-central YANDEX_S3_VERIFY=false BUCKET_NAME=attachments {{- end -}} spec: serviceAccountName: attachments-vault containers: - name: attachments image: cr.yandex/crp3ccidau046kdj8g9q/attachments:feature_6238c882 imagePullPolicy: IfNotPresent command: ["/bin/bash", "-ec"] args: - | set -a [ -f /vault/secrets/attachments-db ] && . /vault/secrets/attachments-db [ -f /vault/secrets/attachments-s3 ] && . /vault/secrets/attachments-s3 set +a exec /opt/attachments/entrypoint.sh ports: - name: http containerPort: 8000 protocol: TCP env: - name: POSTGRES_POOL_SIZE value: "10" - name: API_ADDRESS value: 0.0.0.0:8000 imagePullSecrets: - name: regcred