Skip to content

Commit 4fda7c1

Browse files
authored
Merge branch 'master' into fix/remove-label-keeper
2 parents f6d2c07 + dbb57a2 commit 4fda7c1

File tree

194 files changed

+4639
-1749
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+4639
-1749
lines changed

.github/renovate.json

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,34 @@
11
{
22
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
33
"extends": [
4-
"config:base",
4+
"config:recommended",
55
":semanticCommits",
66
":preserveSemverRanges",
77
":rebaseStalePrs"
88
],
9-
"stabilityDays":7,
10-
"ignorePaths": [],
9+
"minimumReleaseAge": "7 days",
10+
"ignorePaths": [".github/workflows/lint.yaml", ".github/workflows/stale.yml"],
1111
"labels": ["dependencies"],
12-
"vulnerabilityAlerts":{
13-
"labels":[
14-
"type:security"
15-
],
16-
"stabilityDays":0
17-
},
18-
"separateMajorMinor":false,
19-
"constraints": {
20-
"go": "1.20"
12+
"vulnerabilityAlerts": {
13+
"labels": ["type:security"],
14+
"minimumReleaseAge": null
2115
},
16+
"constraints": {"go": "1.20"},
2217
"packageRules": [
2318
{
24-
"matchPaths": ["examples/**", "test/**", ".github/**"],
25-
"extends": [":semanticCommitTypeAll(chore)"]
19+
"matchFileNames": ["examples/**", "test/**", ".github/**"],
20+
"commitMessagePrefix": "chore(deps):"
2621
},
2722
{
28-
"matchPaths": ["*", "modules/**"],
29-
"extends": [":semanticCommitTypeAll(fix)"]
23+
"matchFileNames": ["*", "modules/**"],
24+
"commitMessagePrefix": "fix(deps):"
3025
},
3126
{
32-
"matchDepTypes": ["module"],
33-
"groupName": "TF modules"
27+
"matchFileNames": ["*", "modules/**"],
28+
"matchUpdateTypes": "major",
29+
"commitMessagePrefix": "fix(deps)!:"
3430
},
31+
{"matchDepTypes": ["module"], "groupName": "TF modules"},
3532
{
3633
"matchDepTypes": ["require"],
3734
"groupName": "GO modules",
@@ -44,21 +41,25 @@
4441
"postUpdateOptions": ["gomodTidy"]
4542
},
4643
{
47-
"matchPackageNames": ["google", "google-beta"],
48-
"groupName": "terraform googles"
44+
"matchDepNames": ["google", "google-beta"],
45+
"groupName": "Terraform Google Provider"
4946
}
5047
],
5148
"regexManagers": [
5249
{
5350
"fileMatch": ["(^|/)Makefile$"],
54-
"matchStrings": ["DOCKER_TAG_VERSION_DEVELOPER_TOOLS := (?<currentValue>.*?)\\n"],
51+
"matchStrings": [
52+
"DOCKER_TAG_VERSION_DEVELOPER_TOOLS := (?<currentValue>.*?)\\n"
53+
],
5554
"datasourceTemplate": "docker",
5655
"registryUrlTemplate": "https://gcr.io/cloud-foundation-cicd",
5756
"depNameTemplate": "cft/developer-tools"
5857
},
5958
{
6059
"fileMatch": ["(^|/)build/(int|lint)\\.cloudbuild\\.yaml$"],
61-
"matchStrings": [" _DOCKER_TAG_VERSION_DEVELOPER_TOOLS: '(?<currentValue>.*?)'\\n"],
60+
"matchStrings": [
61+
" _DOCKER_TAG_VERSION_DEVELOPER_TOOLS: '(?<currentValue>.*?)'\\n"
62+
],
6263
"datasourceTemplate": "docker",
6364
"registryUrlTemplate": "https://gcr.io/cloud-foundation-cicd",
6465
"depNameTemplate": "cft/developer-tools"

.github/workflows/lint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
name: 'lint'
3232
runs-on: 'ubuntu-latest'
3333
steps:
34-
- uses: 'actions/checkout@v3'
34+
- uses: 'actions/checkout@v4'
3535
- id: variables
3636
run: |
3737
MAKEFILE=$(find . -name Makefile -print -quit)

.github/workflows/stale.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ on:
2222

2323
jobs:
2424
stale:
25+
if: github.repository_owner == 'GoogleCloudPlatform' || github.repository_owner == 'terraform-google-modules'
2526
runs-on: ubuntu-latest
2627
steps:
2728
- uses: actions/stale@v8

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
Extending the adopted spec, each change should have a link to its corresponding pull request appended.
88

9+
## [28.0.0](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v27.0.0...v28.0.0) (2023-09-20)
10+
11+
12+
### ⚠ BREAKING CHANGES
13+
14+
* support gcs fuse addon ([#1722](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1722))
15+
* Add support for disk_size and disk_type for cluster_autoscaling. ([#1693](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1693))
16+
17+
### Features
18+
19+
* add project and location output to fleet-membership ([#1740](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1740)) ([825bda6](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/825bda616c6bb28cf56a0b59f5833e3fecdd9eb5))
20+
* Add support for disk_size and disk_type for cluster_autoscaling. ([#1693](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1693)) ([fd233e5](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/fd233e5cddd9098b6e6520b0671eb16f77a5c187))
21+
* Add support for Logging Variant to enable max throughput option ([#1616](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1616)) ([acd2d41](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/acd2d410c550a3fbca0cac400d1d07e2d3dc5cd8))
22+
* mesh_certificates support ([#1712](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1712)) ([8913ef2](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/8913ef27d6c97ae2c57d747ff29ca175a15833e7))
23+
* promote config_connector_config to ga ([#1559](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1559)) ([ae63848](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/ae6384899909cea52f1f50a140d7c85b335b64eb))
24+
* support configuring ACM git service account email ([#1685](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1685)) ([426f06f](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/426f06f4ecbc4816cac5cad4e2a0b35a58d426b3))
25+
* support gcs fuse addon ([#1722](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1722)) ([2f5a276](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/2f5a2769fada01333b178d0bc9ec1e8192535043))
26+
27+
28+
### Bug Fixes
29+
30+
* random zones only when zones are not provided ([#1709](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1709)) ([50ea965](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/50ea96505135c390e64482e4af053ee1191697a7))
31+
* regenerate docs ([#1733](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/1733)) ([6b927e5](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/commit/6b927e5a918efc681e4ca8705360ed3a05577f96))
32+
933
## [27.0.0](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v26.1.1...v27.0.0) (2023-06-29)
1034

1135

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
# Make will use bash instead of sh
1919
SHELL := /usr/bin/env bash
2020

21-
DOCKER_TAG_VERSION_DEVELOPER_TOOLS := 1.10
21+
DOCKER_TAG_VERSION_DEVELOPER_TOOLS := 1.16
2222
DOCKER_IMAGE_DEVELOPER_TOOLS := cft/developer-tools
2323
REGISTRY_URL := gcr.io/cloud-foundation-cicd
2424
DOCKER_BIN ?= docker

README.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,14 @@ Sub modules are provided for creating private clusters, beta private clusters, a
1212

1313
## Compatibility
1414

15-
This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+.
16-
If you find incompatibilities using Terraform `>=0.13`, please open an issue.
15+
This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+.
16+
If you find incompatibilities using Terraform `>=1.3`, please open an issue.
1717

18-
If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform
18+
If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform
19+
0.13.x-compatible version of this module, the last released version
20+
intended for Terraform 0.13.x is [27.0.0].
21+
22+
If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform
1923
0.12.x-compatible version of this module, the last released version
2024
intended for Terraform 0.12.x is [12.3.0].
2125

@@ -61,6 +65,7 @@ module "gke" {
6165
image_type = "COS_CONTAINERD"
6266
enable_gcfs = false
6367
enable_gvnic = false
68+
logging_variant = "DEFAULT"
6469
auto_repair = true
6570
auto_upgrade = true
6671
service_account = "project-service-account@<PROJECT ID>.iam.gserviceaccount.com"
@@ -130,13 +135,15 @@ Then perform the following commands on the root folder:
130135
| add\_cluster\_firewall\_rules | Create additional firewall rules | `bool` | `false` | no |
131136
| add\_master\_webhook\_firewall\_rules | Create master\_webhook firewall rules for ports defined in `firewall_inbound_ports` | `bool` | `false` | no |
132137
| add\_shadow\_firewall\_rules | Create GKE shadow firewall (the same as default firewall rules with firewall logs enabled). | `bool` | `false` | no |
138+
| additional\_ip\_range\_pods | List of _names_ of the additional secondary subnet ip ranges to use for pods | `list(string)` | `[]` | no |
133139
| 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 [email protected] | `string` | `null` | no |
134-
| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) | <pre>object({<br> enabled = bool<br> min_cpu_cores = number<br> max_cpu_cores = number<br> min_memory_gb = number<br> max_memory_gb = number<br> gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))<br> auto_repair = bool<br> auto_upgrade = bool<br> })</pre> | <pre>{<br> "auto_repair": true,<br> "auto_upgrade": true,<br> "enabled": false,<br> "gpu_resources": [],<br> "max_cpu_cores": 0,<br> "max_memory_gb": 0,<br> "min_cpu_cores": 0,<br> "min_memory_gb": 0<br>}</pre> | no |
140+
| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) | <pre>object({<br> enabled = bool<br> min_cpu_cores = number<br> max_cpu_cores = number<br> min_memory_gb = number<br> max_memory_gb = number<br> gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))<br> auto_repair = bool<br> auto_upgrade = bool<br> disk_size = optional(number)<br> disk_type = optional(string)<br> })</pre> | <pre>{<br> "auto_repair": true,<br> "auto_upgrade": true,<br> "disk_size": 100,<br> "disk_type": "pd-standard",<br> "enabled": false,<br> "gpu_resources": [],<br> "max_cpu_cores": 0,<br> "max_memory_gb": 0,<br> "min_cpu_cores": 0,<br> "min_memory_gb": 0<br>}</pre> | no |
135141
| cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no |
136142
| cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no |
137143
| 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 |
138144
| cluster\_ipv4\_cidr | The IP address range of the kubernetes pods in this cluster. Default is an automatically assigned CIDR. | `string` | `null` | no |
139145
| cluster\_resource\_labels | The GCE resource labels (a map of key/value pairs) to be applied to the cluster | `map(string)` | `{}` | no |
146+
| config\_connector | Whether ConfigConnector is enabled for this cluster. | `bool` | `false` | no |
140147
| configure\_ip\_masq | Enables the installation of ip masquerading, which is usually no longer required when using aliasied IP addresses. IP masquerading uses a kubectl call, so when you have a private cluster, you will need access to the API server. | `bool` | `false` | no |
141148
| create\_service\_account | Defines if service account specified to run nodes should be created. | `bool` | `true` | no |
142149
| database\_encryption | Application-layer Secrets Encryption settings. The object format is {state = string, key\_name = string}. Valid values of state are: "ENCRYPTED"; "DECRYPTED". key\_name is the name of a CloudKMS key. | `list(object({ state = string, key_name = string }))` | <pre>[<br> {<br> "key_name": "",<br> "state": "DECRYPTED"<br> }<br>]</pre> | no |
@@ -149,6 +156,7 @@ Then perform the following commands on the root folder:
149156
| enable\_binary\_authorization | Enable BinAuthZ Admission controller | `bool` | `false` | no |
150157
| enable\_cost\_allocation | Enables Cost Allocation Feature and the cluster name and namespace of your GKE workloads appear in the labels field of the billing export to BigQuery | `bool` | `false` | no |
151158
| enable\_kubernetes\_alpha | Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days. | `bool` | `false` | no |
159+
| enable\_mesh\_certificates | Controls the issuance of workload mTLS certificates. When enabled the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster. Requires Workload Identity. | `bool` | `false` | no |
152160
| enable\_network\_egress\_export | Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic. | `bool` | `false` | no |
153161
| enable\_resource\_consumption\_export | Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. | `bool` | `true` | no |
154162
| enable\_shielded\_nodes | Enable Shielded Nodes features on all nodes in this cluster | `bool` | `true` | no |
@@ -158,6 +166,7 @@ Then perform the following commands on the root folder:
158166
| firewall\_priority | Priority rule for firewall rules | `number` | `1000` | no |
159167
| gateway\_api\_channel | The gateway api channel of this cluster. Accepted values are `CHANNEL_STANDARD` and `CHANNEL_DISABLED`. | `string` | `null` | no |
160168
| gce\_pd\_csi\_driver | Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. | `bool` | `true` | no |
169+
| gcs\_fuse\_csi\_driver | Whether GCE FUSE CSI driver is enabled for this cluster. | `bool` | `false` | no |
161170
| gke\_backup\_agent\_config | Whether Backup for GKE agent is enabled for this cluster. | `bool` | `false` | no |
162171
| grant\_registry\_access | Grants created cluster-specific service account storage.objectViewer and artifactregistry.reader roles. | `bool` | `false` | no |
163172
| horizontal\_pod\_autoscaling | Enable horizontal pod autoscaling addon | `bool` | `true` | no |
@@ -231,6 +240,7 @@ Then perform the following commands on the root folder:
231240
| logging\_service | Logging service used |
232241
| master\_authorized\_networks\_config | Networks from which access to master is permitted |
233242
| master\_version | Current master kubernetes version |
243+
| mesh\_certificates\_config | Mesh certificates configuration |
234244
| min\_master\_version | Minimum master kubernetes version |
235245
| monitoring\_service | Monitoring service used |
236246
| name | Cluster name |
@@ -271,6 +281,7 @@ The node_pools variable takes the following parameters:
271281
| image_type | The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool | COS_CONTAINERD | Optional |
272282
| initial_node_count | The initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource. Defaults to the value of min_count | " " | Optional |
273283
| key | The key required for the taint | | Required |
284+
| logging_variant | The type of logging agent that is deployed by default for newly created node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT. | DEFAULT | Optional |
274285
| local_ssd_count | The amount of local SSD disks that will be attached to each cluster node and may be used as a `hostpath` volume or a `local` PersistentVolume. | 0 | Optional |
275286
| machine_type | The name of a Google Compute Engine machine type | e2-medium | Optional |
276287
| min_cpu_platform | Minimum CPU platform to be used by the nodes in the pool. The nodes may be scheduled on the specified or newer CPU platform. | " " | Optional |
@@ -317,7 +328,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog
317328
#### Kubectl
318329
- [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x
319330
#### Terraform and Plugins
320-
- [Terraform](https://www.terraform.io/downloads.html) 0.13+
331+
- [Terraform](https://www.terraform.io/downloads.html) 1.3+
321332
- [Terraform Provider for GCP][terraform-provider-google] v4.51
322333
#### gcloud
323334
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 +357,4 @@ In order to operate with the Service Account you must activate the following API
346357
[terraform-provider-google]: https://github.com/terraform-providers/terraform-provider-google
347358
[12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0
348359
[terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html
360+
[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides

0 commit comments

Comments
 (0)