gke operator: node pool is created with 0 nodes by default, causing a apply failure
Summary
In the google/gke/operator scenario, a minimal node_pools config creates a
node pool with 0 nodes, so no pods can be scheduled. terraform apply then
hangs while waiting for the operator Deployment rollout and eventually fails with
an opaque context deadline exceeded error.
Steps to reproduce
module "gke_runner" {
source = ".../scenarios/google/gke/operator"
name = "my-runner"
node_pools = { default = {} } # no node_count, no autoscaling
runners = { main = { runner_token = "..." } }
operator = { version = "v1.51.0" }
}kubectl get nodes returns none; all pods (including kube-system) stay Pending.
Cause
In modules/google/gke/variables.tf, node_pools[*].node_count defaults to 0 and autoscaling is unset, so an empty pool config yields a 0-node pool.
Proposal
- Default node_count to 1, and/or
- Add a validation that fails early when both node_count == 0 and autoscaling is null, with a clear message.