Skip to content

Commit 207d73f

Browse files
authored
feat: Add support for cluster force_update_version (#3345)
1 parent 5c8ac85 commit 207d73f

File tree

33 files changed

+54
-46
lines changed

33 files changed

+54
-46
lines changed

.pre-commit-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/antonbabenko/pre-commit-terraform
3-
rev: v1.97.0
3+
rev: v1.99.0
44
hooks:
55
- id: terraform_fmt
66
- id: terraform_docs

README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -318,15 +318,15 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
318318
| Name | Version |
319319
|------|---------|
320320
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
321-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
321+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
322322
| <a name="requirement_time"></a> [time](#requirement\_time) | >= 0.9 |
323323
| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 3.0 |
324324

325325
## Providers
326326

327327
| Name | Version |
328328
|------|---------|
329-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
329+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
330330
| <a name="provider_time"></a> [time](#provider\_time) | >= 0.9 |
331331
| <a name="provider_tls"></a> [tls](#provider\_tls) | >= 3.0 |
332332

@@ -404,6 +404,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
404404
| <a name="input_cluster_endpoint_private_access"></a> [cluster\_endpoint\_private\_access](#input\_cluster\_endpoint\_private\_access) | Indicates whether or not the Amazon EKS private API server endpoint is enabled | `bool` | `true` | no |
405405
| <a name="input_cluster_endpoint_public_access"></a> [cluster\_endpoint\_public\_access](#input\_cluster\_endpoint\_public\_access) | Indicates whether or not the Amazon EKS public API server endpoint is enabled | `bool` | `false` | no |
406406
| <a name="input_cluster_endpoint_public_access_cidrs"></a> [cluster\_endpoint\_public\_access\_cidrs](#input\_cluster\_endpoint\_public\_access\_cidrs) | List of CIDR blocks which can access the Amazon EKS public API server endpoint | `list(string)` | <pre>[<br/> "0.0.0.0/0"<br/>]</pre> | no |
407+
| <a name="input_cluster_force_update_version"></a> [cluster\_force\_update\_version](#input\_cluster\_force\_update\_version) | Force version update by overriding upgrade-blocking readiness checks when updating a cluster | `bool` | `null` | no |
407408
| <a name="input_cluster_identity_providers"></a> [cluster\_identity\_providers](#input\_cluster\_identity\_providers) | Map of cluster identity provider configurations to enable for the cluster. Note - this is different/separate from IRSA | `any` | `{}` | no |
408409
| <a name="input_cluster_ip_family"></a> [cluster\_ip\_family](#input\_cluster\_ip\_family) | The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created | `string` | `"ipv4"` | no |
409410
| <a name="input_cluster_name"></a> [cluster\_name](#input\_cluster\_name) | Name of the EKS cluster | `string` | `""` | no |

examples/eks-auto-mode/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ Note that this example may create resources which cost money. Run `terraform des
2525
| Name | Version |
2626
|------|---------|
2727
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
28-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
28+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
2929

3030
## Providers
3131

3232
| Name | Version |
3333
|------|---------|
34-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
34+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
3535

3636
## Modules
3737

examples/eks-auto-mode/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

examples/eks-hybrid-nodes/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Note that this example may create resources which cost money. Run `terraform des
2626
| Name | Version |
2727
|------|---------|
2828
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
29-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
29+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
3030
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.16 |
3131
| <a name="requirement_http"></a> [http](#requirement\_http) | >= 3.4 |
3232
| <a name="requirement_local"></a> [local](#requirement\_local) | >= 2.5 |
@@ -36,8 +36,8 @@ Note that this example may create resources which cost money. Run `terraform des
3636

3737
| Name | Version |
3838
|------|---------|
39-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
40-
| <a name="provider_aws.remote"></a> [aws.remote](#provider\_aws.remote) | >= 5.83 |
39+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
40+
| <a name="provider_aws.remote"></a> [aws.remote](#provider\_aws.remote) | >= 5.95 |
4141
| <a name="provider_helm"></a> [helm](#provider\_helm) | >= 2.16 |
4242
| <a name="provider_http"></a> [http](#provider\_http) | >= 3.4 |
4343
| <a name="provider_local"></a> [local](#provider\_local) | >= 2.5 |

examples/eks-hybrid-nodes/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
helm = {
1010
source = "hashicorp/helm"

examples/eks-managed-node-group/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

examples/karpenter/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -94,15 +94,15 @@ Note that this example may create resources which cost money. Run `terraform des
9494
| Name | Version |
9595
|------|---------|
9696
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
97-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
97+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
9898
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.7 |
9999

100100
## Providers
101101

102102
| Name | Version |
103103
|------|---------|
104-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
105-
| <a name="provider_aws.virginia"></a> [aws.virginia](#provider\_aws.virginia) | >= 5.83 |
104+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
105+
| <a name="provider_aws.virginia"></a> [aws.virginia](#provider\_aws.virginia) | >= 5.95 |
106106
| <a name="provider_helm"></a> [helm](#provider\_helm) | >= 2.7 |
107107

108108
## Modules

examples/karpenter/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
helm = {
1010
source = "hashicorp/helm"

examples/self-managed-node-group/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ resource "aws_eks_cluster" "this" {
4040
version = var.cluster_version
4141
enabled_cluster_log_types = var.cluster_enabled_log_types
4242
bootstrap_self_managed_addons = local.auto_mode_enabled ? coalesce(var.bootstrap_self_managed_addons, false) : var.bootstrap_self_managed_addons
43+
force_update_version = var.cluster_force_update_version
4344

4445
access_config {
4546
authentication_mode = var.authentication_mode

modules/eks-managed-node-group/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ module "eks_managed_node_group" {
6464
| Name | Version |
6565
|------|---------|
6666
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
67-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
67+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
6868

6969
## Providers
7070

7171
| Name | Version |
7272
|------|---------|
73-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
73+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
7474

7575
## Modules
7676

modules/eks-managed-node-group/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

modules/fargate-profile/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ module "fargate_profile" {
2929
| Name | Version |
3030
|------|---------|
3131
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
32-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
32+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
3333

3434
## Providers
3535

3636
| Name | Version |
3737
|------|---------|
38-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
38+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
3939

4040
## Modules
4141

modules/fargate-profile/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

modules/hybrid-node-role/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ module "eks_hybrid_node_role" {
7575
| Name | Version |
7676
|------|---------|
7777
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
78-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
78+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
7979

8080
## Providers
8181

8282
| Name | Version |
8383
|------|---------|
84-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
84+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
8585

8686
## Modules
8787

modules/hybrid-node-role/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

modules/karpenter/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,13 @@ module "karpenter" {
8686
| Name | Version |
8787
|------|---------|
8888
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
89-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
89+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
9090

9191
## Providers
9292

9393
| Name | Version |
9494
|------|---------|
95-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
95+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
9696

9797
## Modules
9898

modules/karpenter/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

modules/self-managed-node-group/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ module "self_managed_node_group" {
4343
| Name | Version |
4444
|------|---------|
4545
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
46-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
46+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
4747

4848
## Providers
4949

5050
| Name | Version |
5151
|------|---------|
52-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
52+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
5353

5454
## Modules
5555

modules/self-managed-node-group/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

tests/eks-fargate-profile/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
1818
| Name | Version |
1919
|------|---------|
2020
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
21-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
21+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
2222

2323
## Providers
2424

2525
| Name | Version |
2626
|------|---------|
27-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
27+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
2828

2929
## Modules
3030

tests/eks-fargate-profile/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

tests/eks-hybrid-nodes/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Note that this example may create resources which cost money. Run `terraform des
1818
| Name | Version |
1919
|------|---------|
2020
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
21-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
21+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
2222
| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 4.0 |
2323

2424
## Providers

tests/eks-hybrid-nodes/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
tls = {
1010
source = "hashicorp/tls"

tests/eks-managed-node-group/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
1818
| Name | Version |
1919
|------|---------|
2020
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
21-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
21+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
2222

2323
## Providers
2424

2525
| Name | Version |
2626
|------|---------|
27-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
27+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
2828

2929
## Modules
3030

tests/eks-managed-node-group/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

tests/fast-addons/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ Note that this example may create resources which cost money. Run `terraform des
2222
| Name | Version |
2323
|------|---------|
2424
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
25-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
25+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
2626

2727
## Providers
2828

2929
| Name | Version |
3030
|------|---------|
31-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
31+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
3232

3333
## Modules
3434

tests/fast-addons/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

tests/self-managed-node-group/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
1818
| Name | Version |
1919
|------|---------|
2020
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
21-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
21+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.95 |
2222

2323
## Providers
2424

2525
| Name | Version |
2626
|------|---------|
27-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
27+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.95 |
2828

2929
## Modules
3030

tests/self-managed-node-group/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.83"
7+
version = ">= 5.95"
88
}
99
}
1010
}

variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ variable "cluster_enabled_log_types" {
3838
default = ["audit", "api", "authenticator"]
3939
}
4040

41+
variable "cluster_force_update_version" {
42+
description = "Force version update by overriding upgrade-blocking readiness checks when updating a cluster"
43+
type = bool
44+
default = null
45+
}
46+
4147
variable "authentication_mode" {
4248
description = "The authentication mode for the cluster. Valid values are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP`"
4349
type = string

0 commit comments

Comments
 (0)