{# Секреты-файлы, которые монтируются в поды НЕ через vault-agent. Обычные приложения контура берут креды из Vault аннотациями инжекции. Здесь так нельзя: эти файлы монтирует в свои Job'ы движок workflows-engine, а он создаёт поды сам и об аннотациях ничего не знает — ему нужен готовый Secret в namespace задач. Имя секрета и путь монтирования зашиты в код движка (pkg/kube_services/services.go, поля CredentialsName и CredentialsPath), поэтому переименовать их нельзя. Значения приходят из sarex_secrets, в репозиторий не попадают. #} {% for s in k8s_file_secrets %} --- {# Namespace объявлен здесь же: на холодном старте Flux до него ещё не дошёл, а apply секрета в несуществующий namespace упал бы. Повторное создание безвредно — Flux спокойно подхватит уже существующий объект, ровно так же заведён namespace vault. #} apiVersion: v1 kind: Namespace metadata: name: {{ s.namespace }} --- apiVersion: v1 kind: Secret metadata: name: {{ s.name }} namespace: {{ s.namespace }} type: Opaque stringData: {{ s.key }}: | {{ s.content | indent(4, true) }} {% endfor %}