#jinja2: trim_blocks:True, lstrip_blocks:True {# Манифест секретов доступа к приватному реестру, собираемый из ключа сервисного аккаунта (registry_key_src) на control-node. Секретов два и они РАЗНОГО назначения: * yc-cr-auth (flux-system) — им source-controller тянет OCI-ЧАРТЫ. Обязателен: без него не поедет ни один HelmRelease. * regcred (namespace потребителя) — imagePullSecrets подов. Продублирован из манифестов репозитория; на уровне ноды образы и так доступны через /etc/rancher/k3s/registries.yaml, но манифесты на него ссылаются. Namespace создаётся здесь же: секрет нужен РАНЬШЕ, чем чарт создаст namespace. ВНИМАНИЕ: файл содержит секрет в открытом виде. Рендерится с mode 0600 во временный каталог и удаляется сразу после kubectl apply. #} {% set docker_config = { "auths": { registry_host: { "username": registry_username, "password": registry_key_content, "auth": (registry_username ~ ":" ~ registry_key_content) | b64encode } } } %} {% for s in registry_secrets %} --- apiVersion: v1 kind: Namespace metadata: name: {{ s.namespace }} --- apiVersion: v1 kind: Secret metadata: name: {{ s.name }} namespace: {{ s.namespace }} type: kubernetes.io/dockerconfigjson data: .dockerconfigjson: {{ docker_config | to_json | b64encode }} {% endfor %}