Простое решение - поместить весь файл конфигурации под stringData
в секрет. Что-то вроде этого:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
stringData:
config.json: |
<your config goes here>
Теперь вы можете просто смонтировать секрет на капсулу и вы можете прочитать этот файл конфигурации.
Пока это работает, возможно, будет сложнее использовать с решением GitOps, которое обычно требует, чтобы вы зашифровали весь секретный контент. Используя Kamus , вы можете создать шаблонный файл конфигурации с зашифрованными значениями в следующем формате:
apiVersion: v1
kind: ConfigMap
metadata:
name: encrypted-secrets-cm
data:
key: 4AD7lM6lc4dGvE3oF+5w8g==:WrcckiNNOAlMhuWHaM0kTw== //encrypted
template.ejs: |
<%- secrets["key"] %>
hello
И использовать контейнер init для создания файла конфигурации с расшифрованные значения. Значение с зашифрованными элементами может быть безопасно передано в git.