1+ locals {
2+ node_pool_add = {
3+ (local. active_node_group ) = {
4+ cluster_version = var.kubernetes_version,
5+ },
6+ (local. drain_node_group ) = {
7+ cluster_version = var.next_kubernetes_version,
8+ }
9+ }
10+
11+ full_node_pools = {
12+ for k , v in var . node_pools : k => merge (v, try (lookup (local. node_pool_add , k), {}))
13+ if k != local . drain_node_group || local . upgrading == true
14+ }
15+
16+ node_pool_taints_add = {
17+ (local. active_node_group ) = local.upgrading ?
18+ [{ key = " platform.plural.sh/pending" , value = " upgrade" , effect = " NO_SCHEDULE" }] : [],
19+ }
20+
21+ full_node_pools_taints = {
22+ for k , v in var . node_pools_taints : k => concat (v, try (lookup (local. node_pool_taints_add , k), []))
23+ if k != local . drain_node_group || local . upgrading == true
24+ }
25+ }
26+
127module "gke" {
228 source = " terraform-google-modules/kubernetes-engine/google"
329 version = " ~> 33.0"
430
5- kubernetes_version = var. kubernetes_version
31+ kubernetes_version = var. next_kubernetes_version
632 project_id = var. project_id
733 name = var. cluster_name
834 regional = true
@@ -14,8 +40,8 @@ module "gke" {
1440 ip_range_services = var. ip_range_services_name
1541 create_service_account = true
1642 deletion_protection = var. deletion_protection
17- node_pools = var . node_pools
18- node_pools_taints = var . node_pools_taints
43+ node_pools = [ for k , v in local . full_node_pools : merge (v, { name = k })]
44+ node_pools_taints = local . full_node_pools_taints
1945 node_pools_labels = var. node_pools_labels
2046 node_pools_tags = var. node_pools_tags
2147
@@ -27,6 +53,5 @@ module "gke" {
2753 google_project_service . iam ,
2854 google_project_service . storage ,
2955 google_project_service . dns ,
30- # local.db_created,
3156 ]
3257}
0 commit comments