locals { config = yamldecode(file("${get_terragrunt_dir()}/config.yaml")) networks = yamldecode(file("${get_terragrunt_dir()}/networks.yaml")) node_name = basename(get_terragrunt_dir()) } include "root" { path = find_in_parent_folders("root.hcl") expose = true merge_strategy = "deep" } terraform { source = "${get_repo_root()}/modules/node" } inputs = { networks = local.networks node_name = local.node_name node_addr = local.config.node_addr node_port = local.config.node_port } generate "provider" { path = "provider.tf" if_exists = "overwrite_terragrunt" contents = <<-EOF provider "incus" { generate_client_certificates = true accept_remote_certificate = true remote { name = "${basename(get_terragrunt_dir())}" scheme = "https" address = "${local.config.node_addr}" port = "${local.config.node_port}" token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}" default = true } } EOF }