terraform-incus/config/nodes/prodnxsr0013/terragrunt.hcl
Ben Vincent b6b01cb70d
All checks were successful
Build / build (pull_request) Successful in 2m23s
feat: add build job
- add build job that runs `make plan`
- add deploy job that runs `make apply`
- ensure make-plan also runs init target
- enable provider caching
- enable creating client.crt/client.key
- trap EXIT to cleanup temp directory
2025-10-17 13:30:04 +11:00

44 lines
1.1 KiB
HCL

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 = false
accept_remote_certificate = true
config_dir = "${get_env("INCUS_CONFIG_DIR")}"
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
}