terraform-contour-mirror/live/kafka-topics/terragrunt.hcl

54 lines
1.9 KiB
HCL

include "root" {
path = find_in_parent_folders()
}
locals {
repo_root = try(get_repo_root(), "${get_terragrunt_dir()}/../..")
infra_config = yamldecode(file("${local.repo_root}/infrastructure.yaml"))
env_override = trimspace(get_env("INFRA_ENV", ""))
env_from_file = try(trimspace(local.infra_config.current_environment), "")
available_envs = sort(keys(try(local.infra_config.environments, {})))
env_fallback = try(local.available_envs[0], "")
env_name = local.env_override != "" ? local.env_override : (
local.env_from_file != "" ? local.env_from_file : local.env_fallback
)
env_config = try(local.infra_config.environments[local.env_name], {})
}
remote_state {
backend = "s3"
generate = {
path = "backend.tf"
if_exists = "overwrite_terragrunt"
}
config = {
endpoint = get_env("TF_STATE_S3_ENDPOINT", "")
bucket = get_env("TF_STATE_S3_BUCKET", "")
key = "${local.env_name}/kafka-topics/terraform.tfstate"
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
skip_bucket_root_access = true
force_path_style = true
}
}
terraform {
source = "${get_terragrunt_dir()}/../../modules//kafka-topics-incluster"
}
inputs = {
environment = local.env_name
topics = try(local.env_config.kafka.topics, [])
users = try(local.env_config.kafka.users, [])
kafka_cluster_refs = try(local.env_config.kafka.kafka_cluster_refs, {})
kafka_policy = try(local.env_config.kafka.kafka_policy, {})
create_acls = try(local.env_config.kafka.create_acls, true)
}