Skip to content

Commit 6492b45

Browse files
committed
Ensure that GA modules don't depend on beta functionality
Beta functionality removed fully from public and private cluster modules and related exampled. As long node_pool example used taints that in beta, it switched to public-cluster-beta module from root one. Fixes #181
1 parent 98b6e7f commit 6492b45

File tree

30 files changed

+27
-123
lines changed

30 files changed

+27
-123
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
Extending the adopted spec, each change should have a link to its corresponding pull request appended.
88

99
## [Unreleased]
10+
11+
### Changed
12+
13+
* All Beta functionality removed from non-beta clusters, some properties like node_pool taints available only in beta cluster now [#228]
14+
1015
### Added
1116

1217
* Support for Intranode Visbiility (IV) and Veritical Pod Autoscaling (VPA) beta features [#216]
@@ -168,6 +173,7 @@ Extending the adopted spec, each change should have a link to its corresponding
168173
[v0.3.0]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v0.2.0...v0.3.0
169174
[v0.2.0]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v0.1.0...v0.2.0
170175

176+
[#228]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/228
171177
[#216]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/216
172178
[#214]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/214
173179
[#210]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/210

README.md

-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ In either case, upgrading to module version `v1.0.0` will trigger a recreation o
161161
| node\_pools\_metadata | Map of maps containing node metadata by node-pool name | map(map(string)) | `<map>` | no |
162162
| node\_pools\_oauth\_scopes | Map of lists containing node oauth scopes by node-pool name | map(list(string)) | `<map>` | no |
163163
| node\_pools\_tags | Map of lists containing node network tags by node-pool name | map(list(string)) | `<map>` | no |
164-
| node\_pools\_taints | Map of lists containing node taints by node-pool name | object | `<map>` | no |
165164
| node\_version | The Kubernetes version of the node pools. Defaults kubernetes_version (master) variable and can be overridden for individual node pools by setting the `version` key on them. Must be empyty or set the same as master at cluster creation. | string | `""` | no |
166165
| non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | list(string) | `<list>` | no |
167166
| project\_id | The project ID to host the cluster in (required) | string | n/a | yes |

autogen/auth.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Retrieve authentication token
2121
*****************************************/
2222
data "google_client_config" "default" {
23-
{% if private_cluster or beta_cluster %}
23+
{% if beta_cluster %}
2424
provider = google-beta
2525
{% else %}
2626
provider = google

autogen/cluster.tf

+7-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Create Container Cluster
2121
*****************************************/
2222
resource "google_container_cluster" "primary" {
23-
{% if private_cluster or beta_cluster %}
23+
{% if beta_cluster %}
2424
provider = google-beta
2525
{% else %}
2626
provider = google
@@ -192,7 +192,11 @@ resource "google_container_cluster" "primary" {
192192
Create Container Cluster node pools
193193
*****************************************/
194194
resource "google_container_node_pool" "pools" {
195+
{% if private_cluster or beta_cluster %}
195196
provider = google-beta
197+
{% else %}
198+
provider = google
199+
{% endif %}
196200
count = length(var.node_pools)
197201
name = var.node_pools[count.index]["name"]
198202
project = var.project_id
@@ -248,6 +252,7 @@ resource "google_container_node_pool" "pools" {
248252
"disable-legacy-endpoints" = var.disable_legacy_metadata_endpoints
249253
},
250254
)
255+
{% if beta_cluster %}
251256
dynamic "taint" {
252257
for_each = concat(
253258
var.node_pools_taints["all"],
@@ -259,6 +264,7 @@ resource "google_container_node_pool" "pools" {
259264
value = taint.value.value
260265
}
261266
}
267+
{% endif %}
262268
tags = concat(
263269
["gke-${var.name}"],
264270
["gke-${var.name}-${var.node_pools[count.index]["name"]}"],

autogen/main.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Get available zones in region
2121
*****************************************/
2222
data "google_compute_zones" "available" {
23-
{% if private_cluster or beta_cluster %}
23+
{% if beta_cluster %}
2424
provider = google-beta
2525
{% else %}
2626
provider = google

autogen/networks.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
{{ autogeneration_note }}
1818

1919
data "google_compute_network" "gke_network" {
20-
{% if private_cluster or beta_cluster %}
20+
{% if beta_cluster %}
2121
provider = google-beta
2222
{% else %}
2323
provider = google
@@ -28,7 +28,7 @@ data "google_compute_network" "gke_network" {
2828
}
2929

3030
data "google_compute_subnetwork" "gke_subnetwork" {
31-
{% if private_cluster or beta_cluster %}
31+
{% if beta_cluster %}
3232
provider = google-beta
3333
{% else %}
3434
provider = google

autogen/variables.tf

+2
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ variable "node_pools_metadata" {
178178
}
179179
}
180180

181+
{% if beta_cluster %}
181182
variable "node_pools_taints" {
182183
type = map(list(object({key=string,value=string,effect=string})))
183184
description = "Map of lists containing node taints by node-pool name"
@@ -187,6 +188,7 @@ variable "node_pools_taints" {
187188
default-node-pool = []
188189
}
189190
}
191+
{% endif %}
190192

191193
variable "node_pools_tags" {
192194
type = map(list(string))

cluster.tf

+1-12
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ resource "google_container_cluster" "primary" {
125125
Create Container Cluster node pools
126126
*****************************************/
127127
resource "google_container_node_pool" "pools" {
128-
provider = google-beta
128+
provider = google
129129
count = length(var.node_pools)
130130
name = var.node_pools[count.index]["name"]
131131
project = var.project_id
@@ -178,17 +178,6 @@ resource "google_container_node_pool" "pools" {
178178
"disable-legacy-endpoints" = var.disable_legacy_metadata_endpoints
179179
},
180180
)
181-
dynamic "taint" {
182-
for_each = concat(
183-
var.node_pools_taints["all"],
184-
var.node_pools_taints[var.node_pools[count.index]["name"]],
185-
)
186-
content {
187-
effect = taint.value.effect
188-
key = taint.value.key
189-
value = taint.value.value
190-
}
191-
}
192181
tags = concat(
193182
["gke-${var.name}"],
194183
["gke-${var.name}-${var.node_pools[count.index]["name"]}"],

examples/deploy_service/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
provider "kubernetes" {
3227
load_config_file = false
3328
host = "https://${module.gke.endpoint}"

examples/disable_client_cert/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
module "gke" {
3227
source = "../../"
3328

examples/node_pool/main.tf

+1-6
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,8 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
module "gke" {
32-
source = "../../"
27+
source = "../../modules/beta-public-cluster/"
3328
project_id = var.project_id
3429
name = "${local.cluster_type}-cluster${var.cluster_name_suffix}"
3530
regional = false

examples/shared_vpc/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
module "gke" {
3227
source = "../../"
3328
project_id = var.project_id

examples/simple_regional/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
module "gke" {
3227
source = "../../"
3328
project_id = var.project_id

examples/simple_regional_beta/main.tf

-6
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@ provider "google" {
2424
region = var.region
2525
}
2626

27-
provider "google-beta" {
28-
version = "~> 2.9.0"
29-
credentials = file(var.credentials_path)
30-
region = var.region
31-
}
32-
3327
module "gke" {
3428
source = "../../modules/beta-public-cluster/"
3529
project_id = var.project_id

examples/simple_regional_private/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ locals {
1818
cluster_type = "simple-regional-private"
1919
}
2020

21-
provider "google-beta" {
22-
version = "~> 2.9.0"
23-
region = var.region
24-
}
25-
2621
data "google_compute_subnetwork" "subnetwork" {
2722
name = var.subnetwork
2823
project = var.project_id

examples/simple_zonal/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
module "gke" {
3227
source = "../../"
3328
project_id = var.project_id

examples/simple_zonal_private/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ locals {
1818
cluster_type = "simple-regional-private"
1919
}
2020

21-
provider "google-beta" {
22-
version = "~> 2.9.0"
23-
region = var.region
24-
}
25-
2621
data "google_compute_subnetwork" "subnetwork" {
2722
name = var.subnetwork
2823
project = var.project_id

examples/stub_domains/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
module "gke" {
3227
source = "../../"
3328
project_id = var.project_id

examples/stub_domains_private/main.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
provider "google-beta" {
17+
provider "google" {
1818
version = "~> 2.9.0"
1919
region = var.region
2020
}

examples/stub_domains_upstream_nameservers/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
module "gke" {
3227
source = "../../"
3328
project_id = var.project_id

examples/upstream_nameservers/main.tf

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ provider "google" {
2323
region = var.region
2424
}
2525

26-
provider "google-beta" {
27-
version = "~> 2.9.0"
28-
region = var.region
29-
}
30-
3126
module "gke" {
3227
source = "../../"
3328
project_id = var.project_id

modules/private-cluster/README.md

-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ In either case, upgrading to module version `v1.0.0` will trigger a recreation o
170170
| node\_pools\_metadata | Map of maps containing node metadata by node-pool name | map(map(string)) | `<map>` | no |
171171
| node\_pools\_oauth\_scopes | Map of lists containing node oauth scopes by node-pool name | map(list(string)) | `<map>` | no |
172172
| node\_pools\_tags | Map of lists containing node network tags by node-pool name | map(list(string)) | `<map>` | no |
173-
| node\_pools\_taints | Map of lists containing node taints by node-pool name | object | `<map>` | no |
174173
| node\_version | The Kubernetes version of the node pools. Defaults kubernetes_version (master) variable and can be overridden for individual node pools by setting the `version` key on them. Must be empyty or set the same as master at cluster creation. | string | `""` | no |
175174
| non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | list(string) | `<list>` | no |
176175
| project\_id | The project ID to host the cluster in (required) | string | n/a | yes |

modules/private-cluster/auth.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Retrieve authentication token
2121
*****************************************/
2222
data "google_client_config" "default" {
23-
provider = google-beta
23+
provider = google
2424
}
2525

2626
/******************************************

modules/private-cluster/cluster.tf

+1-12
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Create Container Cluster
2121
*****************************************/
2222
resource "google_container_cluster" "primary" {
23-
provider = google-beta
23+
provider = google
2424

2525
name = var.name
2626
description = var.description
@@ -183,17 +183,6 @@ resource "google_container_node_pool" "pools" {
183183
"disable-legacy-endpoints" = var.disable_legacy_metadata_endpoints
184184
},
185185
)
186-
dynamic "taint" {
187-
for_each = concat(
188-
var.node_pools_taints["all"],
189-
var.node_pools_taints[var.node_pools[count.index]["name"]],
190-
)
191-
content {
192-
effect = taint.value.effect
193-
key = taint.value.key
194-
value = taint.value.value
195-
}
196-
}
197186
tags = concat(
198187
["gke-${var.name}"],
199188
["gke-${var.name}-${var.node_pools[count.index]["name"]}"],

modules/private-cluster/main.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
Get available zones in region
2121
*****************************************/
2222
data "google_compute_zones" "available" {
23-
provider = google-beta
23+
provider = google
2424

2525
project = var.project_id
2626
region = var.region

modules/private-cluster/networks.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
// This file was automatically generated from a template in ./autogen
1818

1919
data "google_compute_network" "gke_network" {
20-
provider = google-beta
20+
provider = google
2121

2222
name = var.network
2323
project = local.network_project_id
2424
}
2525

2626
data "google_compute_subnetwork" "gke_subnetwork" {
27-
provider = google-beta
27+
provider = google
2828

2929
name = var.subnetwork
3030
region = var.region

modules/private-cluster/variables.tf

-9
Original file line numberDiff line numberDiff line change
@@ -178,15 +178,6 @@ variable "node_pools_metadata" {
178178
}
179179
}
180180

181-
variable "node_pools_taints" {
182-
type = map(list(object({ key = string, value = string, effect = string })))
183-
description = "Map of lists containing node taints by node-pool name"
184-
185-
default = {
186-
all = []
187-
default-node-pool = []
188-
}
189-
}
190181

191182
variable "node_pools_tags" {
192183
type = map(list(string))

test/fixtures/simple_regional_private/network.tf

-4
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ resource "random_string" "suffix" {
2020
upper = false
2121
}
2222

23-
provider "google-beta" {
24-
project = var.project_id
25-
}
26-
2723
resource "google_compute_network" "main" {
2824
project = var.project_id
2925
name = "cft-gke-test-${random_string.suffix.result}"

0 commit comments

Comments
 (0)