infra/terraform/gke/main.tf (26 lines of code) (raw):
# TODO:
# 3: Lookup gke.random_shuffle.available_zones, see whether zones can be setup from there.
locals {
fleet_clusters_info = flatten([
for item in data.terraform_remote_state.vpc.outputs.fleet_clusters_info : [
for index in range(lookup(item, "num_clusters", 1)) : {
env = item.env
region = item.region
subnet_name = item.subnet.name
cluster_zone = "${item.region}-${local.zone_suffix[index]}"
cluster_name = "${item.env}-${item.region}-${index}"
pod_cidr_name = "${item.region}-pod-cidr-${index}"
svc_cidr_name = "${item.region}-svc-cidr-${index}"
network = data.terraform_remote_state.vpc.outputs.network.network_name
}
]
])
config_cluster_info = {
env = data.terraform_remote_state.vpc.outputs.config_cluster_info.env
region = data.terraform_remote_state.vpc.outputs.config_cluster_info.region
subnet_name = data.terraform_remote_state.vpc.outputs.config_cluster_info.subnet.name
cluster_name = "config-${data.terraform_remote_state.vpc.outputs.config_cluster_info.region}"
pod_cidr_name = "${data.terraform_remote_state.vpc.outputs.config_cluster_info.subnet.name}-pods"
svc_cidr_name = "${data.terraform_remote_state.vpc.outputs.config_cluster_info.subnet.name}-svcs"
network = data.terraform_remote_state.vpc.outputs.network.network_name
}
zone_suffix = ["a", "b", "c"]
}