Skip to content

feat: add enable_k8s_beta_apis support #2387

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ Then perform the following commands on the root folder:
| enable\_gcfs | Enable image streaming on cluster level. | `bool` | `false` | no |
| enable\_identity\_service | (Optional) Enable the Identity Service component, which allows customers to use external identity providers with the K8S API. | `bool` | `false` | no |
| enable\_intranode\_visibility | Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network | `bool` | `false` | no |
| enable\_k8s\_beta\_apis | (Optional) - List of Kubernetes Beta APIs to enable in cluster. | `list(string)` | `[]` | no |
| 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 |
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
| 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 |
Expand Down
7 changes: 7 additions & 0 deletions autogen/main/cluster.tf.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ resource "google_container_cluster" "primary" {
network = "projects/${local.network_project_id}/global/networks/${var.network}"
deletion_protection = var.deletion_protection

dynamic "enable_k8s_beta_apis" {
for_each = length(var.enable_k8s_beta_apis) > 0 ? [1] : []
content {
enabled_apis = var.enable_k8s_beta_apis
}
}

{% if autopilot_cluster != true %}
dynamic "network_policy" {
for_each = local.cluster_network_policy
Expand Down
6 changes: 6 additions & 0 deletions autogen/main/variables.tf.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,12 @@ variable "network_tags" {
default = []
}

variable "enable_k8s_beta_apis" {
description = "(Optional) - List of Kubernetes Beta APIs to enable in cluster."
type = list(string)
default = []
}

{% if autopilot_cluster != true %}
variable "stub_domains" {
type = map(list(string))
Expand Down
7 changes: 7 additions & 0 deletions cluster.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ resource "google_container_cluster" "primary" {
network = "projects/${local.network_project_id}/global/networks/${var.network}"
deletion_protection = var.deletion_protection

dynamic "enable_k8s_beta_apis" {
Copy link
Collaborator

@apeabody apeabody Jul 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add to one of the existing examples (/examples) so this is covered by our tests.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Damn, Just noticed i read your comment wrong, I added an additional test (by copying simple_regional_private to simple_regional_private_with_beta_apis) instead of adding it to an existing example.
Is that ok, or should i add it to the simple_regional_private example.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @maikelpoot! - It's fine to add as a new example, but more complex as that will need to be onboard as a test. In particular:

  • A new ./test/fixtures to apply
  • A new ./test/integration to validate
  • Add the required apply, validate, teardown for the next example to ./build/int.cloudbuild.yaml
  • Etc

Either direction you choose is fine.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @apeabody,
As tempting as that sounds, i removed the extra example and applied the changes to the simple_regional_private example.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, you will need to pass a value for enable_k8s_beta_apis into the example fixture from here: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/blob/main/test/fixtures/simple_regional_private/example.tf

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a beta api to the default value of the fixture variable. As an empty default value doesn't test anything.

But this does mean that if this api is promoted within later k8s/gke version it could fail on this value.

for_each = length(var.enable_k8s_beta_apis) > 0 ? [1] : []
content {
enabled_apis = var.enable_k8s_beta_apis
}
}

dynamic "network_policy" {
for_each = local.cluster_network_policy

Expand Down
1 change: 1 addition & 0 deletions examples/simple_regional_private/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ This example illustrates how to create a simple private cluster.
|------|-------------|------|---------|:--------:|
| cluster\_name\_suffix | A suffix to append to the default cluster name | `string` | `""` | no |
| compute\_engine\_service\_account | Service account to associate to the nodes in the cluster | `any` | n/a | yes |
| enable\_k8s\_beta\_apis | K8S beta apis to enable within the cluster | `any` | n/a | yes |
| ip\_range\_pods | The secondary ip range to use for pods | `any` | n/a | yes |
| network | The VPC network to host the cluster in | `any` | n/a | yes |
| project\_id | The project ID to host the cluster in | `any` | n/a | yes |
Expand Down
1 change: 1 addition & 0 deletions examples/simple_regional_private/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ module "gke" {
default_max_pods_per_node = 20
remove_default_node_pool = true
deletion_protection = false
enable_k8s_beta_apis = var.enable_k8s_beta_apis

node_pools = [
{
Expand Down
3 changes: 3 additions & 0 deletions examples/simple_regional_private/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,6 @@ variable "compute_engine_service_account" {
description = "Service account to associate to the nodes in the cluster"
}

variable "enable_k8s_beta_apis" {
description = "K8S beta apis to enable within the cluster"
}
3 changes: 3 additions & 0 deletions metadata.display.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,9 @@ spec:
enable_intranode_visibility:
name: enable_intranode_visibility
title: Enable Intranode Visibility
enable_k8s_beta_apis:
name: enable_k8s_beta_apis
title: Enable K8s Beta Apis
enable_kubernetes_alpha:
name: enable_kubernetes_alpha
title: Enable Kubernetes Alpha
Expand Down
4 changes: 4 additions & 0 deletions metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,10 @@ spec:
description: (Optional) - List of network tags applied to auto-provisioned node pools.
varType: list(string)
defaultValue: []
- name: enable_k8s_beta_apis
description: (Optional) - List of Kubernetes Beta APIs to enable in cluster.
varType: list(string)
defaultValue: []
- name: stub_domains
description: Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server
varType: map(list(string))
Expand Down
1 change: 1 addition & 0 deletions modules/beta-autopilot-private-cluster/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ Then perform the following commands on the root folder:
| enable\_confidential\_nodes | An optional flag to enable confidential node config. | `bool` | `false` | no |
| 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 |
| enable\_fqdn\_network\_policy | Enable FQDN Network Policies on the cluster | `bool` | `null` | no |
| enable\_k8s\_beta\_apis | (Optional) - List of Kubernetes Beta APIs to enable in cluster. | `list(string)` | `[]` | no |
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
| enable\_multi\_networking | Whether multi-networking is enabled for this cluster | `bool` | `null` | no |
| 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 |
Expand Down
7 changes: 7 additions & 0 deletions modules/beta-autopilot-private-cluster/cluster.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ resource "google_container_cluster" "primary" {
network = "projects/${local.network_project_id}/global/networks/${var.network}"
deletion_protection = var.deletion_protection

dynamic "enable_k8s_beta_apis" {
for_each = length(var.enable_k8s_beta_apis) > 0 ? [1] : []
content {
enabled_apis = var.enable_k8s_beta_apis
}
}


dynamic "release_channel" {
for_each = local.release_channel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ spec:
enable_fqdn_network_policy:
name: enable_fqdn_network_policy
title: Enable Fqdn Network Policy
enable_k8s_beta_apis:
name: enable_k8s_beta_apis
title: Enable K8s Beta Apis
enable_l4_ilb_subsetting:
name: enable_l4_ilb_subsetting
title: Enable L4 Ilb Subsetting
Expand Down
4 changes: 4 additions & 0 deletions modules/beta-autopilot-private-cluster/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,10 @@ spec:
description: (Optional) - List of network tags applied to auto-provisioned node pools.
varType: list(string)
defaultValue: []
- name: enable_k8s_beta_apis
description: (Optional) - List of Kubernetes Beta APIs to enable in cluster.
varType: list(string)
defaultValue: []
- name: create_service_account
description: Defines if service account specified to run nodes should be created.
varType: bool
Expand Down
6 changes: 6 additions & 0 deletions modules/beta-autopilot-private-cluster/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,12 @@ variable "network_tags" {
default = []
}

variable "enable_k8s_beta_apis" {
description = "(Optional) - List of Kubernetes Beta APIs to enable in cluster."
type = list(string)
default = []
}



variable "create_service_account" {
Expand Down
1 change: 1 addition & 0 deletions modules/beta-autopilot-public-cluster/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ Then perform the following commands on the root folder:
| enable\_confidential\_nodes | An optional flag to enable confidential node config. | `bool` | `false` | no |
| 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 |
| enable\_fqdn\_network\_policy | Enable FQDN Network Policies on the cluster | `bool` | `null` | no |
| enable\_k8s\_beta\_apis | (Optional) - List of Kubernetes Beta APIs to enable in cluster. | `list(string)` | `[]` | no |
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
| enable\_multi\_networking | Whether multi-networking is enabled for this cluster | `bool` | `null` | no |
| 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 |
Expand Down
7 changes: 7 additions & 0 deletions modules/beta-autopilot-public-cluster/cluster.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ resource "google_container_cluster" "primary" {
network = "projects/${local.network_project_id}/global/networks/${var.network}"
deletion_protection = var.deletion_protection

dynamic "enable_k8s_beta_apis" {
for_each = length(var.enable_k8s_beta_apis) > 0 ? [1] : []
content {
enabled_apis = var.enable_k8s_beta_apis
}
}


dynamic "release_channel" {
for_each = local.release_channel
Expand Down
3 changes: 3 additions & 0 deletions modules/beta-autopilot-public-cluster/metadata.display.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,9 @@ spec:
enable_fqdn_network_policy:
name: enable_fqdn_network_policy
title: Enable Fqdn Network Policy
enable_k8s_beta_apis:
name: enable_k8s_beta_apis
title: Enable K8s Beta Apis
enable_l4_ilb_subsetting:
name: enable_l4_ilb_subsetting
title: Enable L4 Ilb Subsetting
Expand Down
4 changes: 4 additions & 0 deletions modules/beta-autopilot-public-cluster/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,10 @@ spec:
description: (Optional) - List of network tags applied to auto-provisioned node pools.
varType: list(string)
defaultValue: []
- name: enable_k8s_beta_apis
description: (Optional) - List of Kubernetes Beta APIs to enable in cluster.
varType: list(string)
defaultValue: []
- name: create_service_account
description: Defines if service account specified to run nodes should be created.
varType: bool
Expand Down
6 changes: 6 additions & 0 deletions modules/beta-autopilot-public-cluster/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,12 @@ variable "network_tags" {
default = []
}

variable "enable_k8s_beta_apis" {
description = "(Optional) - List of Kubernetes Beta APIs to enable in cluster."
type = list(string)
default = []
}



variable "create_service_account" {
Expand Down
1 change: 1 addition & 0 deletions modules/beta-private-cluster-update-variant/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ Then perform the following commands on the root folder:
| enable\_gcfs | Enable image streaming on cluster level. | `bool` | `false` | no |
| enable\_identity\_service | (Optional) Enable the Identity Service component, which allows customers to use external identity providers with the K8S API. | `bool` | `false` | no |
| enable\_intranode\_visibility | Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network | `bool` | `false` | no |
| enable\_k8s\_beta\_apis | (Optional) - List of Kubernetes Beta APIs to enable in cluster. | `list(string)` | `[]` | no |
| 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 |
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
| 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 |
Expand Down
7 changes: 7 additions & 0 deletions modules/beta-private-cluster-update-variant/cluster.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ resource "google_container_cluster" "primary" {
network = "projects/${local.network_project_id}/global/networks/${var.network}"
deletion_protection = var.deletion_protection

dynamic "enable_k8s_beta_apis" {
for_each = length(var.enable_k8s_beta_apis) > 0 ? [1] : []
content {
enabled_apis = var.enable_k8s_beta_apis
}
}

dynamic "network_policy" {
for_each = local.cluster_network_policy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,9 @@ spec:
enable_intranode_visibility:
name: enable_intranode_visibility
title: Enable Intranode Visibility
enable_k8s_beta_apis:
name: enable_k8s_beta_apis
title: Enable K8s Beta Apis
enable_kubernetes_alpha:
name: enable_kubernetes_alpha
title: Enable Kubernetes Alpha
Expand Down
4 changes: 4 additions & 0 deletions modules/beta-private-cluster-update-variant/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,10 @@ spec:
description: (Optional) - List of network tags applied to auto-provisioned node pools.
varType: list(string)
defaultValue: []
- name: enable_k8s_beta_apis
description: (Optional) - List of Kubernetes Beta APIs to enable in cluster.
varType: list(string)
defaultValue: []
- name: stub_domains
description: Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server
varType: map(list(string))
Expand Down
6 changes: 6 additions & 0 deletions modules/beta-private-cluster-update-variant/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,12 @@ variable "network_tags" {
default = []
}

variable "enable_k8s_beta_apis" {
description = "(Optional) - List of Kubernetes Beta APIs to enable in cluster."
type = list(string)
default = []
}

variable "stub_domains" {
type = map(list(string))
description = "Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server"
Expand Down
1 change: 1 addition & 0 deletions modules/beta-private-cluster/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ Then perform the following commands on the root folder:
| enable\_gcfs | Enable image streaming on cluster level. | `bool` | `false` | no |
| enable\_identity\_service | (Optional) Enable the Identity Service component, which allows customers to use external identity providers with the K8S API. | `bool` | `false` | no |
| enable\_intranode\_visibility | Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network | `bool` | `false` | no |
| enable\_k8s\_beta\_apis | (Optional) - List of Kubernetes Beta APIs to enable in cluster. | `list(string)` | `[]` | no |
| 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 |
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
| 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 |
Expand Down
7 changes: 7 additions & 0 deletions modules/beta-private-cluster/cluster.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ resource "google_container_cluster" "primary" {
network = "projects/${local.network_project_id}/global/networks/${var.network}"
deletion_protection = var.deletion_protection

dynamic "enable_k8s_beta_apis" {
for_each = length(var.enable_k8s_beta_apis) > 0 ? [1] : []
content {
enabled_apis = var.enable_k8s_beta_apis
}
}

dynamic "network_policy" {
for_each = local.cluster_network_policy

Expand Down
3 changes: 3 additions & 0 deletions modules/beta-private-cluster/metadata.display.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,9 @@ spec:
enable_intranode_visibility:
name: enable_intranode_visibility
title: Enable Intranode Visibility
enable_k8s_beta_apis:
name: enable_k8s_beta_apis
title: Enable K8s Beta Apis
enable_kubernetes_alpha:
name: enable_kubernetes_alpha
title: Enable Kubernetes Alpha
Expand Down
4 changes: 4 additions & 0 deletions modules/beta-private-cluster/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,10 @@ spec:
description: (Optional) - List of network tags applied to auto-provisioned node pools.
varType: list(string)
defaultValue: []
- name: enable_k8s_beta_apis
description: (Optional) - List of Kubernetes Beta APIs to enable in cluster.
varType: list(string)
defaultValue: []
- name: stub_domains
description: Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server
varType: map(list(string))
Expand Down
6 changes: 6 additions & 0 deletions modules/beta-private-cluster/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,12 @@ variable "network_tags" {
default = []
}

variable "enable_k8s_beta_apis" {
description = "(Optional) - List of Kubernetes Beta APIs to enable in cluster."
type = list(string)
default = []
}

variable "stub_domains" {
type = map(list(string))
description = "Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server"
Expand Down
1 change: 1 addition & 0 deletions modules/beta-public-cluster-update-variant/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ Then perform the following commands on the root folder:
| enable\_gcfs | Enable image streaming on cluster level. | `bool` | `false` | no |
| enable\_identity\_service | (Optional) Enable the Identity Service component, which allows customers to use external identity providers with the K8S API. | `bool` | `false` | no |
| enable\_intranode\_visibility | Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network | `bool` | `false` | no |
| enable\_k8s\_beta\_apis | (Optional) - List of Kubernetes Beta APIs to enable in cluster. | `list(string)` | `[]` | no |
| 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 |
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
| 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 |
Expand Down
7 changes: 7 additions & 0 deletions modules/beta-public-cluster-update-variant/cluster.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ resource "google_container_cluster" "primary" {
network = "projects/${local.network_project_id}/global/networks/${var.network}"
deletion_protection = var.deletion_protection

dynamic "enable_k8s_beta_apis" {
for_each = length(var.enable_k8s_beta_apis) > 0 ? [1] : []
content {
enabled_apis = var.enable_k8s_beta_apis
}
}

dynamic "network_policy" {
for_each = local.cluster_network_policy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,9 @@ spec:
enable_intranode_visibility:
name: enable_intranode_visibility
title: Enable Intranode Visibility
enable_k8s_beta_apis:
name: enable_k8s_beta_apis
title: Enable K8s Beta Apis
enable_kubernetes_alpha:
name: enable_kubernetes_alpha
title: Enable Kubernetes Alpha
Expand Down
4 changes: 4 additions & 0 deletions modules/beta-public-cluster-update-variant/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,10 @@ spec:
description: (Optional) - List of network tags applied to auto-provisioned node pools.
varType: list(string)
defaultValue: []
- name: enable_k8s_beta_apis
description: (Optional) - List of Kubernetes Beta APIs to enable in cluster.
varType: list(string)
defaultValue: []
- name: stub_domains
description: Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server
varType: map(list(string))
Expand Down
6 changes: 6 additions & 0 deletions modules/beta-public-cluster-update-variant/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,12 @@ variable "network_tags" {
default = []
}

variable "enable_k8s_beta_apis" {
description = "(Optional) - List of Kubernetes Beta APIs to enable in cluster."
type = list(string)
default = []
}

variable "stub_domains" {
type = map(list(string))
description = "Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server"
Expand Down
1 change: 1 addition & 0 deletions modules/beta-public-cluster/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ Then perform the following commands on the root folder:
| enable\_gcfs | Enable image streaming on cluster level. | `bool` | `false` | no |
| enable\_identity\_service | (Optional) Enable the Identity Service component, which allows customers to use external identity providers with the K8S API. | `bool` | `false` | no |
| enable\_intranode\_visibility | Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network | `bool` | `false` | no |
| enable\_k8s\_beta\_apis | (Optional) - List of Kubernetes Beta APIs to enable in cluster. | `list(string)` | `[]` | no |
| 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 |
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
| 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 |
Expand Down
Loading