++ add dockerconfigjson contract check to k8s-secret module

This commit is contained in:
Kochetkov S 2026-08-04 18:27:36 +03:00
parent 9cde2dcab2
commit 1c232f7516

View File

@ -284,6 +284,17 @@ locals {
? "type=yc_sa requires depends_on.service_account"
: ""
) :
# dockerconfigjson не зависит от per-secret depends_on - источник это
# МОДУЛЬНЫЕ (общие для всех секретов) env_vars.DOCKER_REGISTRY_USERNAME/
# PASSWORD. Если они пустые, секрет молча создаётся с пустым логином/
# паролем внутри .dockerconfigjson - тот же класс тихой пустышки.
# ignore_changes=true - осознанно замороженный секрет (напр. известно
# пустые креды в CI) - контракт его не блокирует.
secret.type == "dockerconfigjson" && !try(secret.ignore_changes, false) ? (
trimspace(try(var.env_vars.DOCKER_REGISTRY_USERNAME, "")) == "" || trimspace(try(var.env_vars.DOCKER_REGISTRY_PASSWORD, "")) == ""
? "type=dockerconfigjson requires module-level env_vars.DOCKER_REGISTRY_USERNAME and env_vars.DOCKER_REGISTRY_PASSWORD to be non-empty"
: ""
) :
""
)
}