diff --git a/blueprints/apigee/bigquery-analytics/versions.tf b/blueprints/apigee/bigquery-analytics/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/apigee/bigquery-analytics/versions.tf
+++ b/blueprints/apigee/bigquery-analytics/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/versions.tf b/blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/versions.tf
+++ b/blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/adfs/versions.tf b/blueprints/cloud-operations/adfs/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/adfs/versions.tf
+++ b/blueprints/cloud-operations/adfs/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/asset-inventory-feed-remediation/versions.tf b/blueprints/cloud-operations/asset-inventory-feed-remediation/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/asset-inventory-feed-remediation/versions.tf
+++ b/blueprints/cloud-operations/asset-inventory-feed-remediation/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/dns-fine-grained-iam/versions.tf b/blueprints/cloud-operations/dns-fine-grained-iam/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/dns-fine-grained-iam/versions.tf
+++ b/blueprints/cloud-operations/dns-fine-grained-iam/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/dns-shared-vpc/versions.tf b/blueprints/cloud-operations/dns-shared-vpc/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/dns-shared-vpc/versions.tf
+++ b/blueprints/cloud-operations/dns-shared-vpc/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/iam-delegated-role-grants/versions.tf b/blueprints/cloud-operations/iam-delegated-role-grants/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/iam-delegated-role-grants/versions.tf
+++ b/blueprints/cloud-operations/iam-delegated-role-grants/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/onprem-sa-key-management/versions.tf b/blueprints/cloud-operations/onprem-sa-key-management/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/onprem-sa-key-management/versions.tf
+++ b/blueprints/cloud-operations/onprem-sa-key-management/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/packer-image-builder/versions.tf b/blueprints/cloud-operations/packer-image-builder/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/packer-image-builder/versions.tf
+++ b/blueprints/cloud-operations/packer-image-builder/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/quota-monitoring/versions.tf b/blueprints/cloud-operations/quota-monitoring/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/quota-monitoring/versions.tf
+++ b/blueprints/cloud-operations/quota-monitoring/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf b/blueprints/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf
+++ b/blueprints/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/data-solutions/bq-ml/versions.tf b/blueprints/data-solutions/bq-ml/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/data-solutions/bq-ml/versions.tf
+++ b/blueprints/data-solutions/bq-ml/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/data-solutions/cmek-via-centralized-kms/versions.tf b/blueprints/data-solutions/cmek-via-centralized-kms/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/data-solutions/cmek-via-centralized-kms/versions.tf
+++ b/blueprints/data-solutions/cmek-via-centralized-kms/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/data-solutions/data-playground/versions.tf b/blueprints/data-solutions/data-playground/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/data-solutions/data-playground/versions.tf
+++ b/blueprints/data-solutions/data-playground/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/data-solutions/gcs-to-bq-with-least-privileges/versions.tf b/blueprints/data-solutions/gcs-to-bq-with-least-privileges/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/data-solutions/gcs-to-bq-with-least-privileges/versions.tf
+++ b/blueprints/data-solutions/gcs-to-bq-with-least-privileges/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/factories/net-vpc-firewall-yaml/versions.tf b/blueprints/factories/net-vpc-firewall-yaml/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/factories/net-vpc-firewall-yaml/versions.tf
+++ b/blueprints/factories/net-vpc-firewall-yaml/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/gke/autopilot/cluster.tf b/blueprints/gke/autopilot/cluster.tf
index db4f29cc..49409c44 100644
--- a/blueprints/gke/autopilot/cluster.tf
+++ b/blueprints/gke/autopilot/cluster.tf
@@ -30,9 +30,17 @@ module "cluster" {
# autopilot = true
# }
# monitoring_config = {
+ # # (Optional) control plane metrics
# enable_api_server_metrics = true
# enable_controller_manager_metrics = true
# enable_scheduler_metrics = true
+ # # (Optional) kube state metrics
+ # enable_daemonset_metrics = true
+ # enable_deployment_metrics = true
+ # enable_hpa_metrics = true
+ # enable_pod_metrics = true
+ # enable_statefulset_metrics = true
+ # enable_storage_metrics = true
# }
# cluster_autoscaling = {
# auto_provisioning_defaults = {
diff --git a/blueprints/gke/multitenant-fleet/README.md b/blueprints/gke/multitenant-fleet/README.md
index 8af50bc3..ed89a878 100644
--- a/blueprints/gke/multitenant-fleet/README.md
+++ b/blueprints/gke/multitenant-fleet/README.md
@@ -245,20 +245,20 @@ module "gke" {
| name | description | type | required | default |
|---|---|:---:|:---:|:---:|
| [billing_account_id](variables.tf#L17) | Billing account ID. | string
| ✓ | |
-| [folder_id](variables.tf#L148) | Folder used for the GKE project in folders/nnnnnnnnnnn format. | string
| ✓ | |
-| [prefix](variables.tf#L199) | Prefix used for resource names. | string
| ✓ | |
-| [project_id](variables.tf#L208) | ID of the project that will contain all the clusters. | string
| ✓ | |
-| [vpc_config](variables.tf#L220) | Shared VPC project and VPC details. | object({…})
| ✓ | |
-| [clusters](variables.tf#L22) | Clusters configuration. Refer to the gke-cluster module for type details. | map(object({…}))
| | {}
|
-| [fleet_configmanagement_clusters](variables.tf#L86) | Config management features enabled on specific sets of member clusters, in config name => [cluster name] format. | map(list(string))
| | {}
|
-| [fleet_configmanagement_templates](variables.tf#L93) | Sets of config management configurations that can be applied to member clusters, in config name => {options} format. | map(object({…}))
| | {}
|
-| [fleet_features](variables.tf#L128) | Enable and configure fleet features. Set to null to disable GKE Hub if fleet workload identity is not used. | object({…})
| | null
|
-| [fleet_workload_identity](variables.tf#L141) | Use Fleet Workload Identity for clusters. Enables GKE Hub if set to true. | bool
| | false
|
-| [group_iam](variables.tf#L153) | Project-level IAM bindings for groups. Use group emails as keys, list of roles as values. | map(list(string))
| | {}
|
-| [iam](variables.tf#L160) | Project-level authoritative IAM bindings for users and service accounts in {ROLE => [MEMBERS]} format. | map(list(string))
| | {}
|
-| [labels](variables.tf#L167) | Project-level labels. | map(string)
| | {}
|
-| [nodepools](variables.tf#L173) | Nodepools configuration. Refer to the gke-nodepool module for type details. | map(map(object({…})))
| | {}
|
-| [project_services](variables.tf#L213) | Additional project services to enable. | list(string)
| | []
|
+| [folder_id](variables.tf#L154) | Folder used for the GKE project in folders/nnnnnnnnnnn format. | string
| ✓ | |
+| [prefix](variables.tf#L205) | Prefix used for resource names. | string
| ✓ | |
+| [project_id](variables.tf#L214) | ID of the project that will contain all the clusters. | string
| ✓ | |
+| [vpc_config](variables.tf#L226) | Shared VPC project and VPC details. | object({…})
| ✓ | |
+| [clusters](variables.tf#L22) | Clusters configuration. Refer to the gke-cluster module for type details. | map(object({…}))
| | {}
|
+| [fleet_configmanagement_clusters](variables.tf#L92) | Config management features enabled on specific sets of member clusters, in config name => [cluster name] format. | map(list(string))
| | {}
|
+| [fleet_configmanagement_templates](variables.tf#L99) | Sets of config management configurations that can be applied to member clusters, in config name => {options} format. | map(object({…}))
| | {}
|
+| [fleet_features](variables.tf#L134) | Enable and configure fleet features. Set to null to disable GKE Hub if fleet workload identity is not used. | object({…})
| | null
|
+| [fleet_workload_identity](variables.tf#L147) | Use Fleet Workload Identity for clusters. Enables GKE Hub if set to true. | bool
| | false
|
+| [group_iam](variables.tf#L159) | Project-level IAM bindings for groups. Use group emails as keys, list of roles as values. | map(list(string))
| | {}
|
+| [iam](variables.tf#L166) | Project-level authoritative IAM bindings for users and service accounts in {ROLE => [MEMBERS]} format. | map(list(string))
| | {}
|
+| [labels](variables.tf#L173) | Project-level labels. | map(string)
| | {}
|
+| [nodepools](variables.tf#L179) | Nodepools configuration. Refer to the gke-nodepool module for type details. | map(map(object({…})))
| | {}
|
+| [project_services](variables.tf#L219) | Additional project services to enable. | list(string)
| | []
|
## Outputs
diff --git a/blueprints/gke/multitenant-fleet/variables.tf b/blueprints/gke/multitenant-fleet/variables.tf
index 6f100802..5d34440f 100644
--- a/blueprints/gke/multitenant-fleet/variables.tf
+++ b/blueprints/gke/multitenant-fleet/variables.tf
@@ -50,12 +50,18 @@ variable "clusters" {
monitoring_config = optional(object({
enable_system_metrics = optional(bool, true)
- # Control plane metrics
+ # (Optional) control plane metrics
enable_api_server_metrics = optional(bool, false)
enable_controller_manager_metrics = optional(bool, false)
enable_scheduler_metrics = optional(bool, false)
- # TODO add kube state metrics
+ # (Optional) kube state metrics
+ enable_daemonset_metrics = optional(bool, false)
+ enable_deployment_metrics = optional(bool, false)
+ enable_hpa_metrics = optional(bool, false)
+ enable_pod_metrics = optional(bool, false)
+ enable_statefulset_metrics = optional(bool, false)
+ enable_storage_metrics = optional(bool, false)
# Google Cloud Managed Service for Prometheus
enable_managed_prometheus = optional(bool, true)
diff --git a/blueprints/networking/__need_fixing/nginx-reverse-proxy-cluster/versions.tf b/blueprints/networking/__need_fixing/nginx-reverse-proxy-cluster/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/__need_fixing/nginx-reverse-proxy-cluster/versions.tf
+++ b/blueprints/networking/__need_fixing/nginx-reverse-proxy-cluster/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/__need_fixing/onprem-google-access-dns/versions.tf b/blueprints/networking/__need_fixing/onprem-google-access-dns/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/__need_fixing/onprem-google-access-dns/versions.tf
+++ b/blueprints/networking/__need_fixing/onprem-google-access-dns/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/decentralized-firewall/versions.tf b/blueprints/networking/decentralized-firewall/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/decentralized-firewall/versions.tf
+++ b/blueprints/networking/decentralized-firewall/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/filtering-proxy-psc/versions.tf b/blueprints/networking/filtering-proxy-psc/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/filtering-proxy-psc/versions.tf
+++ b/blueprints/networking/filtering-proxy-psc/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/filtering-proxy/versions.tf b/blueprints/networking/filtering-proxy/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/filtering-proxy/versions.tf
+++ b/blueprints/networking/filtering-proxy/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/hub-and-spoke-peering/versions.tf b/blueprints/networking/hub-and-spoke-peering/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/hub-and-spoke-peering/versions.tf
+++ b/blueprints/networking/hub-and-spoke-peering/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/hub-and-spoke-vpn/versions.tf b/blueprints/networking/hub-and-spoke-vpn/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/hub-and-spoke-vpn/versions.tf
+++ b/blueprints/networking/hub-and-spoke-vpn/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/ilb-next-hop/versions.tf b/blueprints/networking/ilb-next-hop/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/ilb-next-hop/versions.tf
+++ b/blueprints/networking/ilb-next-hop/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/private-cloud-function-from-onprem/versions.tf b/blueprints/networking/private-cloud-function-from-onprem/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/private-cloud-function-from-onprem/versions.tf
+++ b/blueprints/networking/private-cloud-function-from-onprem/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/networking/shared-vpc-gke/versions.tf b/blueprints/networking/shared-vpc-gke/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/networking/shared-vpc-gke/versions.tf
+++ b/blueprints/networking/shared-vpc-gke/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/blueprints/third-party-solutions/openshift/tf/versions.tf b/blueprints/third-party-solutions/openshift/tf/versions.tf
index e4f7404f..91a91a31 100644
--- a/blueprints/third-party-solutions/openshift/tf/versions.tf
+++ b/blueprints/third-party-solutions/openshift/tf/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/default-versions.tf b/default-versions.tf
index f494b243..91a91a31 100644
--- a/default-versions.tf
+++ b/default-versions.tf
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/fast/stages/3-gke-multitenant/dev/README.md b/fast/stages/3-gke-multitenant/dev/README.md
index 105add99..f099c10b 100644
--- a/fast/stages/3-gke-multitenant/dev/README.md
+++ b/fast/stages/3-gke-multitenant/dev/README.md
@@ -163,21 +163,21 @@ Leave all these variables unset (or set to `null`) to disable fleet management.
|---|---|:---:|:---:|:---:|:---:|
| [automation](variables.tf#L21) | Automation resources created by the bootstrap stage. | object({…})
| ✓ | | 0-bootstrap
|
| [billing_account](variables.tf#L29) | Billing account id. If billing account is not part of the same org set `is_org_level` to false. | object({…})
| ✓ | | 0-bootstrap
|
-| [folder_ids](variables.tf#L168) | Folders to be used for the networking resources in folders/nnnnnnnnnnn format. If null, folder will be created. | object({…})
| ✓ | | 1-resman
|
-| [host_project_ids](variables.tf#L183) | Host project for the shared VPC. | object({…})
| ✓ | | 2-networking
|
-| [prefix](variables.tf#L236) | Prefix used for resources that need unique names. | string
| ✓ | | |
-| [vpc_self_links](variables.tf#L252) | Self link for the shared VPC. | object({…})
| ✓ | | 2-networking
|
-| [clusters](variables.tf#L42) | Clusters configuration. Refer to the gke-cluster-standard module for type details. | map(object({…}))
| | {}
| |
-| [fleet_configmanagement_clusters](variables.tf#L105) | Config management features enabled on specific sets of member clusters, in config name => [cluster name] format. | map(list(string))
| | {}
| |
-| [fleet_configmanagement_templates](variables.tf#L113) | Sets of config management configurations that can be applied to member clusters, in config name => {options} format. | map(object({…}))
| | {}
| |
-| [fleet_features](variables.tf#L148) | Enable and configure fleet features. Set to null to disable GKE Hub if fleet workload identity is not used. | object({…})
| | null
| |
-| [fleet_workload_identity](variables.tf#L161) | Use Fleet Workload Identity for clusters. Enables GKE Hub if set to true. | bool
| | false
| |
-| [group_iam](variables.tf#L176) | Project-level authoritative IAM bindings for groups in {GROUP_EMAIL => [ROLES]} format. Use group emails as keys, list of roles as values. | map(list(string))
| | {}
| |
-| [iam](variables.tf#L191) | Project-level authoritative IAM bindings for users and service accounts in {ROLE => [MEMBERS]} format. | map(list(string))
| | {}
| |
-| [labels](variables.tf#L198) | Project-level labels. | map(string)
| | {}
| |
-| [nodepools](variables.tf#L204) | Nodepools configuration. Refer to the gke-nodepool module for type details. | map(map(object({…})))
| | {}
| |
-| [outputs_location](variables.tf#L230) | Path where providers, tfvars files, and lists for the following stages are written. Leave empty to disable. | string
| | null
| |
-| [project_services](variables.tf#L245) | Additional project services to enable. | list(string)
| | []
| |
+| [folder_ids](variables.tf#L174) | Folders to be used for the networking resources in folders/nnnnnnnnnnn format. If null, folder will be created. | object({…})
| ✓ | | 1-resman
|
+| [host_project_ids](variables.tf#L189) | Host project for the shared VPC. | object({…})
| ✓ | | 2-networking
|
+| [prefix](variables.tf#L242) | Prefix used for resources that need unique names. | string
| ✓ | | |
+| [vpc_self_links](variables.tf#L258) | Self link for the shared VPC. | object({…})
| ✓ | | 2-networking
|
+| [clusters](variables.tf#L42) | Clusters configuration. Refer to the gke-cluster-standard module for type details. | map(object({…}))
| | {}
| |
+| [fleet_configmanagement_clusters](variables.tf#L111) | Config management features enabled on specific sets of member clusters, in config name => [cluster name] format. | map(list(string))
| | {}
| |
+| [fleet_configmanagement_templates](variables.tf#L119) | Sets of config management configurations that can be applied to member clusters, in config name => {options} format. | map(object({…}))
| | {}
| |
+| [fleet_features](variables.tf#L154) | Enable and configure fleet features. Set to null to disable GKE Hub if fleet workload identity is not used. | object({…})
| | null
| |
+| [fleet_workload_identity](variables.tf#L167) | Use Fleet Workload Identity for clusters. Enables GKE Hub if set to true. | bool
| | false
| |
+| [group_iam](variables.tf#L182) | Project-level authoritative IAM bindings for groups in {GROUP_EMAIL => [ROLES]} format. Use group emails as keys, list of roles as values. | map(list(string))
| | {}
| |
+| [iam](variables.tf#L197) | Project-level authoritative IAM bindings for users and service accounts in {ROLE => [MEMBERS]} format. | map(list(string))
| | {}
| |
+| [labels](variables.tf#L204) | Project-level labels. | map(string)
| | {}
| |
+| [nodepools](variables.tf#L210) | Nodepools configuration. Refer to the gke-nodepool module for type details. | map(map(object({…})))
| | {}
| |
+| [outputs_location](variables.tf#L236) | Path where providers, tfvars files, and lists for the following stages are written. Leave empty to disable. | string
| | null
| |
+| [project_services](variables.tf#L251) | Additional project services to enable. | list(string)
| | []
| |
## Outputs
diff --git a/fast/stages/3-gke-multitenant/dev/variables.tf b/fast/stages/3-gke-multitenant/dev/variables.tf
index 4d177938..831f828b 100644
--- a/fast/stages/3-gke-multitenant/dev/variables.tf
+++ b/fast/stages/3-gke-multitenant/dev/variables.tf
@@ -70,12 +70,18 @@ variable "clusters" {
monitoring_config = optional(object({
enable_system_metrics = optional(bool, true)
- # Control plane metrics
+ # (Optional) control plane metrics
enable_api_server_metrics = optional(bool, false)
enable_controller_manager_metrics = optional(bool, false)
enable_scheduler_metrics = optional(bool, false)
- # TODO add kube state metrics
+ # (Optional) kube state metrics
+ enable_daemonset_metrics = optional(bool, false)
+ enable_deployment_metrics = optional(bool, false)
+ enable_hpa_metrics = optional(bool, false)
+ enable_pod_metrics = optional(bool, false)
+ enable_statefulset_metrics = optional(bool, false)
+ enable_storage_metrics = optional(bool, false)
# Google Cloud Managed Service for Prometheus
enable_managed_prometheus = optional(bool, true)
diff --git a/modules/__experimental/net-neg/versions.tf b/modules/__experimental/net-neg/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/__experimental/net-neg/versions.tf
+++ b/modules/__experimental/net-neg/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/alloydb-instance/versions.tf b/modules/alloydb-instance/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/alloydb-instance/versions.tf
+++ b/modules/alloydb-instance/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/api-gateway/versions.tf b/modules/api-gateway/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/api-gateway/versions.tf
+++ b/modules/api-gateway/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/apigee/versions.tf b/modules/apigee/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/apigee/versions.tf
+++ b/modules/apigee/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/artifact-registry/versions.tf b/modules/artifact-registry/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/artifact-registry/versions.tf
+++ b/modules/artifact-registry/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/bigquery-dataset/versions.tf b/modules/bigquery-dataset/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/bigquery-dataset/versions.tf
+++ b/modules/bigquery-dataset/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/bigtable-instance/versions.tf b/modules/bigtable-instance/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/bigtable-instance/versions.tf
+++ b/modules/bigtable-instance/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/billing-budget/versions.tf b/modules/billing-budget/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/billing-budget/versions.tf
+++ b/modules/billing-budget/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/binauthz/versions.tf b/modules/binauthz/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/binauthz/versions.tf
+++ b/modules/binauthz/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/__need_fixing/onprem/versions.tf b/modules/cloud-config-container/__need_fixing/onprem/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/__need_fixing/onprem/versions.tf
+++ b/modules/cloud-config-container/__need_fixing/onprem/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/coredns/versions.tf b/modules/cloud-config-container/coredns/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/coredns/versions.tf
+++ b/modules/cloud-config-container/coredns/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/cos-generic-metadata/versions.tf b/modules/cloud-config-container/cos-generic-metadata/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/cos-generic-metadata/versions.tf
+++ b/modules/cloud-config-container/cos-generic-metadata/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/envoy-traffic-director/versions.tf b/modules/cloud-config-container/envoy-traffic-director/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/envoy-traffic-director/versions.tf
+++ b/modules/cloud-config-container/envoy-traffic-director/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/mysql/versions.tf b/modules/cloud-config-container/mysql/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/mysql/versions.tf
+++ b/modules/cloud-config-container/mysql/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/nginx-tls/versions.tf b/modules/cloud-config-container/nginx-tls/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/nginx-tls/versions.tf
+++ b/modules/cloud-config-container/nginx-tls/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/nginx/versions.tf b/modules/cloud-config-container/nginx/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/nginx/versions.tf
+++ b/modules/cloud-config-container/nginx/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/simple-nva/versions.tf b/modules/cloud-config-container/simple-nva/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/simple-nva/versions.tf
+++ b/modules/cloud-config-container/simple-nva/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-config-container/squid/versions.tf b/modules/cloud-config-container/squid/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-config-container/squid/versions.tf
+++ b/modules/cloud-config-container/squid/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-function-v1/versions.tf b/modules/cloud-function-v1/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-function-v1/versions.tf
+++ b/modules/cloud-function-v1/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-function-v2/versions.tf b/modules/cloud-function-v2/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-function-v2/versions.tf
+++ b/modules/cloud-function-v2/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-identity-group/versions.tf b/modules/cloud-identity-group/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-identity-group/versions.tf
+++ b/modules/cloud-identity-group/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloud-run/versions.tf b/modules/cloud-run/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloud-run/versions.tf
+++ b/modules/cloud-run/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/cloudsql-instance/versions.tf b/modules/cloudsql-instance/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/cloudsql-instance/versions.tf
+++ b/modules/cloudsql-instance/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/compute-mig/versions.tf b/modules/compute-mig/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/compute-mig/versions.tf
+++ b/modules/compute-mig/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/compute-vm/versions.tf b/modules/compute-vm/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/compute-vm/versions.tf
+++ b/modules/compute-vm/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/container-registry/versions.tf b/modules/container-registry/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/container-registry/versions.tf
+++ b/modules/container-registry/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/data-catalog-policy-tag/versions.tf b/modules/data-catalog-policy-tag/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/data-catalog-policy-tag/versions.tf
+++ b/modules/data-catalog-policy-tag/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/datafusion/versions.tf b/modules/datafusion/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/datafusion/versions.tf
+++ b/modules/datafusion/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/dataplex-datascan/versions.tf b/modules/dataplex-datascan/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/dataplex-datascan/versions.tf
+++ b/modules/dataplex-datascan/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/dataplex/versions.tf b/modules/dataplex/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/dataplex/versions.tf
+++ b/modules/dataplex/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/dataproc/versions.tf b/modules/dataproc/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/dataproc/versions.tf
+++ b/modules/dataproc/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/dns-response-policy/versions.tf b/modules/dns-response-policy/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/dns-response-policy/versions.tf
+++ b/modules/dns-response-policy/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/dns/versions.tf b/modules/dns/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/dns/versions.tf
+++ b/modules/dns/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/endpoints/versions.tf b/modules/endpoints/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/endpoints/versions.tf
+++ b/modules/endpoints/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/folder/versions.tf b/modules/folder/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/folder/versions.tf
+++ b/modules/folder/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/gcs/versions.tf b/modules/gcs/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/gcs/versions.tf
+++ b/modules/gcs/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/gcve-private-cloud/versions.tf b/modules/gcve-private-cloud/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/gcve-private-cloud/versions.tf
+++ b/modules/gcve-private-cloud/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/gke-cluster-autopilot/README.md b/modules/gke-cluster-autopilot/README.md
index e5677a58..b54588c8 100644
--- a/modules/gke-cluster-autopilot/README.md
+++ b/modules/gke-cluster-autopilot/README.md
@@ -107,12 +107,12 @@ module "cluster-1" {
### Monitoring configuration
> [!NOTE]
-> System metrics collection is pre-configured for Autopilot clusters and cannot be disabled.
+> [System metrics](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-metrics#enable-system-metrics) collection is pre-configured for Autopilot clusters and cannot be disabled.
> [!WARNING]
> GKE **workload metrics** is deprecated and removed in GKE 1.24 and later. Workload metrics is replaced by [Google Cloud Managed Service for Prometheus](https://cloud.google.com/stackdriver/docs/managed-prometheus), which is Google's recommended way to monitor Kubernetes applications by using Cloud Monitoring.
-This example shows how to [configure collection of Kubernetes control plane metrics](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-metrics#enable-control-plane-metrics). The metrics for these components are not collected by default.
+This example shows how to [configure collection of Kubernetes control plane metrics](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-metrics#enable-control-plane-metrics). These metrics are optional and are not collected by default.
```hcl
module "cluster-1" {
@@ -134,6 +134,36 @@ module "cluster-1" {
# tftest modules=1 resources=1 inventory=monitoring-config-control-plane.yaml
```
+The next example shows how to [configure collection of kube state metrics](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-metrics#enable-ksm). These metrics are optional and are not collected by default.
+
+```hcl
+module "cluster-1" {
+ source = "./fabric/modules/gke-cluster-autopilot"
+ project_id = var.project_id
+ name = "cluster-1"
+ location = "europe-west1"
+ vpc_config = {
+ network = var.vpc.self_link
+ subnetwork = var.subnet.self_link
+ secondary_range_names = {} # use default names "pods" and "services"
+ }
+ monitoring_config = {
+ enable_daemonset_metrics = true
+ enable_deployment_metrics = true
+ enable_hpa_metrics = true
+ enable_pod_metrics = true
+ enable_statefulset_metrics = true
+ enable_storage_metrics = true
+ # Kube state metrics collection requires Google Cloud Managed Service for Prometheus,
+ # which is enabled by default.
+ # enable_managed_prometheus = true
+ }
+}
+# tftest modules=1 resources=1 inventory=monitoring-config-kube-state.yaml
+```
+
+The *control plane metrics* and *kube state metrics* collection can be configured in a single `monitoring_config` block.
+
### Backup for GKE
> [!NOTE]
@@ -177,9 +207,9 @@ module "cluster-1" {
| name | description | type | required | default |
|---|---|:---:|:---:|:---:|
| [location](variables.tf#L110) | Autopilot clusters are always regional. | string
| ✓ | |
-| [name](variables.tf#L170) | Cluster name. | string
| ✓ | |
-| [project_id](variables.tf#L196) | Cluster project ID. | string
| ✓ | |
-| [vpc_config](variables.tf#L225) | VPC-level configuration. | object({…})
| ✓ | |
+| [name](variables.tf#L187) | Cluster name. | string
| ✓ | |
+| [project_id](variables.tf#L213) | Cluster project ID. | string
| ✓ | |
+| [vpc_config](variables.tf#L242) | VPC-level configuration. | object({…})
| ✓ | |
| [backup_configs](variables.tf#L17) | Configuration for Backup for GKE. | object({…})
| | {}
|
| [description](variables.tf#L37) | Cluster description. | string
| | null
|
| [enable_addons](variables.tf#L43) | Addons enabled in the cluster (true means enabled). | object({…})
| | {…}
|
@@ -189,12 +219,12 @@ module "cluster-1" {
| [logging_config](variables.tf#L115) | Logging configuration. | object({…})
| | {}
|
| [maintenance_config](variables.tf#L126) | Maintenance window configuration. | object({…})
| | {…}
|
| [min_master_version](variables.tf#L149) | Minimum version of the master, defaults to the version of the most recent official release. | string
| | null
|
-| [monitoring_config](variables.tf#L155) | Monitoring configuration. System metrics collection cannot be disabled for Autopilot clusters. Control plane metrics are optional. Google Cloud Managed Service for Prometheus is enabled by default. | object({…})
| | {}
|
-| [node_locations](variables.tf#L175) | Zones in which the cluster's nodes are located. | list(string)
| | []
|
-| [private_cluster_config](variables.tf#L182) | Private cluster configuration. | object({…})
| | null
|
-| [release_channel](variables.tf#L201) | Release channel for GKE upgrades. Clusters created in the Autopilot mode must use a release channel. Choose between \"RAPID\", \"REGULAR\", and \"STABLE\". | string
| | "REGULAR"
|
-| [service_account](variables.tf#L212) | The Google Cloud Platform Service Account to be used by the node VMs created by GKE Autopilot. | string
| | null
|
-| [tags](variables.tf#L218) | Network tags applied to nodes. | list(string)
| | []
|
+| [monitoring_config](variables.tf#L155) | Monitoring configuration. System metrics collection cannot be disabled. Control plane metrics are optional. Kube state metrics are optional. Google Cloud Managed Service for Prometheus is enabled by default. | object({…})
| | {}
|
+| [node_locations](variables.tf#L192) | Zones in which the cluster's nodes are located. | list(string)
| | []
|
+| [private_cluster_config](variables.tf#L199) | Private cluster configuration. | object({…})
| | null
|
+| [release_channel](variables.tf#L218) | Release channel for GKE upgrades. Clusters created in the Autopilot mode must use a release channel. Choose between \"RAPID\", \"REGULAR\", and \"STABLE\". | string
| | "REGULAR"
|
+| [service_account](variables.tf#L229) | The Google Cloud Platform Service Account to be used by the node VMs created by GKE Autopilot. | string
| | null
|
+| [tags](variables.tf#L235) | Network tags applied to nodes. | list(string)
| | []
|
## Outputs
diff --git a/modules/gke-cluster-autopilot/main.tf b/modules/gke-cluster-autopilot/main.tf
index 7948fd58..4ca8ee54 100644
--- a/modules/gke-cluster-autopilot/main.tf
+++ b/modules/gke-cluster-autopilot/main.tf
@@ -211,6 +211,13 @@ resource "google_container_cluster" "cluster" {
var.monitoring_config.enable_api_server_metrics ? "APISERVER" : null,
var.monitoring_config.enable_controller_manager_metrics ? "CONTROLLER_MANAGER" : null,
var.monitoring_config.enable_scheduler_metrics ? "SCHEDULER" : null,
+ # Kube state metrics:
+ var.monitoring_config.enable_daemonset_metrics ? "DAEMONSET" : null,
+ var.monitoring_config.enable_deployment_metrics ? "DEPLOYMENT" : null,
+ var.monitoring_config.enable_hpa_metrics ? "HPA" : null,
+ var.monitoring_config.enable_pod_metrics ? "POD" : null,
+ var.monitoring_config.enable_statefulset_metrics ? "STATEFULSET" : null,
+ var.monitoring_config.enable_storage_metrics ? "STORAGE" : null,
]))
managed_prometheus {
enabled = var.monitoring_config.enable_managed_prometheus
diff --git a/modules/gke-cluster-autopilot/variables.tf b/modules/gke-cluster-autopilot/variables.tf
index bf410222..24f8cd2b 100644
--- a/modules/gke-cluster-autopilot/variables.tf
+++ b/modules/gke-cluster-autopilot/variables.tf
@@ -153,18 +153,35 @@ variable "min_master_version" {
}
variable "monitoring_config" {
- description = "Monitoring configuration. System metrics collection cannot be disabled for Autopilot clusters. Control plane metrics are optional. Google Cloud Managed Service for Prometheus is enabled by default."
+ description = "Monitoring configuration. System metrics collection cannot be disabled. Control plane metrics are optional. Kube state metrics are optional. Google Cloud Managed Service for Prometheus is enabled by default."
type = object({
# Control plane metrics
enable_api_server_metrics = optional(bool, false)
enable_controller_manager_metrics = optional(bool, false)
enable_scheduler_metrics = optional(bool, false)
- # Google Cloud Managed Service for Prometheus
- # GKE Autopilot clusters running GKE version 1.25 or greater must have this on.
+ # Kube state metrics. Requires managed Prometheus. Requires provider version >= v4.82.0
+ enable_daemonset_metrics = optional(bool, false)
+ enable_deployment_metrics = optional(bool, false)
+ enable_hpa_metrics = optional(bool, false)
+ enable_pod_metrics = optional(bool, false)
+ enable_statefulset_metrics = optional(bool, false)
+ enable_storage_metrics = optional(bool, false)
+ # Google Cloud Managed Service for Prometheus. Autopilot clusters version >= 1.25 must have this on.
enable_managed_prometheus = optional(bool, true)
})
default = {}
nullable = false
+ validation {
+ condition = anytrue([
+ var.monitoring_config.enable_daemonset_metrics,
+ var.monitoring_config.enable_deployment_metrics,
+ var.monitoring_config.enable_hpa_metrics,
+ var.monitoring_config.enable_pod_metrics,
+ var.monitoring_config.enable_statefulset_metrics,
+ var.monitoring_config.enable_storage_metrics,
+ ]) ? var.monitoring_config.enable_managed_prometheus : true
+ error_message = "Kube state metrics collection requires Google Cloud Managed Service for Prometheus to be enabled."
+ }
}
variable "name" {
diff --git a/modules/gke-cluster-autopilot/versions.tf b/modules/gke-cluster-autopilot/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/gke-cluster-autopilot/versions.tf
+++ b/modules/gke-cluster-autopilot/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/gke-cluster-standard/README.md b/modules/gke-cluster-standard/README.md
index da5a8897..3c9b1eb8 100644
--- a/modules/gke-cluster-standard/README.md
+++ b/modules/gke-cluster-standard/README.md
@@ -118,7 +118,7 @@ module "cluster-1" {
### Monitoring configuration
-This example shows how to [configure collection of Kubernetes control plane metrics](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-metrics#enable-control-plane-metrics). The metrics for these components are not collected by default.
+This example shows how to [configure collection of Kubernetes control plane metrics](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-metrics#enable-control-plane-metrics). These metrics are optional and are not collected by default.
```hcl
module "cluster-1" {
@@ -129,7 +129,7 @@ module "cluster-1" {
vpc_config = {
network = var.vpc.self_link
subnetwork = var.subnet.self_link
- secondary_range_names = {}
+ secondary_range_names = {} # use default names "pods" and "services"
}
monitoring_config = {
enable_api_server_metrics = true
@@ -140,6 +140,35 @@ module "cluster-1" {
# tftest modules=1 resources=1 inventory=monitoring-config-control-plane.yaml
```
+The next example shows how to [configure collection of kube state metrics](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-metrics#enable-ksm). These metrics are optional and are not collected by default.
+
+```hcl
+module "cluster-1" {
+ source = "./fabric/modules/gke-cluster-standard"
+ project_id = "myproject"
+ name = "cluster-1"
+ location = "europe-west1-b"
+ vpc_config = {
+ network = var.vpc.self_link
+ subnetwork = var.subnet.self_link
+ secondary_range_names = {} # use default names "pods" and "services"
+ }
+ monitoring_config = {
+ enable_daemonset_metrics = true
+ enable_deployment_metrics = true
+ enable_hpa_metrics = true
+ enable_pod_metrics = true
+ enable_statefulset_metrics = true
+ enable_storage_metrics = true
+ # Kube state metrics collection requires Google Cloud Managed Service for Prometheus,
+ # which is enabled by default.
+ # enable_managed_prometheus = true
+ }
+}
+# tftest modules=1 resources=1 inventory=monitoring-config-kube-state.yaml
+```
+
+The *control plane metrics* and *kube state metrics* collection can be configured in a single `monitoring_config` block.
### Disable GKE logs or metrics collection
@@ -168,7 +197,7 @@ module "cluster-1" {
# tftest modules=1 resources=1 inventory=logging-config-disable-all.yaml
```
-This example shows how to fully disable metrics collection on a zonal GKE Standard cluster. This is not recommended.
+The next example shows how to fully disable metrics collection on a zonal GKE Standard cluster. This is not recommended.
```hcl
module "cluster-1" {
@@ -278,9 +307,9 @@ module "cluster-1" {
| name | description | type | required | default |
|---|---|:---:|:---:|:---:|
| [location](variables.tf#L138) | Cluster zone or region. | string
| ✓ | |
-| [name](variables.tf#L226) | Cluster name. | string
| ✓ | |
-| [project_id](variables.tf#L252) | Cluster project id. | string
| ✓ | |
-| [vpc_config](variables.tf#L269) | VPC-level configuration. | object({…})
| ✓ | |
+| [name](variables.tf#L249) | Cluster name. | string
| ✓ | |
+| [project_id](variables.tf#L275) | Cluster project id. | string
| ✓ | |
+| [vpc_config](variables.tf#L292) | VPC-level configuration. | object({…})
| ✓ | |
| [backup_configs](variables.tf#L17) | Configuration for Backup for GKE. | object({…})
| | {}
|
| [cluster_autoscaling](variables.tf#L37) | Enable and configure limits for Node Auto-Provisioning with Cluster Autoscaler. | object({…})
| | null
|
| [description](variables.tf#L58) | Cluster description. | string
| | null
|
@@ -292,11 +321,11 @@ module "cluster-1" {
| [maintenance_config](variables.tf#L164) | Maintenance window configuration. | object({…})
| | {…}
|
| [max_pods_per_node](variables.tf#L187) | Maximum number of pods per node in this cluster. | number
| | 110
|
| [min_master_version](variables.tf#L193) | Minimum version of the master, defaults to the version of the most recent official release. | string
| | null
|
-| [monitoring_config](variables.tf#L199) | Monitoring configuration. Google Cloud Managed Service for Prometheus is enabled by default. | object({…})
| | {}
|
-| [node_locations](variables.tf#L231) | Zones in which the cluster's nodes are located. | list(string)
| | []
|
-| [private_cluster_config](variables.tf#L238) | Private cluster configuration. | object({…})
| | null
|
-| [release_channel](variables.tf#L257) | Release channel for GKE upgrades. | string
| | null
|
-| [tags](variables.tf#L263) | Network tags applied to nodes. | list(string)
| | null
|
+| [monitoring_config](variables.tf#L199) | Monitoring configuration. Google Cloud Managed Service for Prometheus is enabled by default. | object({…})
| | {}
|
+| [node_locations](variables.tf#L254) | Zones in which the cluster's nodes are located. | list(string)
| | []
|
+| [private_cluster_config](variables.tf#L261) | Private cluster configuration. | object({…})
| | null
|
+| [release_channel](variables.tf#L280) | Release channel for GKE upgrades. | string
| | null
|
+| [tags](variables.tf#L286) | Network tags applied to nodes. | list(string)
| | null
|
## Outputs
diff --git a/modules/gke-cluster-standard/main.tf b/modules/gke-cluster-standard/main.tf
index 666de53f..d27f6ab3 100644
--- a/modules/gke-cluster-standard/main.tf
+++ b/modules/gke-cluster-standard/main.tf
@@ -281,10 +281,17 @@ resource "google_container_cluster" "cluster" {
enable_components = toset(compact([
# System metrics is the minimum requirement if any other metrics are enabled. This is checked by input var validation.
var.monitoring_config.enable_system_metrics ? "SYSTEM_COMPONENTS" : null,
- # Control plane metrics:
+ # Control plane metrics
var.monitoring_config.enable_api_server_metrics ? "APISERVER" : null,
var.monitoring_config.enable_controller_manager_metrics ? "CONTROLLER_MANAGER" : null,
var.monitoring_config.enable_scheduler_metrics ? "SCHEDULER" : null,
+ # Kube state metrics
+ var.monitoring_config.enable_daemonset_metrics ? "DAEMONSET" : null,
+ var.monitoring_config.enable_deployment_metrics ? "DEPLOYMENT" : null,
+ var.monitoring_config.enable_hpa_metrics ? "HPA" : null,
+ var.monitoring_config.enable_pod_metrics ? "POD" : null,
+ var.monitoring_config.enable_statefulset_metrics ? "STATEFULSET" : null,
+ var.monitoring_config.enable_storage_metrics ? "STORAGE" : null,
]))
managed_prometheus {
enabled = var.monitoring_config.enable_managed_prometheus
diff --git a/modules/gke-cluster-standard/variables.tf b/modules/gke-cluster-standard/variables.tf
index 53875961..6b76efa7 100644
--- a/modules/gke-cluster-standard/variables.tf
+++ b/modules/gke-cluster-standard/variables.tf
@@ -206,7 +206,13 @@ variable "monitoring_config" {
enable_controller_manager_metrics = optional(bool, false)
enable_scheduler_metrics = optional(bool, false)
- # TODO add kube state metrics and validation
+ # Kube state metrics
+ enable_daemonset_metrics = optional(bool, false)
+ enable_deployment_metrics = optional(bool, false)
+ enable_hpa_metrics = optional(bool, false)
+ enable_pod_metrics = optional(bool, false)
+ enable_statefulset_metrics = optional(bool, false)
+ enable_storage_metrics = optional(bool, false)
# Google Cloud Managed Service for Prometheus
enable_managed_prometheus = optional(bool, true)
@@ -218,9 +224,26 @@ variable "monitoring_config" {
var.monitoring_config.enable_api_server_metrics,
var.monitoring_config.enable_controller_manager_metrics,
var.monitoring_config.enable_scheduler_metrics,
+ var.monitoring_config.enable_daemonset_metrics,
+ var.monitoring_config.enable_deployment_metrics,
+ var.monitoring_config.enable_hpa_metrics,
+ var.monitoring_config.enable_pod_metrics,
+ var.monitoring_config.enable_statefulset_metrics,
+ var.monitoring_config.enable_storage_metrics,
]) ? var.monitoring_config.enable_system_metrics : true
error_message = "System metrics are the minimum required component for enabling metrics collection."
}
+ validation {
+ condition = anytrue([
+ var.monitoring_config.enable_daemonset_metrics,
+ var.monitoring_config.enable_deployment_metrics,
+ var.monitoring_config.enable_hpa_metrics,
+ var.monitoring_config.enable_pod_metrics,
+ var.monitoring_config.enable_statefulset_metrics,
+ var.monitoring_config.enable_storage_metrics,
+ ]) ? var.monitoring_config.enable_managed_prometheus : true
+ error_message = "Kube state metrics collection requires Google Cloud Managed Service for Prometheus to be enabled."
+ }
}
variable "name" {
diff --git a/modules/gke-cluster-standard/versions.tf b/modules/gke-cluster-standard/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/gke-cluster-standard/versions.tf
+++ b/modules/gke-cluster-standard/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/gke-hub/versions.tf b/modules/gke-hub/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/gke-hub/versions.tf
+++ b/modules/gke-hub/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/gke-nodepool/versions.tf b/modules/gke-nodepool/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/gke-nodepool/versions.tf
+++ b/modules/gke-nodepool/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/iam-service-account/versions.tf b/modules/iam-service-account/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/iam-service-account/versions.tf
+++ b/modules/iam-service-account/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/kms/versions.tf b/modules/kms/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/kms/versions.tf
+++ b/modules/kms/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/logging-bucket/versions.tf b/modules/logging-bucket/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/logging-bucket/versions.tf
+++ b/modules/logging-bucket/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/ncc-spoke-ra/versions.tf b/modules/ncc-spoke-ra/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/ncc-spoke-ra/versions.tf
+++ b/modules/ncc-spoke-ra/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-address/versions.tf b/modules/net-address/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-address/versions.tf
+++ b/modules/net-address/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-cloudnat/versions.tf b/modules/net-cloudnat/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-cloudnat/versions.tf
+++ b/modules/net-cloudnat/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-firewall-policy/versions.tf b/modules/net-firewall-policy/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-firewall-policy/versions.tf
+++ b/modules/net-firewall-policy/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-ipsec-over-interconnect/versions.tf b/modules/net-ipsec-over-interconnect/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-ipsec-over-interconnect/versions.tf
+++ b/modules/net-ipsec-over-interconnect/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-lb-app-ext/versions.tf b/modules/net-lb-app-ext/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-lb-app-ext/versions.tf
+++ b/modules/net-lb-app-ext/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-lb-app-int/versions.tf b/modules/net-lb-app-int/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-lb-app-int/versions.tf
+++ b/modules/net-lb-app-int/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-lb-ext/versions.tf b/modules/net-lb-ext/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-lb-ext/versions.tf
+++ b/modules/net-lb-ext/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-lb-int/versions.tf b/modules/net-lb-int/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-lb-int/versions.tf
+++ b/modules/net-lb-int/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-lb-proxy-int/versions.tf b/modules/net-lb-proxy-int/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-lb-proxy-int/versions.tf
+++ b/modules/net-lb-proxy-int/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-swp/versions.tf b/modules/net-swp/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-swp/versions.tf
+++ b/modules/net-swp/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-vlan-attachment/versions.tf b/modules/net-vlan-attachment/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-vlan-attachment/versions.tf
+++ b/modules/net-vlan-attachment/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-vpc-firewall/versions.tf b/modules/net-vpc-firewall/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-vpc-firewall/versions.tf
+++ b/modules/net-vpc-firewall/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-vpc-peering/versions.tf b/modules/net-vpc-peering/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-vpc-peering/versions.tf
+++ b/modules/net-vpc-peering/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-vpc/versions.tf b/modules/net-vpc/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-vpc/versions.tf
+++ b/modules/net-vpc/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-vpn-dynamic/versions.tf b/modules/net-vpn-dynamic/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-vpn-dynamic/versions.tf
+++ b/modules/net-vpn-dynamic/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-vpn-ha/versions.tf b/modules/net-vpn-ha/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-vpn-ha/versions.tf
+++ b/modules/net-vpn-ha/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/net-vpn-static/versions.tf b/modules/net-vpn-static/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/net-vpn-static/versions.tf
+++ b/modules/net-vpn-static/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/organization/versions.tf b/modules/organization/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/organization/versions.tf
+++ b/modules/organization/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/project/versions.tf b/modules/project/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/project/versions.tf
+++ b/modules/project/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/projects-data-source/versions.tf b/modules/projects-data-source/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/projects-data-source/versions.tf
+++ b/modules/projects-data-source/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/pubsub/versions.tf b/modules/pubsub/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/pubsub/versions.tf
+++ b/modules/pubsub/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/secret-manager/versions.tf b/modules/secret-manager/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/secret-manager/versions.tf
+++ b/modules/secret-manager/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/service-directory/versions.tf b/modules/service-directory/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/service-directory/versions.tf
+++ b/modules/service-directory/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/source-repository/versions.tf b/modules/source-repository/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/source-repository/versions.tf
+++ b/modules/source-repository/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/modules/vpc-sc/versions.tf b/modules/vpc-sc/versions.tf
index e4f7404f..91a91a31 100644
--- a/modules/vpc-sc/versions.tf
+++ b/modules/vpc-sc/versions.tf
@@ -1,4 +1,4 @@
-# Copyright 2022 Google LLC
+# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@ terraform {
required_providers {
google = {
source = "hashicorp/google"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
google-beta = {
source = "hashicorp/google-beta"
- version = ">= 4.80.0" # tftest
+ version = ">= 4.82.0" # tftest
}
}
}
diff --git a/tests/modules/gke_cluster_autopilot/examples/monitoring-config-kube-state.yaml b/tests/modules/gke_cluster_autopilot/examples/monitoring-config-kube-state.yaml
new file mode 100644
index 00000000..32e5bad5
--- /dev/null
+++ b/tests/modules/gke_cluster_autopilot/examples/monitoring-config-kube-state.yaml
@@ -0,0 +1,30 @@
+# Copyright 2023 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+values:
+ module.cluster-1.google_container_cluster.cluster:
+ monitoring_config:
+ - enable_components:
+ - DAEMONSET
+ - DEPLOYMENT
+ - HPA
+ - POD
+ - STATEFULSET
+ - STORAGE
+ - SYSTEM_COMPONENTS
+ managed_prometheus:
+ - enabled: true
+
+counts:
+ google_container_cluster: 1
diff --git a/tests/modules/gke_cluster_standard/examples/monitoring-config-kube-state.yaml b/tests/modules/gke_cluster_standard/examples/monitoring-config-kube-state.yaml
new file mode 100644
index 00000000..32e5bad5
--- /dev/null
+++ b/tests/modules/gke_cluster_standard/examples/monitoring-config-kube-state.yaml
@@ -0,0 +1,30 @@
+# Copyright 2023 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+values:
+ module.cluster-1.google_container_cluster.cluster:
+ monitoring_config:
+ - enable_components:
+ - DAEMONSET
+ - DEPLOYMENT
+ - HPA
+ - POD
+ - STATEFULSET
+ - STORAGE
+ - SYSTEM_COMPONENTS
+ managed_prometheus:
+ - enabled: true
+
+counts:
+ google_container_cluster: 1