Ephemeral Castle Terragrunt Layers

TazLab uses Terragrunt to manage infrastructure complexity through a layered, dependency-aware execution model.

Global Configuration (env.hcl)

All layers source their variables from clusters/tazlab-k8s/live/env.hcl.

VariableCurrent Value (HD)Purpose
cluster_nametazlab-k8sVM prefix and context name.
vip_address192.168.1.210K8s API entry point.
traefik_lb_ip192.168.1.240Main ingress IP.
talos_versionv1.12.0OS version for nodes.
infisical_folder/ephemeral-castle/tazlab-k8s/proxmoxSecret source path.

The Bootstrap Chain

Phase 1: Sequential Foundation

  1. secrets/: Fetches the Proxmox token and Talos secretbox key.
  2. platform/: Creates the VMs (1 CP, 1 Worker) and bootstraps the Talos cluster.
  3. engine/: Installs ESO. This layer is critical for subsequent secret delivery.

Phase 2: Parallel Acceleration

Once Phase 1 is done, create.sh launches these simultaneously:

  • networking/: MetalLB setup.
  • gitops/: Flux bootstrap.
  • storage/: Longhorn setup.

Dry Configuration (DRY)

Each layer directory contains only a terragrunt.hcl file. It uses find_in_parent_folders() to include the root configuration, which automatically generates provider.tf and backend.tf (local state in live/states/).

See Also