diff --git a/live/terragrunt.hcl b/live/terragrunt.hcl index 5441297..2a10116 100644 --- a/live/terragrunt.hcl +++ b/live/terragrunt.hcl @@ -1,3 +1,12 @@ +# Contour root — in-cluster backend + providers. +# +# This branch (`contour`) serves ALL closed contours. Backend state lives in the +# contour MinIO; the concrete contour is selected by INFRA_ENV. Providers target +# in-cluster services (no managed YC). Infra-service admin creds are read from +# Vault by a workflow step and injected as env vars (see .gitea/workflows) — +# providers pick them up via get_env, so there is no cross-provider data-source +# ordering dependency on the vault-secrets stack. + remote_state { backend = "s3" generate = { @@ -5,102 +14,96 @@ remote_state { if_exists = "overwrite_terragrunt" } config = { - endpoint = "https://storage.yandexcloud.net" - bucket = get_env("S3_PROD_STATE_BUCKET", "tfstate-terragrunt-prod") + endpoint = get_env("TF_STATE_S3_ENDPOINT", "") + bucket = get_env("TF_STATE_S3_BUCKET", "") key = "${path_relative_to_include()}/terraform.tfstate" - region = "ru-central1" + region = get_env("TF_STATE_S3_REGION", "ru-central1") access_key = get_env("S3_ACCESS_KEY", get_env("AWS_ACCESS_KEY_ID", "")) secret_key = get_env("S3_SECRET_KEY", get_env("AWS_SECRET_ACCESS_KEY", "")) skip_region_validation = true skip_credentials_validation = true skip_metadata_api_check = true - force_path_style = true skip_bucket_root_access = true - # Object Storage бакет без versioning/SSE; свежий terragrunt иначе падает на проверке. - skip_bucket_versioning = true - skip_bucket_ssencryption = true - skip_bucket_enforced_tls = true - skip_bucket_public_access_blocking = true + force_path_style = true } } -# Генерация общего провайдера для всех модулей generate "provider" { path = "provider.tf" if_exists = "overwrite_terragrunt" - contents = <