diff --git a/README.md b/README.md index d7b5c2596..774f9b043 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,14 @@ Sub modules are provided for creating private clusters, beta private clusters, a ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -131,7 +135,7 @@ Then perform the following commands on the root folder: | add\_master\_webhook\_firewall\_rules | Create master\_webhook firewall rules for ports defined in `firewall_inbound_ports` | `bool` | `false` | no | | add\_shadow\_firewall\_rules | Create GKE shadow firewall (the same as default firewall rules with firewall logs enabled). | `bool` | `false` | no | | authenticator\_security\_group | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com | `string` | `null` | no | -| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | +| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
disk_size = optional(number)
disk_type = optional(string)
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"disk_size": 100,
"disk_type": "pd-standard",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | | cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no | | cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no | | cluster\_dns\_scope | The scope of access to cluster DNS records. DNS\_SCOPE\_UNSPECIFIED (default) or CLUSTER\_SCOPE or VPC\_SCOPE. | `string` | `"DNS_SCOPE_UNSPECIFIED"` | no | @@ -317,7 +321,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP][terraform-provider-google] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -346,3 +350,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google]: https://github.com/terraform-providers/terraform-provider-google [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/autogen/main/README.md b/autogen/main/README.md index 0b76b3030..c641296d6 100644 --- a/autogen/main/README.md +++ b/autogen/main/README.md @@ -42,10 +42,14 @@ The implications of this are that: {% endif %} ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -264,7 +268,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ {% if beta_cluster %} - [Terraform Provider for GCP Beta][terraform-provider-google-beta] v4.51 {% else %} @@ -301,3 +305,4 @@ In order to operate with the Service Account you must activate the following API {% endif %} [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/autogen/main/cluster.tf.tmpl b/autogen/main/cluster.tf.tmpl index 58ab5a57c..71e9720fa 100644 --- a/autogen/main/cluster.tf.tmpl +++ b/autogen/main/cluster.tf.tmpl @@ -141,6 +141,9 @@ resource "google_container_cluster" "primary" { auto_upgrade = lookup(var.cluster_autoscaling, "auto_upgrade",true) } + disk_size = lookup(var.cluster_autoscaling, "disk_size", 100) + disk_type = lookup(var.cluster_autoscaling, "disk_type", "pd-standard") + {% if beta_cluster %} min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") {% endif %} diff --git a/autogen/main/variables.tf.tmpl b/autogen/main/variables.tf.tmpl index d0d140b65..898031817 100644 --- a/autogen/main/variables.tf.tmpl +++ b/autogen/main/variables.tf.tmpl @@ -243,6 +243,8 @@ variable "cluster_autoscaling" { gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) auto_repair = bool auto_upgrade = bool + disk_size = optional(number) + disk_type = optional(string) }) default = { enabled = false @@ -256,6 +258,8 @@ variable "cluster_autoscaling" { gpu_resources = [] auto_repair = true auto_upgrade = true + disk_size = 100 + disk_type = "pd-standard" } description = "Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling)" } diff --git a/autogen/main/versions.tf.tmpl b/autogen/main/versions.tf.tmpl index 6d8e18877..092c18c7f 100644 --- a/autogen/main/versions.tf.tmpl +++ b/autogen/main/versions.tf.tmpl @@ -18,7 +18,7 @@ {% set module_registry_name = module_path_str.split('/')[-1] %} terraform { - required_version = ">=0.13" + required_version = ">=1.3" {% if beta_cluster %} required_providers { diff --git a/autogen/safer-cluster/versions.tf.tmpl b/autogen/safer-cluster/versions.tf.tmpl index d6bf91ea9..e4b7f26bb 100644 --- a/autogen/safer-cluster/versions.tf.tmpl +++ b/autogen/safer-cluster/versions.tf.tmpl @@ -20,7 +20,7 @@ {% set module_registry_name = module_path_str.split('/')[-1] %} terraform { - required_version = ">=0.13" + required_version = ">=1.3" provider_meta "google-beta" { module_name = "blueprints/terraform/terraform-google-kubernetes-engine{% if module_registry_name %}:{{ module_registry_name }}{% endif %}/v27.0.0" diff --git a/cluster.tf b/cluster.tf index a6f45f0a3..4766e785e 100644 --- a/cluster.tf +++ b/cluster.tf @@ -110,6 +110,9 @@ resource "google_container_cluster" "primary" { auto_upgrade = lookup(var.cluster_autoscaling, "auto_upgrade", true) } + disk_size = lookup(var.cluster_autoscaling, "disk_size", 100) + disk_type = lookup(var.cluster_autoscaling, "disk_type", "pd-standard") + } } dynamic "resource_limits" { diff --git a/modules/acm/README.md b/modules/acm/README.md index ec56c25c7..8fb4ca68f 100644 --- a/modules/acm/README.md +++ b/modules/acm/README.md @@ -91,7 +91,7 @@ data "google_client_config" "default" {} | install\_template\_library | Whether to install the default Policy Controller template library | `bool` | `true` | no | | location | GCP location used to reach cluster. | `string` | n/a | yes | | metrics\_gcp\_sa\_name | The name of the Google service account for ACM metrics writing | `string` | `"acm-metrics-writer"` | no | -| policy\_bundles | A list of Policy Controller policy bundles git urls (example: ) to install on the cluster. | `list(string)` | `[]` | no | +| policy\_bundles | A list of Policy Controller policy bundles git urls (example: https://github.com/GoogleCloudPlatform/acm-policy-controller-library.git/bundles/policy-essentials-v2022) to install on the cluster. | `list(string)` | `[]` | no | | policy\_dir | Subfolder containing configs in ACM Git repo. If un-set, uses Config Management default. | `string` | `""` | no | | project\_id | GCP project\_id used to reach cluster. | `string` | n/a | yes | | secret\_type | git authentication secret type, is passed through to ConfigManagement spec.git.secretType. Overriden to value 'ssh' if `create_ssh_key` is true | `string` | `"ssh"` | no | diff --git a/modules/beta-autopilot-private-cluster/README.md b/modules/beta-autopilot-private-cluster/README.md index 9a3871bed..bda0297ff 100644 --- a/modules/beta-autopilot-private-cluster/README.md +++ b/modules/beta-autopilot-private-cluster/README.md @@ -15,10 +15,14 @@ For details on configuring private clusters with this module, check the [trouble ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -185,7 +189,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP Beta][terraform-provider-google-beta] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -214,3 +218,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google-beta]: https://github.com/terraform-providers/terraform-provider-google-beta [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/modules/beta-autopilot-private-cluster/versions.tf b/modules/beta-autopilot-private-cluster/versions.tf index 2b32af35c..cba97d154 100644 --- a/modules/beta-autopilot-private-cluster/versions.tf +++ b/modules/beta-autopilot-private-cluster/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = { diff --git a/modules/beta-autopilot-public-cluster/README.md b/modules/beta-autopilot-public-cluster/README.md index 00b9a25f3..f788a817a 100644 --- a/modules/beta-autopilot-public-cluster/README.md +++ b/modules/beta-autopilot-public-cluster/README.md @@ -12,10 +12,14 @@ Sub modules are provided for creating private clusters, beta private clusters, a ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -172,7 +176,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP Beta][terraform-provider-google-beta] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -201,3 +205,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google-beta]: https://github.com/terraform-providers/terraform-provider-google-beta [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/modules/beta-autopilot-public-cluster/versions.tf b/modules/beta-autopilot-public-cluster/versions.tf index 5971b37df..a830f165c 100644 --- a/modules/beta-autopilot-public-cluster/versions.tf +++ b/modules/beta-autopilot-public-cluster/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = { diff --git a/modules/beta-private-cluster-update-variant/README.md b/modules/beta-private-cluster-update-variant/README.md index c782d85e1..fa58aa59a 100644 --- a/modules/beta-private-cluster-update-variant/README.md +++ b/modules/beta-private-cluster-update-variant/README.md @@ -37,10 +37,14 @@ The implications of this are that: ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -165,7 +169,7 @@ Then perform the following commands on the root folder: | authenticator\_security\_group | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com | `string` | `null` | no | | cloudrun | (Beta) Enable CloudRun addon | `bool` | `false` | no | | cloudrun\_load\_balancer\_type | (Beta) Configure the Cloud Run load balancer type. External by default. Set to `LOAD_BALANCER_TYPE_INTERNAL` to configure as an internal load balancer. | `string` | `""` | no | -| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
autoscaling_profile = string
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"autoscaling_profile": "BALANCED",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | +| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
autoscaling_profile = string
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
disk_size = optional(number)
disk_type = optional(string)
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"autoscaling_profile": "BALANCED",
"disk_size": 100,
"disk_type": "pd-standard",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | | cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no | | cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no | | cluster\_dns\_scope | The scope of access to cluster DNS records. DNS\_SCOPE\_UNSPECIFIED (default) or CLUSTER\_SCOPE or VPC\_SCOPE. | `string` | `"DNS_SCOPE_UNSPECIFIED"` | no | @@ -387,7 +391,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP Beta][terraform-provider-google-beta] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -416,3 +420,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google-beta]: https://github.com/terraform-providers/terraform-provider-google-beta [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/modules/beta-private-cluster-update-variant/cluster.tf b/modules/beta-private-cluster-update-variant/cluster.tf index 519c54d8f..14677e0af 100644 --- a/modules/beta-private-cluster-update-variant/cluster.tf +++ b/modules/beta-private-cluster-update-variant/cluster.tf @@ -122,6 +122,9 @@ resource "google_container_cluster" "primary" { auto_upgrade = lookup(var.cluster_autoscaling, "auto_upgrade", true) } + disk_size = lookup(var.cluster_autoscaling, "disk_size", 100) + disk_type = lookup(var.cluster_autoscaling, "disk_type", "pd-standard") + min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") } } diff --git a/modules/beta-private-cluster-update-variant/variables.tf b/modules/beta-private-cluster-update-variant/variables.tf index 11bd398c6..99800c8bd 100644 --- a/modules/beta-private-cluster-update-variant/variables.tf +++ b/modules/beta-private-cluster-update-variant/variables.tf @@ -236,6 +236,8 @@ variable "cluster_autoscaling" { gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) auto_repair = bool auto_upgrade = bool + disk_size = optional(number) + disk_type = optional(string) }) default = { enabled = false @@ -247,6 +249,8 @@ variable "cluster_autoscaling" { gpu_resources = [] auto_repair = true auto_upgrade = true + disk_size = 100 + disk_type = "pd-standard" } description = "Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling)" } diff --git a/modules/beta-private-cluster-update-variant/versions.tf b/modules/beta-private-cluster-update-variant/versions.tf index cd693cbba..34b56ac68 100644 --- a/modules/beta-private-cluster-update-variant/versions.tf +++ b/modules/beta-private-cluster-update-variant/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = { diff --git a/modules/beta-private-cluster/README.md b/modules/beta-private-cluster/README.md index f707b3f28..82d295f23 100644 --- a/modules/beta-private-cluster/README.md +++ b/modules/beta-private-cluster/README.md @@ -15,10 +15,14 @@ For details on configuring private clusters with this module, check the [trouble ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -143,7 +147,7 @@ Then perform the following commands on the root folder: | authenticator\_security\_group | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com | `string` | `null` | no | | cloudrun | (Beta) Enable CloudRun addon | `bool` | `false` | no | | cloudrun\_load\_balancer\_type | (Beta) Configure the Cloud Run load balancer type. External by default. Set to `LOAD_BALANCER_TYPE_INTERNAL` to configure as an internal load balancer. | `string` | `""` | no | -| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
autoscaling_profile = string
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"autoscaling_profile": "BALANCED",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | +| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
autoscaling_profile = string
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
disk_size = optional(number)
disk_type = optional(string)
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"autoscaling_profile": "BALANCED",
"disk_size": 100,
"disk_type": "pd-standard",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | | cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no | | cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no | | cluster\_dns\_scope | The scope of access to cluster DNS records. DNS\_SCOPE\_UNSPECIFIED (default) or CLUSTER\_SCOPE or VPC\_SCOPE. | `string` | `"DNS_SCOPE_UNSPECIFIED"` | no | @@ -365,7 +369,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP Beta][terraform-provider-google-beta] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -394,3 +398,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google-beta]: https://github.com/terraform-providers/terraform-provider-google-beta [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/modules/beta-private-cluster/cluster.tf b/modules/beta-private-cluster/cluster.tf index b53205c4d..9daec34d2 100644 --- a/modules/beta-private-cluster/cluster.tf +++ b/modules/beta-private-cluster/cluster.tf @@ -122,6 +122,9 @@ resource "google_container_cluster" "primary" { auto_upgrade = lookup(var.cluster_autoscaling, "auto_upgrade", true) } + disk_size = lookup(var.cluster_autoscaling, "disk_size", 100) + disk_type = lookup(var.cluster_autoscaling, "disk_type", "pd-standard") + min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") } } diff --git a/modules/beta-private-cluster/variables.tf b/modules/beta-private-cluster/variables.tf index 11bd398c6..99800c8bd 100644 --- a/modules/beta-private-cluster/variables.tf +++ b/modules/beta-private-cluster/variables.tf @@ -236,6 +236,8 @@ variable "cluster_autoscaling" { gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) auto_repair = bool auto_upgrade = bool + disk_size = optional(number) + disk_type = optional(string) }) default = { enabled = false @@ -247,6 +249,8 @@ variable "cluster_autoscaling" { gpu_resources = [] auto_repair = true auto_upgrade = true + disk_size = 100 + disk_type = "pd-standard" } description = "Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling)" } diff --git a/modules/beta-private-cluster/versions.tf b/modules/beta-private-cluster/versions.tf index 92019612c..0e41e4f16 100644 --- a/modules/beta-private-cluster/versions.tf +++ b/modules/beta-private-cluster/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = { diff --git a/modules/beta-public-cluster-update-variant/README.md b/modules/beta-public-cluster-update-variant/README.md index 233b62570..c60f4ec79 100644 --- a/modules/beta-public-cluster-update-variant/README.md +++ b/modules/beta-public-cluster-update-variant/README.md @@ -34,10 +34,14 @@ The implications of this are that: ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -159,7 +163,7 @@ Then perform the following commands on the root folder: | authenticator\_security\_group | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com | `string` | `null` | no | | cloudrun | (Beta) Enable CloudRun addon | `bool` | `false` | no | | cloudrun\_load\_balancer\_type | (Beta) Configure the Cloud Run load balancer type. External by default. Set to `LOAD_BALANCER_TYPE_INTERNAL` to configure as an internal load balancer. | `string` | `""` | no | -| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
autoscaling_profile = string
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"autoscaling_profile": "BALANCED",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | +| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
autoscaling_profile = string
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
disk_size = optional(number)
disk_type = optional(string)
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"autoscaling_profile": "BALANCED",
"disk_size": 100,
"disk_type": "pd-standard",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | | cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no | | cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no | | cluster\_dns\_scope | The scope of access to cluster DNS records. DNS\_SCOPE\_UNSPECIFIED (default) or CLUSTER\_SCOPE or VPC\_SCOPE. | `string` | `"DNS_SCOPE_UNSPECIFIED"` | no | @@ -375,7 +379,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP Beta][terraform-provider-google-beta] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -404,3 +408,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google-beta]: https://github.com/terraform-providers/terraform-provider-google-beta [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/modules/beta-public-cluster-update-variant/cluster.tf b/modules/beta-public-cluster-update-variant/cluster.tf index c086223b5..a4a9b4d37 100644 --- a/modules/beta-public-cluster-update-variant/cluster.tf +++ b/modules/beta-public-cluster-update-variant/cluster.tf @@ -122,6 +122,9 @@ resource "google_container_cluster" "primary" { auto_upgrade = lookup(var.cluster_autoscaling, "auto_upgrade", true) } + disk_size = lookup(var.cluster_autoscaling, "disk_size", 100) + disk_type = lookup(var.cluster_autoscaling, "disk_type", "pd-standard") + min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") } } diff --git a/modules/beta-public-cluster-update-variant/variables.tf b/modules/beta-public-cluster-update-variant/variables.tf index 5e033e3eb..a85dc63b6 100644 --- a/modules/beta-public-cluster-update-variant/variables.tf +++ b/modules/beta-public-cluster-update-variant/variables.tf @@ -236,6 +236,8 @@ variable "cluster_autoscaling" { gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) auto_repair = bool auto_upgrade = bool + disk_size = optional(number) + disk_type = optional(string) }) default = { enabled = false @@ -247,6 +249,8 @@ variable "cluster_autoscaling" { gpu_resources = [] auto_repair = true auto_upgrade = true + disk_size = 100 + disk_type = "pd-standard" } description = "Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling)" } diff --git a/modules/beta-public-cluster-update-variant/versions.tf b/modules/beta-public-cluster-update-variant/versions.tf index b50ce3140..0dcfcda12 100644 --- a/modules/beta-public-cluster-update-variant/versions.tf +++ b/modules/beta-public-cluster-update-variant/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = { diff --git a/modules/beta-public-cluster/README.md b/modules/beta-public-cluster/README.md index be5efc9a0..154247af2 100644 --- a/modules/beta-public-cluster/README.md +++ b/modules/beta-public-cluster/README.md @@ -12,10 +12,14 @@ Sub modules are provided for creating private clusters, beta private clusters, a ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -137,7 +141,7 @@ Then perform the following commands on the root folder: | authenticator\_security\_group | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com | `string` | `null` | no | | cloudrun | (Beta) Enable CloudRun addon | `bool` | `false` | no | | cloudrun\_load\_balancer\_type | (Beta) Configure the Cloud Run load balancer type. External by default. Set to `LOAD_BALANCER_TYPE_INTERNAL` to configure as an internal load balancer. | `string` | `""` | no | -| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
autoscaling_profile = string
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"autoscaling_profile": "BALANCED",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | +| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
autoscaling_profile = string
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
disk_size = optional(number)
disk_type = optional(string)
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"autoscaling_profile": "BALANCED",
"disk_size": 100,
"disk_type": "pd-standard",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | | cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no | | cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no | | cluster\_dns\_scope | The scope of access to cluster DNS records. DNS\_SCOPE\_UNSPECIFIED (default) or CLUSTER\_SCOPE or VPC\_SCOPE. | `string` | `"DNS_SCOPE_UNSPECIFIED"` | no | @@ -353,7 +357,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP Beta][terraform-provider-google-beta] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -382,3 +386,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google-beta]: https://github.com/terraform-providers/terraform-provider-google-beta [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/modules/beta-public-cluster/cluster.tf b/modules/beta-public-cluster/cluster.tf index ed021f26b..72376a4e0 100644 --- a/modules/beta-public-cluster/cluster.tf +++ b/modules/beta-public-cluster/cluster.tf @@ -122,6 +122,9 @@ resource "google_container_cluster" "primary" { auto_upgrade = lookup(var.cluster_autoscaling, "auto_upgrade", true) } + disk_size = lookup(var.cluster_autoscaling, "disk_size", 100) + disk_type = lookup(var.cluster_autoscaling, "disk_type", "pd-standard") + min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") } } diff --git a/modules/beta-public-cluster/variables.tf b/modules/beta-public-cluster/variables.tf index 5e033e3eb..a85dc63b6 100644 --- a/modules/beta-public-cluster/variables.tf +++ b/modules/beta-public-cluster/variables.tf @@ -236,6 +236,8 @@ variable "cluster_autoscaling" { gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) auto_repair = bool auto_upgrade = bool + disk_size = optional(number) + disk_type = optional(string) }) default = { enabled = false @@ -247,6 +249,8 @@ variable "cluster_autoscaling" { gpu_resources = [] auto_repair = true auto_upgrade = true + disk_size = 100 + disk_type = "pd-standard" } description = "Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling)" } diff --git a/modules/beta-public-cluster/versions.tf b/modules/beta-public-cluster/versions.tf index 099b99599..3075b4c3c 100644 --- a/modules/beta-public-cluster/versions.tf +++ b/modules/beta-public-cluster/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = { diff --git a/modules/private-cluster-update-variant/README.md b/modules/private-cluster-update-variant/README.md index 4e645df6b..18e5c5ca5 100644 --- a/modules/private-cluster-update-variant/README.md +++ b/modules/private-cluster-update-variant/README.md @@ -37,10 +37,14 @@ The implications of this are that: ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -159,7 +163,7 @@ Then perform the following commands on the root folder: | add\_master\_webhook\_firewall\_rules | Create master\_webhook firewall rules for ports defined in `firewall_inbound_ports` | `bool` | `false` | no | | add\_shadow\_firewall\_rules | Create GKE shadow firewall (the same as default firewall rules with firewall logs enabled). | `bool` | `false` | no | | authenticator\_security\_group | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com | `string` | `null` | no | -| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | +| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
disk_size = optional(number)
disk_type = optional(string)
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"disk_size": 100,
"disk_type": "pd-standard",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | | cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no | | cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no | | cluster\_dns\_scope | The scope of access to cluster DNS records. DNS\_SCOPE\_UNSPECIFIED (default) or CLUSTER\_SCOPE or VPC\_SCOPE. | `string` | `"DNS_SCOPE_UNSPECIFIED"` | no | @@ -352,7 +356,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP][terraform-provider-google] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -381,3 +385,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google]: https://github.com/terraform-providers/terraform-provider-google [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/modules/private-cluster-update-variant/cluster.tf b/modules/private-cluster-update-variant/cluster.tf index d54761c18..9530a1221 100644 --- a/modules/private-cluster-update-variant/cluster.tf +++ b/modules/private-cluster-update-variant/cluster.tf @@ -110,6 +110,9 @@ resource "google_container_cluster" "primary" { auto_upgrade = lookup(var.cluster_autoscaling, "auto_upgrade", true) } + disk_size = lookup(var.cluster_autoscaling, "disk_size", 100) + disk_type = lookup(var.cluster_autoscaling, "disk_type", "pd-standard") + } } dynamic "resource_limits" { diff --git a/modules/private-cluster-update-variant/variables.tf b/modules/private-cluster-update-variant/variables.tf index c6f8db81e..7ef790aa5 100644 --- a/modules/private-cluster-update-variant/variables.tf +++ b/modules/private-cluster-update-variant/variables.tf @@ -235,6 +235,8 @@ variable "cluster_autoscaling" { gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) auto_repair = bool auto_upgrade = bool + disk_size = optional(number) + disk_type = optional(string) }) default = { enabled = false @@ -245,6 +247,8 @@ variable "cluster_autoscaling" { gpu_resources = [] auto_repair = true auto_upgrade = true + disk_size = 100 + disk_type = "pd-standard" } description = "Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling)" } diff --git a/modules/private-cluster-update-variant/versions.tf b/modules/private-cluster-update-variant/versions.tf index d31559d8c..3cc8bf6f2 100644 --- a/modules/private-cluster-update-variant/versions.tf +++ b/modules/private-cluster-update-variant/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = { diff --git a/modules/private-cluster/README.md b/modules/private-cluster/README.md index 23058af6e..fda1c04d8 100644 --- a/modules/private-cluster/README.md +++ b/modules/private-cluster/README.md @@ -15,10 +15,14 @@ For details on configuring private clusters with this module, check the [trouble ## Compatibility -This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. -If you find incompatibilities using Terraform `>=0.13`, please open an issue. +This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. +If you find incompatibilities using Terraform `>=1.3`, please open an issue. -If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform +If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform +0.13.x-compatible version of this module, the last released version +intended for Terraform 0.13.x is [27.0.0]. + +If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is [12.3.0]. @@ -137,7 +141,7 @@ Then perform the following commands on the root folder: | add\_master\_webhook\_firewall\_rules | Create master\_webhook firewall rules for ports defined in `firewall_inbound_ports` | `bool` | `false` | no | | add\_shadow\_firewall\_rules | Create GKE shadow firewall (the same as default firewall rules with firewall logs enabled). | `bool` | `false` | no | | authenticator\_security\_group | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com | `string` | `null` | no | -| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | +| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) |
object({
enabled = bool
min_cpu_cores = number
max_cpu_cores = number
min_memory_gb = number
max_memory_gb = number
gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))
auto_repair = bool
auto_upgrade = bool
disk_size = optional(number)
disk_type = optional(string)
})
|
{
"auto_repair": true,
"auto_upgrade": true,
"disk_size": 100,
"disk_type": "pd-standard",
"enabled": false,
"gpu_resources": [],
"max_cpu_cores": 0,
"max_memory_gb": 0,
"min_cpu_cores": 0,
"min_memory_gb": 0
}
| no | | cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no | | cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no | | cluster\_dns\_scope | The scope of access to cluster DNS records. DNS\_SCOPE\_UNSPECIFIED (default) or CLUSTER\_SCOPE or VPC\_SCOPE. | `string` | `"DNS_SCOPE_UNSPECIFIED"` | no | @@ -330,7 +334,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog #### Kubectl - [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x #### Terraform and Plugins -- [Terraform](https://www.terraform.io/downloads.html) 0.13+ +- [Terraform](https://www.terraform.io/downloads.html) 1.3+ - [Terraform Provider for GCP][terraform-provider-google] v4.51 #### gcloud Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. @@ -359,3 +363,4 @@ In order to operate with the Service Account you must activate the following API [terraform-provider-google]: https://github.com/terraform-providers/terraform-provider-google [12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 [terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html +[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides diff --git a/modules/private-cluster/cluster.tf b/modules/private-cluster/cluster.tf index 22cceeb2f..693fcff79 100644 --- a/modules/private-cluster/cluster.tf +++ b/modules/private-cluster/cluster.tf @@ -110,6 +110,9 @@ resource "google_container_cluster" "primary" { auto_upgrade = lookup(var.cluster_autoscaling, "auto_upgrade", true) } + disk_size = lookup(var.cluster_autoscaling, "disk_size", 100) + disk_type = lookup(var.cluster_autoscaling, "disk_type", "pd-standard") + } } dynamic "resource_limits" { diff --git a/modules/private-cluster/variables.tf b/modules/private-cluster/variables.tf index c6f8db81e..7ef790aa5 100644 --- a/modules/private-cluster/variables.tf +++ b/modules/private-cluster/variables.tf @@ -235,6 +235,8 @@ variable "cluster_autoscaling" { gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) auto_repair = bool auto_upgrade = bool + disk_size = optional(number) + disk_type = optional(string) }) default = { enabled = false @@ -245,6 +247,8 @@ variable "cluster_autoscaling" { gpu_resources = [] auto_repair = true auto_upgrade = true + disk_size = 100 + disk_type = "pd-standard" } description = "Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling)" } diff --git a/modules/private-cluster/versions.tf b/modules/private-cluster/versions.tf index cbd9051cb..eb5a4d0f8 100644 --- a/modules/private-cluster/versions.tf +++ b/modules/private-cluster/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = { diff --git a/modules/safer-cluster-update-variant/versions.tf b/modules/safer-cluster-update-variant/versions.tf index 430bf88cc..977e23584 100644 --- a/modules/safer-cluster-update-variant/versions.tf +++ b/modules/safer-cluster-update-variant/versions.tf @@ -18,7 +18,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" provider_meta "google-beta" { module_name = "blueprints/terraform/terraform-google-kubernetes-engine:safer-cluster-update-variant/v27.0.0" diff --git a/modules/safer-cluster/versions.tf b/modules/safer-cluster/versions.tf index 1af10dd71..b6e59020b 100644 --- a/modules/safer-cluster/versions.tf +++ b/modules/safer-cluster/versions.tf @@ -18,7 +18,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" provider_meta "google-beta" { module_name = "blueprints/terraform/terraform-google-kubernetes-engine:safer-cluster/v27.0.0" diff --git a/variables.tf b/variables.tf index de94ee0c6..c69eac03f 100644 --- a/variables.tf +++ b/variables.tf @@ -235,6 +235,8 @@ variable "cluster_autoscaling" { gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) auto_repair = bool auto_upgrade = bool + disk_size = optional(number) + disk_type = optional(string) }) default = { enabled = false @@ -245,6 +247,8 @@ variable "cluster_autoscaling" { gpu_resources = [] auto_repair = true auto_upgrade = true + disk_size = 100 + disk_type = "pd-standard" } description = "Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling)" } diff --git a/versions.tf b/versions.tf index ac50b7d3c..4353943ee 100644 --- a/versions.tf +++ b/versions.tf @@ -16,7 +16,7 @@ terraform { - required_version = ">=0.13" + required_version = ">=1.3" required_providers { google = {