2026-05-05
Faster Terragrunt plans, fewer breaking upgrades
#terragrunt #opentofu #eks #vpc #platform-info #atlantis
We’re rolling out a follow-up to the Platform Info file we introduced last year: customer Terragrunt application stacks are being migrated to read VPC, subnet, and EKS cluster details from k8s-clusters/<cluster>-platform-info.yaml instead of pulling them through Terragrunt dependency blocks against our private upstream networking-stack and kubernetes-stack repos. Once a customer is fully migrated, terragrunt plan and atlantis apply no longer need read access to those private repos to resolve inputs.
What changed
In your customer repo, application terragrunt.hcl files that previously had:
dependency "networking" {
config_path = "../networking/base"
}
dependency "eks_cluster" {
config_path = "../eks/${include.env.inputs._eks_provider_cluster_name}/cluster"
}
inputs = {
vpc_id = dependency.networking.outputs.vpc_id
workers_sg_id = dependency.eks_cluster.outputs.workers_sg_id
}now look like:
locals {
platform_info = yamldecode(file("${get_repo_root()}/k8s-clusters/${include.env.inputs._eks_provider_cluster_name}-platform-info.yaml"))
}
inputs = {
vpc_id = local.platform_info.networking.vpcId
workers_sg_id = local.platform_info.eksCluster.nodes.securityGroupId
}The values resolved are identical and the platform-info.yaml files are kept in sync automatically when the underlying networking or EKS cluster state changes.
Why this matters
- Less breaking upgrades. This removes any hard dependency anymore, causing breaking changes when we change eg tofu versions and other internals.
- No upstream read-access required. Customer engineers (and the Atlantis runner) can plan/apply application stacks without dependencies on Skyscrapers’ private platform repos.
- Faster plans. Skipping the upstream
terragrunt init/planfor resolving every dependency cuts time on every PR. - One canonical source. All non-sensitive networking and EKS facts (VPC ID, CIDR, subnet IDs, NAT IPs, AZs, cluster name/FQDN, OIDC provider, worker SG) live in one YAML file you can
cator reference directly.
What you need to do
Nothing. Codebases are being upgraded by us. If you spot a stack that has issues, please let us know.
For details on reading from platform-info.yaml in your own stacks (full output map, when to use it vs. dependency blocks vs. terraform_remote_state), see the Terragrunt coding guidelines.