Skip to content

Conversation

adamwolfe-tc
Copy link

@adamwolfe-tc adamwolfe-tc commented Sep 25, 2025

Description

adding notes about the change in behavior for encryption_config (formerly cluster_encryption_config) in the v21 upgrade guide.

Motivation and Context

previously this was disabled by default and has changed to be enabled by default, which will cause plan failures when trying to migrate existing clusters from v20 to v21.

related issues:

related PR discussions:

Breaking Changes

none. just adding a line to the 21 upgrade guide.

How Has This Been Tested?

  • I have updated at least one of the examples/* to demonstrate and validate my change(s)
  • I have tested and validated these changes using one or more of the provided examples/* projects
  • I have executed pre-commit run -a on my pull request

(not trying to ignore standards but this only adds to a markdown file.)

- `addons.most_recent` is now set to `true` by default (was `false`).
- `cluster_identity_providers.issuer_url` is now required to be set by users; the prior incorrect default has been removed. See https://github.com/terraform-aws-modules/terraform-aws-eks/pull/3055 and https://github.com/kubernetes/kubernetes/pull/123561 for more details.
- The OIDC issuer URL for IAM roles for service accounts (IRSA) has been changed to use the new dual stack`oidc-eks` endpoint instead of `oidc.eks`. This is to align with https://github.com/aws/containers-roadmap/issues/2038#issuecomment-2278450601
- `encryption_config` (formerly `cluster_encryption_config`) is now enabled by default. If you are migrating a cluster from v20 that used the previously disabled default and wish to preserve this same behavior, you will need to explicitly set this variable to `null`. If using the new behavior is preferred when migrating you will additionally need to supply a value for the `encryption_config` [key_arn](../variables.tf#L174).
Copy link
Member

Choose a reason for hiding this comment

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

is now enabled by default.

Should not be added here - it has been enabled by default since v19.0

Suggested change
- `encryption_config` (formerly `cluster_encryption_config`) is now enabled by default. If you are migrating a cluster from v20 that used the previously disabled default and wish to preserve this same behavior, you will need to explicitly set this variable to `null`. If using the new behavior is preferred when migrating you will additionally need to supply a value for the `encryption_config` [key_arn](../variables.tf#L174).
- With the changes to the variable type definition for `encryption_config` (formerly `cluster_encryption_config`), if you wish to disable secret encryption with a custom KMS key you should set `encryption_config = null` (In `v20.x`, you would previously have set `encryption_config = {}` to achieve the same outcome)

@bryantbiggs
Copy link
Member

You need to be careful with the description - it is not possible to disable secret encryption on EKS clusters anymore. This is a change that EKS made somewhat recently https://docs.aws.amazon.com/eks/latest/userguide/envelope-encryption.html

So you are not disabling encryption - you are opting out of encryption with a customer managed KMS key. Secrets will still be encrypted, albeit with a key created/managed by AWS

@bryantbiggs
Copy link
Member

bryantbiggs commented Sep 25, 2025

alright - well added the note here 2ad67a5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants