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.
| Variable | Current Value (HD) | Purpose |
|---|---|---|
cluster_name | tazlab-k8s | VM prefix and context name. |
vip_address | 192.168.1.210 | K8s API entry point. |
traefik_lb_ip | 192.168.1.240 | Main ingress IP. |
talos_version | v1.12.0 | OS version for nodes. |
infisical_folder | /ephemeral-castle/tazlab-k8s/proxmox | Secret source path. |
The Bootstrap Chain
Phase 1: Sequential Foundation
secrets/: Fetches the Proxmox token and Talos secretbox key.platform/: Creates the VMs (1 CP, 1 Worker) and bootstraps the Talos cluster.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
- Cycle: Rebirth Protocol
- Hub: Ephemeral Castle Hub