Terraform manages dependencies between resources within a single state. The moment your infrastructure outgrows one state file — slow plans, wide blast radius, team contention — you need to split. But the pieces still depend on each other: compute needs the VPC ID from networking, application infrastructure needs the cluster endpoint from compute. The usual approaches — terraform_remote_state , parameter stores, wrapper scripts, Terragrunt — each solve part of the problem but leave gaps ...