054110d748
terragrunt-enc is the single source of truth for encapi ENC data (Puppet statuses, roles, and node classifications), managed with Terraform/Terragrunt. It supersedes Cobbler classification for Puppet and the terraform-incus dual-write prototype (PR #39). - Add modules/encapi (encapi_status / encapi_role / encapi_node, nodes FK-ordered after their role and status). - Add config/encapi leaf: 3 statuses, 51 roles, and 143 node assignments (130 container VMs env production + 13 prodnxsr physicals env develop), all YAML-driven. - Add config/root.hcl (consul backend infra/terraform/enc/<leaf>/state) and the encapi provider from the artifactapi registry (v0.1.0). - Add Makefile, Woodpecker pre-commit/plan/apply pipelines, pre-commit config, ci/extract_incus_nodes.py, and expand the README.
20 lines
436 B
HCL
20 lines
436 B
HCL
locals {
|
|
statuses = yamldecode(file("${get_terragrunt_dir()}/statuses.yaml"))
|
|
roles = yamldecode(file("${get_terragrunt_dir()}/roles.yaml"))
|
|
nodes = yamldecode(file("${get_terragrunt_dir()}/nodes.yaml"))
|
|
}
|
|
|
|
include "root" {
|
|
path = find_in_parent_folders("root.hcl")
|
|
}
|
|
|
|
terraform {
|
|
source = "${get_repo_root()}/modules/encapi"
|
|
}
|
|
|
|
inputs = {
|
|
statuses = local.statuses
|
|
roles = local.roles
|
|
nodes = local.nodes
|
|
}
|