google_gke/locals.tf (49 lines of code) (raw):

data "google_project" "project" { project_id = var.project_id } locals { cluster_name = "${var.name}-${var.realm}" cluster_network_tag = "gke-${local.cluster_name}" cluster_type = var.enable_private_cluster ? "private" : "public" k8s_api_proxy_name = "api-proxy-${local.cluster_type}-${var.region}" labels_defaults = { "realm" = var.realm "name" = var.name "region" = var.region "terraform" = "true" } labels = merge(local.labels_defaults, var.labels) project_id = data.google_project.project.project_id tags_defaults = [var.realm, var.name, var.region, "terraform", "gke-${local.cluster_name}", "gke-clusters"] tags = setunion(local.tags_defaults, var.tags) # internal networking setup datapath_provider = var.enable_dataplane ? "ADVANCED_DATAPATH" : "DATAPATH_PROVIDER_UNSPECIFIED" # monitoring setup resource_usage_export_dataset_id = var.create_resource_usage_export_dataset ? google_bigquery_dataset.dataset[0].dataset_id : var.resource_usage_export_dataset_id # networking setup master_ipv4_cidr_block = var.shared_vpc_outputs == null ? var.master_ipv4_cidr_block : var.shared_vpc_outputs.ip_cidr_range.master network = var.shared_vpc_outputs == null ? var.network : var.shared_vpc_outputs.network pods_ip_cidr_range_name = var.shared_vpc_outputs == null ? var.pods_ip_cidr_range_name : var.shared_vpc_outputs.secondary_ip_ranges.pod.range_name services_ip_cidr_range_name = var.shared_vpc_outputs == null ? var.services_ip_cidr_range_name : var.shared_vpc_outputs.secondary_ip_ranges.service.range_name subnetwork = var.shared_vpc_outputs == null ? var.subnetwork : var.shared_vpc_outputs.subnetwork node_pool_defaults = { disk_size_gb = 100 disk_type = "pd-balanced" initial_node_count = 2 machine_type = "n2-standard-4" max_count = 20 max_pods_per_node = 32 max_surge = 3 max_unavailable = 1 min_count = 1 use_name_prefix = true } node_pools = { for node_pool in var.node_pools : node_pool.name => merge(local.node_pool_defaults, node_pool) } node_pools_labels = { for node_pool in var.node_pools : node_pool.name => merge(local.labels, lookup(var.node_pools_labels, node_pool.name, {})) } node_pools_oauth_scopes = { for node_pool in var.node_pools : node_pool.name => lookup(var.node_pools_oauth_scopes, node_pool.name, ["https://www.googleapis.com/auth/cloud-platform"]) } node_pools_sysctls = { for node_pool in var.node_pools : node_pool.name => lookup(var.node_pools_sysctls, node_pool.name, {}) } node_pools_guest_accelerator = { for node_pool in var.node_pools : node_pool.name => lookup(var.node_pools_guest_accelerator, node_pool.name, {}) } node_pools_tags = { for node_pool in var.node_pools : node_pool.name => setunion(local.tags, lookup(var.node_pools_tags, node_pool.name, [])) } node_pools_taints = { for node_pool in var.node_pools : node_pool.name => lookup(var.node_pools_taints, node_pool.name, []) } node_pools_spot_enabled = { for node_pool in var.node_pools : node_pool.name => lookup(var.node_pools_spot_enabled, node_pool.name, false) } # Google Group for RBAC cluster_authenticator_security_group = var.google_group_name == null ? [] : [{ security_group = var.google_group_name }] }