diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 163a96a55b..bfddd4b673 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/antonbabenko/pre-commit-terraform - rev: v1.97.0 + rev: v1.99.4 hooks: - id: terraform_fmt - id: terraform_docs diff --git a/CHANGELOG.md b/CHANGELOG.md index 99a3ff8854..85c3f4e506 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,34 @@ All notable changes to this project will be documented in this file. +## [20.37.1](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v20.37.0...v20.37.1) (2025-06-18) + + +### Bug Fixes + +* Restrict AWS provider max version due to v6 provider breaking changes ([#3384](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/3384)) ([681a868](https://github.com/terraform-aws-modules/terraform-aws-eks/commit/681a868d624878474fd9f92d1b04d3fec0120db7)) + +## [20.37.0](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v20.36.1...v20.37.0) (2025-06-09) + + +### Features + +* Add AL2023 ARM64 NVIDIA variants ([#3369](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/3369)) ([715d42b](https://github.com/terraform-aws-modules/terraform-aws-eks/commit/715d42bf146791cad911b0b6979c5ce67bc0d2f6)) + +## [20.36.1](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v20.36.0...v20.36.1) (2025-06-09) + + +### Bug Fixes + +* Ensure `additional_cluster_dns_ips` is passed through from root module ([#3376](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/3376)) ([7a83b1b](https://github.com/terraform-aws-modules/terraform-aws-eks/commit/7a83b1b3db9c7475fe6ec46d1c300c0a18f19b2a)) + +## [20.36.0](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v20.35.0...v20.36.0) (2025-04-18) + + +### Features + +* Add support for cluster `force_update_version` ([#3345](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/3345)) ([207d73f](https://github.com/terraform-aws-modules/terraform-aws-eks/commit/207d73fbaa5eebe6e98b94e95b83fd0a5a13c307)) + ## [20.35.0](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v20.34.0...v20.35.0) (2025-03-29) diff --git a/README.md b/README.md index 1d5b5c07be..4767a624e1 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ module "eks" { version = "~> 20.31" cluster_name = "example" - cluster_version = "1.31" + cluster_version = "1.33" # Optional cluster_endpoint_public_access = true @@ -82,7 +82,7 @@ module "eks" { version = "~> 20.31" cluster_name = "example" - cluster_version = "1.31" + cluster_version = "1.33" cluster_addons = { coredns = {} @@ -149,7 +149,7 @@ module "eks" { version = "~> 20.0" cluster_name = "my-cluster" - cluster_version = "1.31" + cluster_version = "1.33" bootstrap_self_managed_addons = false cluster_addons = { @@ -318,7 +318,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | | [time](#requirement\_time) | >= 0.9 | | [tls](#requirement\_tls) | >= 3.0 | @@ -326,7 +326,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | | [time](#provider\_time) | >= 0.9 | | [tls](#provider\_tls) | >= 3.0 | @@ -404,6 +404,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple | [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 | | [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 | | [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)` |
[
"0.0.0.0/0"
]
| no | +| [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 | | [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 | | [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 | | [cluster\_name](#input\_cluster\_name) | Name of the EKS cluster | `string` | `""` | no | diff --git a/docs/compute_resources.md b/docs/compute_resources.md index 6b74c4a507..a7bd5b5e93 100644 --- a/docs/compute_resources.md +++ b/docs/compute_resources.md @@ -113,7 +113,7 @@ Refer to the [Self Managed Node Group documentation](https://docs.aws.amazon.com 1. The `self-managed-node-group` uses the latest AWS EKS Optimized AMI (Linux) for the given Kubernetes version by default: ```hcl - cluster_version = "1.31" + cluster_version = "1.33" # This self managed node group will use the latest AWS EKS Optimized AMI for Kubernetes 1.27 self_managed_node_groups = { @@ -124,7 +124,7 @@ Refer to the [Self Managed Node Group documentation](https://docs.aws.amazon.com 2. To use Bottlerocket, specify the `ami_type` as one of the respective `"BOTTLEROCKET_*" types` and supply a Bottlerocket OS AMI: ```hcl - cluster_version = "1.31" + cluster_version = "1.33" self_managed_node_groups = { bottlerocket = { diff --git a/examples/eks-auto-mode/README.md b/examples/eks-auto-mode/README.md index b2549472e9..085533d59d 100644 --- a/examples/eks-auto-mode/README.md +++ b/examples/eks-auto-mode/README.md @@ -25,13 +25,13 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/examples/eks-auto-mode/main.tf b/examples/eks-auto-mode/main.tf index 756437d297..316b2764d4 100644 --- a/examples/eks-auto-mode/main.tf +++ b/examples/eks-auto-mode/main.tf @@ -12,7 +12,7 @@ data "aws_availability_zones" "available" { locals { name = "ex-${basename(path.cwd)}" - cluster_version = "1.31" + cluster_version = "1.33" region = "us-west-2" vpc_cidr = "10.0.0.0/16" diff --git a/examples/eks-auto-mode/versions.tf b/examples/eks-auto-mode/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/examples/eks-auto-mode/versions.tf +++ b/examples/eks-auto-mode/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/examples/eks-hybrid-nodes/README.md b/examples/eks-hybrid-nodes/README.md index 9f1a602f58..ed8825f17b 100644 --- a/examples/eks-hybrid-nodes/README.md +++ b/examples/eks-hybrid-nodes/README.md @@ -26,8 +26,8 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | -| [helm](#requirement\_helm) | >= 2.16 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | +| [helm](#requirement\_helm) | >= 2.7, < 3.0.0 | | [http](#requirement\_http) | >= 3.4 | | [local](#requirement\_local) | >= 2.5 | | [tls](#requirement\_tls) | >= 4.0 | @@ -36,9 +36,9 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | -| [aws.remote](#provider\_aws.remote) | >= 5.83 | -| [helm](#provider\_helm) | >= 2.16 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | +| [aws.remote](#provider\_aws.remote) | >= 5.95, < 6.0.0 | +| [helm](#provider\_helm) | >= 2.7, < 3.0.0 | | [http](#provider\_http) | >= 3.4 | | [local](#provider\_local) | >= 2.5 | diff --git a/examples/eks-hybrid-nodes/ami/variables.pkr.hcl b/examples/eks-hybrid-nodes/ami/variables.pkr.hcl index 89e1b27ffa..1eb9c4726b 100644 --- a/examples/eks-hybrid-nodes/ami/variables.pkr.hcl +++ b/examples/eks-hybrid-nodes/ami/variables.pkr.hcl @@ -7,7 +7,7 @@ variable "ami_name_prefix" { variable "eks_version" { description = "The EKS cluster version associated with the AMI created" type = string - default = "1.31" + default = "1.33" } variable "credential_provider" { diff --git a/examples/eks-hybrid-nodes/main.tf b/examples/eks-hybrid-nodes/main.tf index 8791e6cb53..ffc77e36a2 100644 --- a/examples/eks-hybrid-nodes/main.tf +++ b/examples/eks-hybrid-nodes/main.tf @@ -20,7 +20,7 @@ locals { name = "ex-${basename(path.cwd)}" region = "us-west-2" - cluster_version = "1.31" + cluster_version = "1.33" tags = { Test = local.name diff --git a/examples/eks-hybrid-nodes/versions.tf b/examples/eks-hybrid-nodes/versions.tf index 124db32301..391c421395 100644 --- a/examples/eks-hybrid-nodes/versions.tf +++ b/examples/eks-hybrid-nodes/versions.tf @@ -4,11 +4,11 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } helm = { source = "hashicorp/helm" - version = ">= 2.16" + version = ">= 2.7, < 3.0.0" } http = { source = "hashicorp/http" diff --git a/examples/eks-managed-node-group/README.md b/examples/eks-managed-node-group/README.md index a75636480a..16708dca42 100644 --- a/examples/eks-managed-node-group/README.md +++ b/examples/eks-managed-node-group/README.md @@ -2,7 +2,6 @@ Configuration in this directory creates Amazon EKS clusters with EKS Managed Node Groups demonstrating different configurations: -- `eks-al2.tf` demonstrates an EKS cluster using EKS managed node group that utilizes the EKS Amazon Linux 2 optimized AMI - `eks-al2023.tf` demonstrates an EKS cluster using EKS managed node group that utilizes the EKS Amazon Linux 2023 optimized AMI - `eks-bottlerocket.tf` demonstrates an EKS cluster using EKS managed node group that utilizes the Bottlerocket EKS optimized AMI diff --git a/examples/eks-managed-node-group/eks-al2.tf b/examples/eks-managed-node-group/eks-al2.tf deleted file mode 100644 index 910fa216b2..0000000000 --- a/examples/eks-managed-node-group/eks-al2.tf +++ /dev/null @@ -1,34 +0,0 @@ -module "eks_al2" { - source = "terraform-aws-modules/eks/aws" - version = "~> 20.0" - - cluster_name = "${local.name}-al2" - cluster_version = "1.31" - - # EKS Addons - cluster_addons = { - coredns = {} - eks-pod-identity-agent = {} - kube-proxy = {} - vpc-cni = {} - } - - vpc_id = module.vpc.vpc_id - subnet_ids = module.vpc.private_subnets - - eks_managed_node_groups = { - example = { - # Starting on 1.30, AL2023 is the default AMI type for EKS managed node groups - ami_type = "AL2_x86_64" - instance_types = ["m6i.large"] - - min_size = 2 - max_size = 5 - # This value is ignored after the initial creation - # https://github.com/bryantbiggs/eks-desired-size-hack - desired_size = 2 - } - } - - tags = local.tags -} diff --git a/examples/eks-managed-node-group/eks-al2023.tf b/examples/eks-managed-node-group/eks-al2023.tf index 349da821f9..93fda067da 100644 --- a/examples/eks-managed-node-group/eks-al2023.tf +++ b/examples/eks-managed-node-group/eks-al2023.tf @@ -3,7 +3,7 @@ module "eks_al2023" { version = "~> 20.0" cluster_name = "${local.name}-al2023" - cluster_version = "1.31" + cluster_version = "1.33" # EKS Addons cluster_addons = { @@ -20,6 +20,7 @@ module "eks_al2023" { example = { # Starting on 1.30, AL2023 is the default AMI type for EKS managed node groups instance_types = ["m6i.large"] + ami_type = "AL2023_x86_64_STANDARD" min_size = 2 max_size = 5 diff --git a/examples/eks-managed-node-group/eks-bottlerocket.tf b/examples/eks-managed-node-group/eks-bottlerocket.tf index 01a6878814..4d25e5b9c0 100644 --- a/examples/eks-managed-node-group/eks-bottlerocket.tf +++ b/examples/eks-managed-node-group/eks-bottlerocket.tf @@ -3,7 +3,7 @@ module "eks_bottlerocket" { version = "~> 20.0" cluster_name = "${local.name}-bottlerocket" - cluster_version = "1.31" + cluster_version = "1.33" # EKS Addons cluster_addons = { diff --git a/examples/eks-managed-node-group/versions.tf b/examples/eks-managed-node-group/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/examples/eks-managed-node-group/versions.tf +++ b/examples/eks-managed-node-group/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/examples/karpenter/README.md b/examples/karpenter/README.md index f9eef90469..7e10796a2d 100644 --- a/examples/karpenter/README.md +++ b/examples/karpenter/README.md @@ -94,16 +94,16 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | -| [helm](#requirement\_helm) | >= 2.7 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | +| [helm](#requirement\_helm) | >= 2.7, < 3.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | -| [aws.virginia](#provider\_aws.virginia) | >= 5.83 | -| [helm](#provider\_helm) | >= 2.7 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | +| [aws.virginia](#provider\_aws.virginia) | >= 5.95, < 6.0.0 | +| [helm](#provider\_helm) | >= 2.7, < 3.0.0 | ## Modules diff --git a/examples/karpenter/main.tf b/examples/karpenter/main.tf index 9961063c95..7006740f47 100644 --- a/examples/karpenter/main.tf +++ b/examples/karpenter/main.tf @@ -55,7 +55,7 @@ module "eks" { source = "../.." cluster_name = local.name - cluster_version = "1.31" + cluster_version = "1.33" # Gives Terraform identity admin access to cluster which will # allow deploying resources (Karpenter) into the cluster diff --git a/examples/karpenter/versions.tf b/examples/karpenter/versions.tf index fa41a8a35f..f64d6ce245 100644 --- a/examples/karpenter/versions.tf +++ b/examples/karpenter/versions.tf @@ -4,11 +4,11 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } helm = { source = "hashicorp/helm" - version = ">= 2.7" + version = ">= 2.7, < 3.0.0" } } } diff --git a/examples/self-managed-node-group/README.md b/examples/self-managed-node-group/README.md index da81c84142..ce84716f8a 100644 --- a/examples/self-managed-node-group/README.md +++ b/examples/self-managed-node-group/README.md @@ -2,7 +2,6 @@ Configuration in this directory creates Amazon EKS clusters with self-managed node groups demonstrating different configurations: -- `eks-al2.tf` demonstrates an EKS cluster using self-managed node group that utilizes the EKS Amazon Linux 2 optimized AMI - `eks-al2023.tf` demonstrates an EKS cluster using self-managed node group that utilizes the EKS Amazon Linux 2023 optimized AMI - `eks-bottlerocket.tf` demonstrates an EKS cluster using self-managed node group that utilizes the Bottlerocket EKS optimized AMI diff --git a/examples/self-managed-node-group/eks-al2.tf b/examples/self-managed-node-group/eks-al2.tf deleted file mode 100644 index e015982733..0000000000 --- a/examples/self-managed-node-group/eks-al2.tf +++ /dev/null @@ -1,33 +0,0 @@ -module "eks_al2" { - source = "terraform-aws-modules/eks/aws" - version = "~> 20.0" - - cluster_name = "${local.name}-al2" - cluster_version = "1.31" - - # EKS Addons - cluster_addons = { - coredns = {} - eks-pod-identity-agent = {} - kube-proxy = {} - vpc-cni = {} - } - - vpc_id = module.vpc.vpc_id - subnet_ids = module.vpc.private_subnets - - self_managed_node_groups = { - example = { - ami_type = "AL2_x86_64" - instance_type = "m6i.large" - - min_size = 2 - max_size = 5 - # This value is ignored after the initial creation - # https://github.com/bryantbiggs/eks-desired-size-hack - desired_size = 2 - } - } - - tags = local.tags -} diff --git a/examples/self-managed-node-group/eks-al2023.tf b/examples/self-managed-node-group/eks-al2023.tf index 4d7c5dc7e1..58ecb3cf66 100644 --- a/examples/self-managed-node-group/eks-al2023.tf +++ b/examples/self-managed-node-group/eks-al2023.tf @@ -3,7 +3,7 @@ module "eks_al2023" { version = "~> 20.0" cluster_name = "${local.name}-al2023" - cluster_version = "1.31" + cluster_version = "1.33" # EKS Addons cluster_addons = { diff --git a/examples/self-managed-node-group/eks-bottlerocket.tf b/examples/self-managed-node-group/eks-bottlerocket.tf index ff2fb2cf3d..adb3462b82 100644 --- a/examples/self-managed-node-group/eks-bottlerocket.tf +++ b/examples/self-managed-node-group/eks-bottlerocket.tf @@ -3,7 +3,7 @@ module "eks_bottlerocket" { version = "~> 20.0" cluster_name = "${local.name}-bottlerocket" - cluster_version = "1.31" + cluster_version = "1.33" # EKS Addons cluster_addons = { diff --git a/examples/self-managed-node-group/versions.tf b/examples/self-managed-node-group/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/examples/self-managed-node-group/versions.tf +++ b/examples/self-managed-node-group/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/main.tf b/main.tf index 18933422f5..c10d79608d 100644 --- a/main.tf +++ b/main.tf @@ -40,6 +40,7 @@ resource "aws_eks_cluster" "this" { version = var.cluster_version enabled_cluster_log_types = var.cluster_enabled_log_types bootstrap_self_managed_addons = local.auto_mode_enabled ? coalesce(var.bootstrap_self_managed_addons, false) : var.bootstrap_self_managed_addons + force_update_version = var.cluster_force_update_version access_config { authentication_mode = var.authentication_mode diff --git a/modules/_user_data/main.tf b/modules/_user_data/main.tf index 29d5c92d39..c24074af15 100644 --- a/modules/_user_data/main.tf +++ b/modules/_user_data/main.tf @@ -34,6 +34,7 @@ locals { AL2023_ARM_64_STANDARD = "al2023" AL2023_x86_64_NEURON = "al2023" AL2023_x86_64_NVIDIA = "al2023" + AL2023_ARM_64_NVIDIA = "al2023" } # Try to use `ami_type` first, but fall back to current, default behavior # TODO - will be removed in v21.0 diff --git a/modules/eks-managed-node-group/README.md b/modules/eks-managed-node-group/README.md index 24e3e9f678..2eeb0c61c8 100644 --- a/modules/eks-managed-node-group/README.md +++ b/modules/eks-managed-node-group/README.md @@ -64,13 +64,13 @@ module "eks_managed_node_group" { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/modules/eks-managed-node-group/main.tf b/modules/eks-managed-node-group/main.tf index 8b53ce65c1..b9c9ba0e87 100644 --- a/modules/eks-managed-node-group/main.tf +++ b/modules/eks-managed-node-group/main.tf @@ -367,6 +367,7 @@ locals { AL2023_ARM_64_STANDARD = "/aws/service/eks/optimized-ami/${local.ssm_cluster_version}/amazon-linux-2023/arm64/standard/recommended/release_version" AL2023_x86_64_NEURON = "/aws/service/eks/optimized-ami/${local.ssm_cluster_version}/amazon-linux-2023/x86_64/neuron/recommended/release_version" AL2023_x86_64_NVIDIA = "/aws/service/eks/optimized-ami/${local.ssm_cluster_version}/amazon-linux-2023/x86_64/nvidia/recommended/release_version" + AL2023_ARM_64_NVIDIA = "/aws/service/eks/optimized-ami/${local.ssm_cluster_version}/amazon-linux-2023/arm64/nvidia/recommended/release_version" } # The Windows SSM params currently do not have a release version, so we have to get the full output JSON blob and parse out the release version diff --git a/modules/eks-managed-node-group/versions.tf b/modules/eks-managed-node-group/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/modules/eks-managed-node-group/versions.tf +++ b/modules/eks-managed-node-group/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/modules/fargate-profile/README.md b/modules/fargate-profile/README.md index b636fbe386..9b4cb99dd3 100644 --- a/modules/fargate-profile/README.md +++ b/modules/fargate-profile/README.md @@ -29,13 +29,13 @@ module "fargate_profile" { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/modules/fargate-profile/versions.tf b/modules/fargate-profile/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/modules/fargate-profile/versions.tf +++ b/modules/fargate-profile/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/modules/hybrid-node-role/README.md b/modules/hybrid-node-role/README.md index 4076fc35f5..3119747f76 100644 --- a/modules/hybrid-node-role/README.md +++ b/modules/hybrid-node-role/README.md @@ -75,13 +75,13 @@ module "eks_hybrid_node_role" { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/modules/hybrid-node-role/versions.tf b/modules/hybrid-node-role/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/modules/hybrid-node-role/versions.tf +++ b/modules/hybrid-node-role/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/modules/karpenter/README.md b/modules/karpenter/README.md index fe1956eb80..43cc3b560b 100644 --- a/modules/karpenter/README.md +++ b/modules/karpenter/README.md @@ -86,13 +86,13 @@ module "karpenter" { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/modules/karpenter/versions.tf b/modules/karpenter/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/modules/karpenter/versions.tf +++ b/modules/karpenter/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/modules/self-managed-node-group/README.md b/modules/self-managed-node-group/README.md index 9fe09d0998..06747514f2 100644 --- a/modules/self-managed-node-group/README.md +++ b/modules/self-managed-node-group/README.md @@ -43,13 +43,13 @@ module "self_managed_node_group" { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/modules/self-managed-node-group/main.tf b/modules/self-managed-node-group/main.tf index 7c651f0e56..24454ef74d 100644 --- a/modules/self-managed-node-group/main.tf +++ b/modules/self-managed-node-group/main.tf @@ -28,6 +28,7 @@ locals { AL2023_ARM_64_STANDARD = "al2023" AL2023_x86_64_NEURON = "al2023" AL2023_x86_64_NVIDIA = "al2023" + AL2023_ARM_64_NVIDIA = "al2023" } user_data_type = local.ami_type_to_user_data_type[var.ami_type] @@ -51,6 +52,7 @@ locals { AL2023_ARM_64_STANDARD = "/aws/service/eks/optimized-ami/${local.ssm_cluster_version}/amazon-linux-2023/arm64/standard/recommended/image_id" AL2023_x86_64_NEURON = "/aws/service/eks/optimized-ami/${local.ssm_cluster_version}/amazon-linux-2023/x86_64/neuron/recommended/image_id" AL2023_x86_64_NVIDIA = "/aws/service/eks/optimized-ami/${local.ssm_cluster_version}/amazon-linux-2023/x86_64/nvidia/recommended/image_id" + AL2023_ARM_64_NVIDIA = "/aws/service/eks/optimized-ami/${local.ssm_cluster_version}/amazon-linux-2023/arm64/nvidia/recommended/image_id" } } diff --git a/modules/self-managed-node-group/versions.tf b/modules/self-managed-node-group/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/modules/self-managed-node-group/versions.tf +++ b/modules/self-managed-node-group/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/node_groups.tf b/node_groups.tf index 8101308441..de7411f226 100644 --- a/node_groups.tf +++ b/node_groups.tf @@ -479,17 +479,18 @@ module "self_managed_node_group" { # User data platform = try(each.value.platform, var.self_managed_node_group_defaults.platform, null) # TODO - update this when `var.platform` is removed in v21.0 - ami_type = try(each.value.ami_type, var.self_managed_node_group_defaults.ami_type, "AL2_x86_64") - cluster_endpoint = try(time_sleep.this[0].triggers["cluster_endpoint"], "") - cluster_auth_base64 = try(time_sleep.this[0].triggers["cluster_certificate_authority_data"], "") - cluster_service_cidr = try(time_sleep.this[0].triggers["cluster_service_cidr"], "") - cluster_ip_family = var.cluster_ip_family - pre_bootstrap_user_data = try(each.value.pre_bootstrap_user_data, var.self_managed_node_group_defaults.pre_bootstrap_user_data, "") - post_bootstrap_user_data = try(each.value.post_bootstrap_user_data, var.self_managed_node_group_defaults.post_bootstrap_user_data, "") - bootstrap_extra_args = try(each.value.bootstrap_extra_args, var.self_managed_node_group_defaults.bootstrap_extra_args, "") - user_data_template_path = try(each.value.user_data_template_path, var.self_managed_node_group_defaults.user_data_template_path, "") - cloudinit_pre_nodeadm = try(each.value.cloudinit_pre_nodeadm, var.self_managed_node_group_defaults.cloudinit_pre_nodeadm, []) - cloudinit_post_nodeadm = try(each.value.cloudinit_post_nodeadm, var.self_managed_node_group_defaults.cloudinit_post_nodeadm, []) + ami_type = try(each.value.ami_type, var.self_managed_node_group_defaults.ami_type, "AL2_x86_64") + cluster_endpoint = try(time_sleep.this[0].triggers["cluster_endpoint"], "") + cluster_auth_base64 = try(time_sleep.this[0].triggers["cluster_certificate_authority_data"], "") + cluster_service_cidr = try(time_sleep.this[0].triggers["cluster_service_cidr"], "") + additional_cluster_dns_ips = try(each.value.additional_cluster_dns_ips, var.self_managed_node_group_defaults.additional_cluster_dns_ips, []) + cluster_ip_family = var.cluster_ip_family + pre_bootstrap_user_data = try(each.value.pre_bootstrap_user_data, var.self_managed_node_group_defaults.pre_bootstrap_user_data, "") + post_bootstrap_user_data = try(each.value.post_bootstrap_user_data, var.self_managed_node_group_defaults.post_bootstrap_user_data, "") + bootstrap_extra_args = try(each.value.bootstrap_extra_args, var.self_managed_node_group_defaults.bootstrap_extra_args, "") + user_data_template_path = try(each.value.user_data_template_path, var.self_managed_node_group_defaults.user_data_template_path, "") + cloudinit_pre_nodeadm = try(each.value.cloudinit_pre_nodeadm, var.self_managed_node_group_defaults.cloudinit_pre_nodeadm, []) + cloudinit_post_nodeadm = try(each.value.cloudinit_post_nodeadm, var.self_managed_node_group_defaults.cloudinit_post_nodeadm, []) # Launch Template create_launch_template = try(each.value.create_launch_template, var.self_managed_node_group_defaults.create_launch_template, true) diff --git a/tests/eks-fargate-profile/README.md b/tests/eks-fargate-profile/README.md index 7bb85d63f7..419f601de8 100644 --- a/tests/eks-fargate-profile/README.md +++ b/tests/eks-fargate-profile/README.md @@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/tests/eks-fargate-profile/main.tf b/tests/eks-fargate-profile/main.tf index 37fc44b3f9..bf91d522a8 100644 --- a/tests/eks-fargate-profile/main.tf +++ b/tests/eks-fargate-profile/main.tf @@ -12,7 +12,7 @@ data "aws_availability_zones" "available" { locals { name = "ex-${basename(path.cwd)}" - cluster_version = "1.31" + cluster_version = "1.33" region = "eu-west-1" vpc_cidr = "10.0.0.0/16" diff --git a/tests/eks-fargate-profile/versions.tf b/tests/eks-fargate-profile/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/tests/eks-fargate-profile/versions.tf +++ b/tests/eks-fargate-profile/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/tests/eks-hybrid-nodes/README.md b/tests/eks-hybrid-nodes/README.md index 8f2ac1206c..67bc82c7a9 100644 --- a/tests/eks-hybrid-nodes/README.md +++ b/tests/eks-hybrid-nodes/README.md @@ -18,7 +18,7 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | | [tls](#requirement\_tls) | >= 4.0 | ## Providers diff --git a/tests/eks-hybrid-nodes/versions.tf b/tests/eks-hybrid-nodes/versions.tf index 37eb431fb9..20514e1bdd 100644 --- a/tests/eks-hybrid-nodes/versions.tf +++ b/tests/eks-hybrid-nodes/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } tls = { source = "hashicorp/tls" diff --git a/tests/eks-managed-node-group/README.md b/tests/eks-managed-node-group/README.md index 91fc990a92..96a5011da3 100644 --- a/tests/eks-managed-node-group/README.md +++ b/tests/eks-managed-node-group/README.md @@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/tests/eks-managed-node-group/main.tf b/tests/eks-managed-node-group/main.tf index aa73cec30f..010a55fa1b 100644 --- a/tests/eks-managed-node-group/main.tf +++ b/tests/eks-managed-node-group/main.tf @@ -14,7 +14,7 @@ data "aws_availability_zones" "available" { locals { name = "ex-${replace(basename(path.cwd), "_", "-")}" - cluster_version = "1.31" + cluster_version = "1.33" region = "eu-west-1" vpc_cidr = "10.0.0.0/16" diff --git a/tests/eks-managed-node-group/versions.tf b/tests/eks-managed-node-group/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/tests/eks-managed-node-group/versions.tf +++ b/tests/eks-managed-node-group/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/tests/fast-addons/README.md b/tests/fast-addons/README.md index 5c27596125..cd1be0dcd6 100644 --- a/tests/fast-addons/README.md +++ b/tests/fast-addons/README.md @@ -22,13 +22,13 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/tests/fast-addons/main.tf b/tests/fast-addons/main.tf index 12d2a41f8c..e7a5b9cc55 100644 --- a/tests/fast-addons/main.tf +++ b/tests/fast-addons/main.tf @@ -4,7 +4,7 @@ provider "aws" { locals { name = "ex-${basename(path.cwd)}" - cluster_version = "1.31" + cluster_version = "1.33" region = "eu-west-1" tags = { diff --git a/tests/fast-addons/versions.tf b/tests/fast-addons/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/tests/fast-addons/versions.tf +++ b/tests/fast-addons/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/tests/self-managed-node-group/README.md b/tests/self-managed-node-group/README.md index 7a30923161..655025789b 100644 --- a/tests/self-managed-node-group/README.md +++ b/tests/self-managed-node-group/README.md @@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.2 | -| [aws](#requirement\_aws) | >= 5.83 | +| [aws](#requirement\_aws) | >= 5.95, < 6.0.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.83 | +| [aws](#provider\_aws) | >= 5.95, < 6.0.0 | ## Modules diff --git a/tests/self-managed-node-group/main.tf b/tests/self-managed-node-group/main.tf index f2181fdc75..351985f359 100644 --- a/tests/self-managed-node-group/main.tf +++ b/tests/self-managed-node-group/main.tf @@ -14,7 +14,7 @@ data "aws_availability_zones" "available" { locals { name = "ex-${replace(basename(path.cwd), "_", "-")}" - cluster_version = "1.31" + cluster_version = "1.33" region = "eu-west-1" vpc_cidr = "10.0.0.0/16" diff --git a/tests/self-managed-node-group/versions.tf b/tests/self-managed-node-group/versions.tf index 4736a5b5f7..7884c4e1b2 100644 --- a/tests/self-managed-node-group/versions.tf +++ b/tests/self-managed-node-group/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } } } diff --git a/variables.tf b/variables.tf index 855c2133ec..b4881b2988 100644 --- a/variables.tf +++ b/variables.tf @@ -38,6 +38,12 @@ variable "cluster_enabled_log_types" { default = ["audit", "api", "authenticator"] } +variable "cluster_force_update_version" { + description = "Force version update by overriding upgrade-blocking readiness checks when updating a cluster" + type = bool + default = null +} + variable "authentication_mode" { description = "The authentication mode for the cluster. Valid values are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP`" type = string diff --git a/versions.tf b/versions.tf index 4466790686..5024a4995f 100644 --- a/versions.tf +++ b/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.83" + version = ">= 5.95, < 6.0.0" } tls = { source = "hashicorp/tls"