Я использую helm / k8s для развертывания стороннего ( prisma ) контейнера. Контейнер ожидает переменную окружения в форме yaml, похожую на
port: 4466
managementApiSecret: $PRISMA_SECRET
databases:
default:
connector: postgres
host: postgresql
port: 5432
user: postgres
password: $PG_SECRET
migrations: true
У меня есть доступ к паролю postgres и управлению ApiSecret в качестве значений в отдельном секрете. Я пытаюсь создать модуль, который извлекает два секрета и использует их для создания переменной среды. Моя в настоящее время попытка решения выглядит следующим образом.
containers:
- name: prisma
image: 'prismagraphql/prisma:1.14'
ports:
- name: prisma-4466
containerPort: 4466
env:
- name: PG_SECRET
valueFrom:
secretKeyRef:
name: postgresql
key: postgres-password
- name: PRISMA_CONFIG
value: |
port: 4466
managementApiSecret: $PRISMA_SECRET
databases:
default:
connector: postgres
host: postgresql
port: 5432
user: postgres
password: $PG_SECRET
migrations: true
Это не похоже на работу (потому что секрет оценивается во время применения kubectl?). Есть ли альтернативный способ создания переменных env с секретной информацией?