chore(deps): update terraform cloudposse/eks-node-group/aws to v3 #61
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.10.0
->3.1.1
Release Notes
cloudposse/terraform-aws-eks-node-group (cloudposse/eks-node-group/aws)
v3.1.1
Compare Source
🐛 Bug Fixes
Suppress EKS bootstrap when "after bootstrap" script is supplied @Nuru (#200)
what
after bootstrap
script is suppliedwhy
references
🤖 Automatic Updates
Migrate new test account @osterman (#197)
what
.github/settings.yml
.github/chatops.yml
fileswhy
.github/settings.yml
from org level to getterratest
environmenttest
accountReferences
Update .github/settings.yml @osterman (#196)
what
.github/settings.yml
.github/auto-release.yml
fileswhy
.github/settings.yml
from org levelreferences
Update .github/settings.yml @osterman (#194)
what
.github/settings.yml
.github/auto-release.yml
fileswhy
.github/settings.yml
from org levelreferences
Update .github/settings.yml @osterman (#193)
what
.github/settings.yml
.github/auto-release.yml
fileswhy
.github/settings.yml
from org levelreferences
v3.1.0
Compare Source
feat: Add missed tags @MaxymVlasov (#191)
what
Add tags to resources where they missed
🤖 Automatic Updates
Update .github/settings.yml @osterman (#190)
what
.github/settings.yml
.github/auto-release.yml
fileswhy
.github/settings.yml
from org levelreferences
Bump the go_modules group in /test/src with 3 updates @dependabot (#189)
Bumps the go_modules group in /test/src with 3 updates: [github.com/hashicorp/go-getter](https://redirect.github.com/hashicorp/go-getter), [github.com/prometheus/client_golang](https://redirect.github.com/prometheus/client_golang) and [google.golang.org/grpc](https://redirect.github.com/grpc/grpc-go).Updates
github.com/hashicorp/go-getter
from 1.7.1 to 1.7.5Release notes
Sourced from github.com/hashicorp/go-getter's releases.
Commits
5a63fd9
Merge pull request #497 from hashicorp/fix-git-update5b7ec5f
fetch tags on update and fix tests9906874
recreate git config during update to prevent config alteration268c11c
escape user provide string to git (#483)975961f
Merge pull request #433 from adrian-bl/netrc-fix0298a22
Merge pull request #459 from hashicorp/jbardin/setup-git-envc70d9c9
don't change GIT_SSH_COMMAND if there's no keyfile3d5770f
Merge pull request #458 from hashicorp/tsccr-auto-pinning/trusted/2023-09-180688979
Result of tsccr-helper -log-level=info -pin-all-workflows .e66f244
Merge pull request #454 from hashicorp/tsccr-auto-pinning/trusted/2023-09-11Updates
github.com/prometheus/client_golang
from 1.11.0 to 1.11.1Release notes
Sourced from github.com/prometheus/client_golang's releases.
Changelog
Sourced from github.com/prometheus/client_golang's changelog.
... (truncated)
Commits
989baa3
promhttp: Check validity of method and code label values (#962) (#987)Updates
google.golang.org/grpc
from 1.55.0 to 1.56.3Release notes
Sourced from google.golang.org/grpc's releases.
Commits
1055b48
Update version.go to 1.56.3 (#6713)5efd7bd
server: prohibit more than MaxConcurrentStreams handlers from running at once...bd1f038
Upgrade version.go to 1.56.3-dev (#6434)faab873
Update version.go to v1.56.2 (#6432)6b0b291
status: fix panic when servers return a wrapped error with status OK (#6374) ...ed56401
[PSM interop] Don't fail target if sub-target already failed (#6390) (#6405)cd6a794
Update version.go to v1.56.2-dev (#6387)5b67e5e
Update version.go to v1.56.1 (#6386)d0f5150
client: handle empty address lists correctly in addrConn.updateAddrs (#6354) ...997c1ea
Change version to 1.56.1-dev (#6345)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditionsYou can disable automated security fix PRs for this repo from the Security Alerts page.
v3.0.1
Compare Source
🐛 Bug Fixes
[hotfix] Provide cluster data to bootstrap.sh @Nuru (#187)
what
bootstrap.sh
why
userdata
thinking it was never needed, which is true for AL2023 and Bottlerocket, but not for AL2 and Windowsv3.0.0
Compare Source
New Features, Breaking Changes
tl;dr Upgrading to this version will likely cause your node group to be replaced, but otherwise should not have much impact for most users.
The major new feature in this release is support for Amazon Linux 2023 (AL2023). EKS support for AL2023 is still evolving, and this module will evolve along with that. Some detailed configuration options (e.g. KubeletConfiguration JSON) are not yet supported, but the basic features are there.
The other big improvements are in immediately applying changes and in selecting AMIs, as explained below.
Along with that, we have dropped some outdated support and changed the
eks_node_group_resources
output, resulting in minor breaking changes that we expect do not affect many users.Create Before Destroy is Now the Default
Previously, when changes forced the creation of a new node group, the default behavior for this module was to delete the existing node group and then create a replacement. This is the default for Terraform, motivated in part by the fact that the node group's name must be unique, so you cannot create the new node group with the same name as the old one while the old one still exists.
With version 2 of this module, we recommended setting
create_before_destroy
totrue
to enable this module to create a new node group (with a partially randomized name) before deleting the old one, allowing the new one to take over for the old one. For backward compatibility, and because changing this setting always results in creating a new node group, the default setting was set tofalse
.With this release, the default setting of
create_before_destroy
is nowtrue
, meaning that if left unset, any changes requiring a new node group will cause a new node group to be created first, and then the existing node group to be deleted. If you have large node groups or small quotas, this can fail due to having the 2 node groups running at the same time.Random name length now configurable
In order to support "create before destroy" behavior, this module uses the
random_pet
resource to generate a unique pet name for the node group, since the node group name
must be unique, meaning the new node group must have a different name than not only the old one, but also all other node groups you have. Previously, the "random" pet name was 1 of 452 possible names, which may not be enough to avoid collisions when using a large number of node groups.
To address this, this release introduces a new variable,
random_pet_length
, that controls the number of pet names concatenated to form the random part of the name. The default remains 1, but now you can increase it if needed. Note that changing this value will always cause the node group name to change and therefore the node group to be replaced.Immediately Apply Launch Template Changes
This module always uses a launch template for the node group. If one is not supplied, it will be created.
In many cases, changes to the launch template are not immediately applied by EKS. Instead, they only apply to Nodes launched after the template is changed. Depending on other factors, this may mean weeks or months pass before the changes are actually applied.
This release introduces a new variable,
immediately_apply_lt_changes
, to address this. When set to true, any changes to the launch template will cause the node group to be replaced, ensuring that all the changes are made immediately. (Note: you may want to adjust thenode_group_terraform_timeouts
if you have big node groups.)The default value for
immediately_apply_lt_changes
is whatever the value ofcreate_before_destroy
is.Changes in AMI selection
Previously, if the created launch template needed to supply an AMI ID (which is only the case if you supplied kubelet or bootstrap options), unless you specified a specific AMI ID, this module picked the "newest" AMI that met the selection criteria, which in turn was based on the AMI Name. The problem with that was that the "newest" might not be the latest Kubernetes version. It might be an older version that was patched more recently, or simply finished building a little later than the latest version.
Now that AWS explicitly publishes the AMI ID corresponding to the latest (or, more accurately, "recommended") version of their AMIs via SSM Public Parameters, the module uses that instead. This is more reliable and should eliminate the version regression issues that occasionally happened before.
The
ami_release_version
input has been updatedThe
ami_release_version
input has been updated. It is the value that you can supply toaws_eks_node_group
to track a specific patch version of Kubernetes. The previous validation for this variable was incorrect.Note that unlike AMI names, release versions never include the "v" prefix.
Examples of AMI release versions based on OS:
Customization via
userdata
Unsupported
userdata
now throws an errorNode configuration via
userdata
is different for each OS. This module has 4 inputs related to Node configuration that end up usinguserdata
:before_cluster_joining_userdata
kubelet_additional_options
bootstrap_additional_options
after_cluster_joining_userdata
but they do not all work for all OSes, and none work for Botterocket. Previously, they were silently ignored in some cases. Now they throw an error when set for an unsupported OS.
Note that for all OSes, you can bypass all these inputs and supply your own fully-formed, base64 encoded
userdata
viauserdata_override_base64
, and this module will pass it along unmodified.Multiple lines supported in
userdata
scriptsAll the
userdata
inputs take lists, because they are optional inputs. Previously, lists were limited to single elements. Now the list can be any length, and the elements will be combined.Kubernetes Version No Longer Inferred from AMI
Previously, if you specified an AMI ID, the Kubernetes version would be deduced from the AMI ID name. That is not sustainable as new OSes are launched, so the module no longer tries to do that. If you do not supply the Kubernetes version, the EKS cluster's Kubernetes version will be used.
Output
eks_node_group_resources
changedThe
aws_eks_node_group.resources
attribute is a "list of objects containing information about underlying resources." Previously, this was output viaeks_node_group_resources
as a list of lists, due to a quirk of Terraform. It is now output as a list of resources, in order to align with the other outputs.Special Support for Kubernetes Cluster Autoscaler removed
This module used to takes some steps (mostly labeling) to try to help the Kubernetes Cluster Autoscaler. As the Cluster Autoscaler and EKS native support for it evolved, the steps taken became either redundant or ineffective, so they have been dropped.
cluster_autoscaler_enabled
has been deprecated. If you set it, you will get a warning in the output, but otherwise it has no effect.AWS Provider v5.8 or later now required
Previously, this module worked with AWS Provider v4, but no longer. Now v5.8 or later is required.
Special Thanks
This PR builds on the work of @Darsh8790 (#178 and #180) and @QuentinBtd (#182 and #185). Thank you to both for your contributions.
🚀 Enhancements
Consolidate updates to test framework @Nuru (#177)
what
go
k8s client and api packages to v0.29.4go
depenendcieswhy
references
feat: migrates example on eks-cluster-aws-4.x @gberenice (#173)
what
why
references
contributors
Slack channelAdd support for AL2023 @Nuru (#186)
what
why
references
Documentation:
Issues and Other PRs:
🤖 Automatic Updates
Update release workflow to allow pull-requests: write @osterman (#184)
what
.github/workflows/release.yaml
) to have permission to comment on PRwhy
Update GitHub Workflows to use shared workflows from '.github' repo @osterman (#181)
what
.github/workflows
) to use shared workflows from.github
repowhy
Update GitHub Workflows to Fix ReviewDog TFLint Action @osterman (#176)
what
.github/workflows
) to addissue: write
permission needed by ReviewDogtflint
actionwhy
Update GitHub workflows @osterman (#175)
what
.github/workflows/settings.yaml
)why
Use GitHub Action Workflows from `cloudposse/.github` Repo @osterman (#170)
what
why
cldouposse/.github
repositoryAdd GitHub Settings @osterman (#163)
what
.github/settings.yaml
)why
Update Scaffolding @osterman (#160)
what
make readme
to rebuildREADME.md
fromREADME.yaml
why
.github
repov2.12.0
Compare Source
Add `force_update_version` and `replace_node_group_on_version_update` variables @aknysh (#151)
what
force_update_version
andreplace_node_group_on_version_update
variableswhy
force_update_version
allows forcing version update if existing pods are unable to be drained due to a pod disruption budget issue. Default isfalse
for backwards compatibilityreplace_node_group_on_version_update
is set totrue
and the EKS cluster is updated to a new Kubernetes version, the Node Groups will be replaced instead of updated in-place. This is useful when updating very old EKS clusters to a new Kubernetes version where some old releases prevent nodes from being drained (due to PodDisruptionBudget or taint/toleration issues), but replacing the Node Groups works without forcing the pods to leave the old nodes by using theforce_update_version
variable. This is related, for example, toistio
. Default isfalse
for backwards compatibilityreferences
v2.11.0
Compare Source
Better block device support @Nuru (#150)
Notable Changes
gp2
togp3
. If you were relying on the default, this will cause your node group to change, but it should be without interruption.kubernetes.io/os
tag. If that is not sufficient, you are free to add your own "NO_EXECUTE" taint viakubernetes_taints
what
terraform-aws-security-group
to current v2.2.0why
optional()
to allow the block device mapping input to be fully specified, with defaults, rather than the previouslist(any)
, which had no type checking and did not advertise which features were or were not supportedadd core_count and threads_per_core options to launch templates @Dmitry1987 (#149)
what
added core_count and threads_per_core options in order to run instances with no hyperthreading, for applications that need maximize single core performance (in some cases it's required).
why
the config option is available in the module but was not available in variables
references
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_template#example-usage
Support AWS Provider V5 @max-lobur (#147)
what
Support AWS Provider V5
Linter fixes
why
Maintenance
references
https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.0.0
Do not sort instance types @xeivieni (#142)
what
Remove sorting on instance type list in the node group definition
why
Because the order of the list is used to define priorities on the type of instance to use.
references
Sync github @max-lobur (#145)
Rebuild github dir from the template
🤖 Automatic Updates
Update README.md and docs @cloudpossebot (#148)
what
This is an auto-generated PR that updates the README.md and docs
why
To have most recent changes of README.md and doc from origin templates
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.