Skip to content

Commit 2316e77

Browse files
authored
fix: set only one of log/mon config or service (#1240)
* fix: set only one of log/mon config or service * regen * add test * remove for autopilot
1 parent a9a69ed commit 2316e77

File tree

12 files changed

+59
-39
lines changed

12 files changed

+59
-39
lines changed

autogen/main/cluster.tf.tmpl

+3-3
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,16 @@ resource "google_container_cluster" "primary" {
7878
type = var.cluster_telemetry_type
7979
}
8080
}
81-
logging_service = local.cluster_telemetry_type_is_set ? null : var.logging_service
81+
# only one of logging/monitoring_service or logging/monitoring_config can be specified
82+
logging_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.logging_service
8283
dynamic "logging_config" {
8384
for_each = length(var.logging_enabled_components) > 0 ? [1] : []
8485

8586
content {
8687
enable_components = var.logging_enabled_components
8788
}
8889
}
89-
90-
monitoring_service = local.cluster_telemetry_type_is_set ? null : var.monitoring_service
90+
monitoring_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.monitoring_service
9191
dynamic "monitoring_config" {
9292
for_each = length(var.monitoring_enabled_components) > 0 ? [1] : []
9393

autogen/main/main.tf.tmpl

+1
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ locals {
108108
] : []
109109
cluster_cloudrun_enabled = var.cloudrun
110110
cluster_gce_pd_csi_config = var.gce_pd_csi_driver ? [{ enabled = true }] : [{ enabled = false }]
111+
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0
111112
{% endif %}
112113

113114
cluster_authenticator_security_group = var.authenticator_security_group == null ? [] : [{

examples/simple_regional_beta/main.tf

+26-24
Original file line numberDiff line numberDiff line change
@@ -27,30 +27,32 @@ provider "kubernetes" {
2727
}
2828

2929
module "gke" {
30-
source = "../../modules/beta-public-cluster/"
31-
project_id = var.project_id
32-
name = "${local.cluster_type}-cluster${var.cluster_name_suffix}"
33-
regional = var.regional
34-
region = var.region
35-
zones = var.zones
36-
network = var.network
37-
subnetwork = var.subnetwork
38-
ip_range_pods = var.ip_range_pods
39-
ip_range_services = var.ip_range_services
40-
create_service_account = var.compute_engine_service_account == "create"
41-
service_account = var.compute_engine_service_account
42-
istio = var.istio
43-
cloudrun = var.cloudrun
44-
dns_cache = var.dns_cache
45-
gce_pd_csi_driver = var.gce_pd_csi_driver
46-
sandbox_enabled = var.sandbox_enabled
47-
remove_default_node_pool = var.remove_default_node_pool
48-
node_pools = var.node_pools
49-
database_encryption = var.database_encryption
50-
enable_binary_authorization = var.enable_binary_authorization
51-
enable_pod_security_policy = var.enable_pod_security_policy
52-
enable_identity_service = true
53-
release_channel = "REGULAR"
30+
source = "../../modules/beta-public-cluster/"
31+
project_id = var.project_id
32+
name = "${local.cluster_type}-cluster${var.cluster_name_suffix}"
33+
regional = var.regional
34+
region = var.region
35+
zones = var.zones
36+
network = var.network
37+
subnetwork = var.subnetwork
38+
ip_range_pods = var.ip_range_pods
39+
ip_range_services = var.ip_range_services
40+
create_service_account = var.compute_engine_service_account == "create"
41+
service_account = var.compute_engine_service_account
42+
istio = var.istio
43+
cloudrun = var.cloudrun
44+
dns_cache = var.dns_cache
45+
gce_pd_csi_driver = var.gce_pd_csi_driver
46+
sandbox_enabled = var.sandbox_enabled
47+
remove_default_node_pool = var.remove_default_node_pool
48+
node_pools = var.node_pools
49+
database_encryption = var.database_encryption
50+
enable_binary_authorization = var.enable_binary_authorization
51+
enable_pod_security_policy = var.enable_pod_security_policy
52+
enable_identity_service = true
53+
release_channel = "REGULAR"
54+
logging_enabled_components = ["SYSTEM_COMPONENTS"]
55+
monitoring_enabled_components = ["SYSTEM_COMPONENTS", "WORKLOADS"]
5456

5557
# Disable workload identity
5658
identity_namespace = null

modules/beta-private-cluster-update-variant/cluster.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,16 @@ resource "google_container_cluster" "primary" {
6767
type = var.cluster_telemetry_type
6868
}
6969
}
70-
logging_service = local.cluster_telemetry_type_is_set ? null : var.logging_service
70+
# only one of logging/monitoring_service or logging/monitoring_config can be specified
71+
logging_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.logging_service
7172
dynamic "logging_config" {
7273
for_each = length(var.logging_enabled_components) > 0 ? [1] : []
7374

7475
content {
7576
enable_components = var.logging_enabled_components
7677
}
7778
}
78-
79-
monitoring_service = local.cluster_telemetry_type_is_set ? null : var.monitoring_service
79+
monitoring_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.monitoring_service
8080
dynamic "monitoring_config" {
8181
for_each = length(var.monitoring_enabled_components) > 0 ? [1] : []
8282

modules/beta-private-cluster-update-variant/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ locals {
9393
] : []
9494
cluster_cloudrun_enabled = var.cloudrun
9595
cluster_gce_pd_csi_config = var.gce_pd_csi_driver ? [{ enabled = true }] : [{ enabled = false }]
96+
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0
9697

9798
cluster_authenticator_security_group = var.authenticator_security_group == null ? [] : [{
9899
security_group = var.authenticator_security_group

modules/beta-private-cluster/cluster.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,16 @@ resource "google_container_cluster" "primary" {
6767
type = var.cluster_telemetry_type
6868
}
6969
}
70-
logging_service = local.cluster_telemetry_type_is_set ? null : var.logging_service
70+
# only one of logging/monitoring_service or logging/monitoring_config can be specified
71+
logging_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.logging_service
7172
dynamic "logging_config" {
7273
for_each = length(var.logging_enabled_components) > 0 ? [1] : []
7374

7475
content {
7576
enable_components = var.logging_enabled_components
7677
}
7778
}
78-
79-
monitoring_service = local.cluster_telemetry_type_is_set ? null : var.monitoring_service
79+
monitoring_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.monitoring_service
8080
dynamic "monitoring_config" {
8181
for_each = length(var.monitoring_enabled_components) > 0 ? [1] : []
8282

modules/beta-private-cluster/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ locals {
9393
] : []
9494
cluster_cloudrun_enabled = var.cloudrun
9595
cluster_gce_pd_csi_config = var.gce_pd_csi_driver ? [{ enabled = true }] : [{ enabled = false }]
96+
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0
9697

9798
cluster_authenticator_security_group = var.authenticator_security_group == null ? [] : [{
9899
security_group = var.authenticator_security_group

modules/beta-public-cluster-update-variant/cluster.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,16 @@ resource "google_container_cluster" "primary" {
6767
type = var.cluster_telemetry_type
6868
}
6969
}
70-
logging_service = local.cluster_telemetry_type_is_set ? null : var.logging_service
70+
# only one of logging/monitoring_service or logging/monitoring_config can be specified
71+
logging_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.logging_service
7172
dynamic "logging_config" {
7273
for_each = length(var.logging_enabled_components) > 0 ? [1] : []
7374

7475
content {
7576
enable_components = var.logging_enabled_components
7677
}
7778
}
78-
79-
monitoring_service = local.cluster_telemetry_type_is_set ? null : var.monitoring_service
79+
monitoring_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.monitoring_service
8080
dynamic "monitoring_config" {
8181
for_each = length(var.monitoring_enabled_components) > 0 ? [1] : []
8282

modules/beta-public-cluster-update-variant/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ locals {
9393
] : []
9494
cluster_cloudrun_enabled = var.cloudrun
9595
cluster_gce_pd_csi_config = var.gce_pd_csi_driver ? [{ enabled = true }] : [{ enabled = false }]
96+
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0
9697

9798
cluster_authenticator_security_group = var.authenticator_security_group == null ? [] : [{
9899
security_group = var.authenticator_security_group

modules/beta-public-cluster/cluster.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,16 @@ resource "google_container_cluster" "primary" {
6767
type = var.cluster_telemetry_type
6868
}
6969
}
70-
logging_service = local.cluster_telemetry_type_is_set ? null : var.logging_service
70+
# only one of logging/monitoring_service or logging/monitoring_config can be specified
71+
logging_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.logging_service
7172
dynamic "logging_config" {
7273
for_each = length(var.logging_enabled_components) > 0 ? [1] : []
7374

7475
content {
7576
enable_components = var.logging_enabled_components
7677
}
7778
}
78-
79-
monitoring_service = local.cluster_telemetry_type_is_set ? null : var.monitoring_service
79+
monitoring_service = local.cluster_telemetry_type_is_set || local.logmon_config_is_set ? null : var.monitoring_service
8080
dynamic "monitoring_config" {
8181
for_each = length(var.monitoring_enabled_components) > 0 ? [1] : []
8282

modules/beta-public-cluster/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ locals {
9393
] : []
9494
cluster_cloudrun_enabled = var.cloudrun
9595
cluster_gce_pd_csi_config = var.gce_pd_csi_driver ? [{ enabled = true }] : [{ enabled = false }]
96+
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0
9697

9798
cluster_authenticator_security_group = var.authenticator_security_group == null ? [] : [{
9899
security_group = var.authenticator_security_group

test/integration/beta_cluster/controls/gcloud.rb

+13
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,19 @@
103103
"enabled" => true,
104104
})
105105
end
106+
107+
it "has the expected logging config" do
108+
expect(data['loggingConfig']['componentConfig']['enableComponents']).to match_array([
109+
"SYSTEM_COMPONENTS"
110+
])
111+
end
112+
113+
it "has the expected monitoring config" do
114+
expect(data['monitoringConfig']['componentConfig']['enableComponents']).to match_array([
115+
"WORKLOADS",
116+
"SYSTEM_COMPONENTS"
117+
])
118+
end
106119
end
107120

108121
describe "default node pool" do

0 commit comments

Comments
 (0)