# sops и infrastructure-secrets.yaml `infrastructure-secrets.yaml` хранит секретную часть k8s-секретов. В `infrastructure.yaml` остаётся публичное описание: имя секрета, неймспейс, тип, зависимости и набор ключей. Формат файла: ```yaml environments: prod: secrets: - name: yc-kafka-secret namespace: eav-prod data: username: password: host: ``` `name` и `namespace` — реальные имя и неймспейс k8s-секрета. `data` — значения в том же виде, что в k8s `.data`, то есть base64. `resource_key` в этот файл обычно не пишется. Это внутренний ключ terraform для state, а не имя секрета в кластере. Если совпадение по `namespace/name` невозможно, `resource_key` можно указать явно, но это исключение. Редактирование: ```bash sops infrastructure-secrets.yaml ``` После ручной правки расшифрованного файла: ```bash sops -e -i infrastructure-secrets.yaml ``` В ci `scripts/generate-pipeline.sh` расшифровывает файл во временный путь и передаёт его в terragrunt через `INFRA_SECRET_VALUES_FILE`. Расшифрованный файл не должен попадать в git и артефакты. Для adopt существующего секрета: ```bash kubectl --context yc-sarex-prod -n get secret -o jsonpath='{.data}' ``` Полученную `.data` нужно перенести в `environments.prod.secrets[]` без декодирования.