How splitting AWS infrastructure and Kubernetes platform provisioning into two Terraform states made my deployment dependencies explicit.
A green terraform apply tells you Terraform finished its work. It does not tell you the cluster can run your workloads, and when two lifecycles share one apply, that gap is where deployments break.
Creating an EKS cluster and deploying onto it have different lifecycles. I split them into two Terraform roots with separate state, put readiness gates between the stages, and reversed the order on teardown. Here is why, how, and where it falls short.
Two Terraform roots, two states. The infrastructure root owns the AWS resources and exports outputs; a readiness gate sits between it and the platform root.
The problem: two lifecycles in one apply
I built a centralized logging platform on Amazon EKS in eu-west-2.…