58 Commits

Author SHA1 Message Date
Michael Strassberger
681a868d62 fix: Restrict AWS provider max version due to v6 provider breaking changes (#3384)
* Add aws version constraint for 6.0.0

* fix: Restrict all AWS providers and Helm providers upper version limit

---------

Co-authored-by: Bryant Biggs <bryantbiggs@gmail.com>
2025-06-18 15:08:51 -05:00
Bryant Biggs
207d73fbaa feat: Add support for cluster force_update_version (#3345) 2025-04-18 11:29:13 -05:00
Kasper Jacobsen
edd7ef36dd feat: Add node repair config to managed node group (#3271)
* feat: add var.node_repair_config to eks-managed-node-group

Fixes terraform-aws-modules/terraform-aws-eks#3249

* chore: run terraform-docs

* chore: update examples/eks-managed-node-group

* fix: Correct implementation

---------

Co-authored-by: Bryant Biggs <bryantbiggs@gmail.com>
2025-01-17 11:35:47 -06:00
Bryant Biggs
012e51c055 fix: Update min provider version to remediate cluster replacement when enabling EKS Auto Mode (#3240) 2024-12-12 14:49:59 -06:00
Bryant Biggs
3b974d33ad feat: Add support for EKS Auto Mode and EKS Hybrid nodes (#3225)
* feat: Add support for EKS hybrid nodes

* feat: Add support for EKS Auto Mode

* chore: Update test directory names

* chore: Clean up examples and tests

* fix: Clean up and last minute changes for GA

* chore: Formatting

* chore: Bump min required version for new features

* fix: Corrects from test/validation on existing clusters

* feat: Add policy for custom tags on EKS Auto Mode, validate examples

* chore: Expand on `CAM` acronym

* chore: Update README to match examples
2024-12-04 09:24:21 -06:00
Bryant Biggs
a224334fc8 feat: Add support for pod identity association on EKS addons (#3203) 2024-11-08 15:56:56 -06:00
Bryant Biggs
1b0ac83264 feat: Add support for zonal shift (#3195) 2024-11-01 16:50:19 -05:00
Bryant Biggs
b2a8617794 feat: Add support for newly released AL2023 accelerated AMI types (#3177) 2024-10-12 11:44:24 -05:00
Bryant Biggs
e12ab7a5de feat: Add support for upgrade_policy (#3112)
* feat: Add support for `upgrade_policy`

* chore: Update test and validate
2024-08-05 09:07:13 -05:00
Taehyun Kim
af88e7d2f8 feat: Support bootstrap_self_managed_addons (#3099)
Co-authored-by: Bryant Biggs <bryantbiggs@gmail.com>
2024-07-15 19:55:09 -04:00
Bryant Biggs
ae3379e924 feat: Add support for ML capacity block reservations with EKS managed node group(s) (#3091) 2024-07-05 11:42:31 -04:00
Bryant Biggs
aeb9f0c990 fix: Ensure the correct service CIDR and IP family is used in the rendered user data (#2963)
* fix: Ensuring the correct service CIDR and IP family is used in the rendered user data

* chore: Updates from testing and validating

* chore: Fix example destroy instructions

* fix: Only require `cluster_service_cidr` when `create = true`

* chore: Clean up commented out code and add note on check length
2024-03-12 10:36:19 -04:00
Bryant Biggs
dfe41141c2 fix: Update AWS provider version to support AL2023_* AMI types; ensure AL2023 user data receives cluster service CIDR (#2960)
* fix: Update AWS provider version to support `AL2023_*` AMI types

* fix: Ensure the cluster service CIDR is passed to the AL2023 user data where its required
2024-03-08 15:25:14 -05:00
Bryant Biggs
7f472ec660 feat: Add support for enabling EFA resources (#2936)
* feat: Add support for enabling EFA resources

* feat: Add support for creating placement group and ensuring subnet ID used supports the instance type provided

* chore: Update README and examples

* feat: Update AWS provider MSV to support `maximum_network_cards` attribute

* fix: Update self-managed example after last round of testing; improve EFA support wording
2024-02-23 09:29:10 -05:00
Bryant Biggs
6b40bdbb1d feat!: Replace the use of aws-auth configmap with EKS cluster access entry (#2858)
* feat: Replace `resolve_conflicts` with `resolve_conflicts_on_create`/`delete`; raise MSV of AWS provider to `v5.0` to support

* fix: Replace dynamic DNS suffix for `sts:AssumeRole` API calls for static suffix

* feat: Add module tag

* feat: Align Karpenter permissions with Karpenter v1beta1/v0.32 permissions from upstream

* refactor: Move `aws-auth` ConfigMap functionality to its own sub-module

* chore: Update examples

* feat: Add state `moved` block for Karpenter Pod Identity role re-name

* fix: Correct variable `create` description

* feat: Add support for cluster access entries

* chore: Bump MSV of Terraform to `1.3`

* fix: Replace defunct kubectl provider with an updated forked equivalent

* chore: Update and validate examples for access entry; clean up provider usage

* docs: Correct double redundant variable descriptions

* feat: Add support for Cloudwatch log group class argument

* fix: Update usage tag placement, fix Karpenter event spelling, add upcoming changes section to upgrade guide

* feat: Update Karpenter module to generalize naming used and align policy with the upstream Karpenter policy

* feat: Add native support for Windows based managed nodegroups similar to AL2 and Bottlerocket

* feat: Update self-managed nodegroup module to use latest features of ASG

* docs: Update and simplify docs

* fix: Correct variable description for AMI types

* fix: Update upgrade guide with changes; rename Karpenter controller resource names to support migrating for users

* docs: Complete upgrade guide docs for migration and changes applied

* Update examples/karpenter/README.md

Co-authored-by: Anton Babenko <anton@antonbabenko.com>

* Update examples/outposts/README.md

Co-authored-by: Anton Babenko <anton@antonbabenko.com>

* Update modules/karpenter/README.md

Co-authored-by: Anton Babenko <anton@antonbabenko.com>

---------

Co-authored-by: Anton Babenko <anton@antonbabenko.com>
2024-02-02 09:36:25 -05:00
Jérémie Charest
feee18dd42 feat: Add support for allowed_instance_types on self-managed nodegroup ASG (#2757)
Co-authored-by: Bryant Biggs <bryantbiggs@gmail.com>
2023-10-06 09:20:13 -04:00
Bryant Biggs
78027f37e4 feat: Add support for enabling addons before data plane compute is created (#2478) 2023-02-17 07:28:03 -05:00
Bryant Biggs
3b62f6c316 feat: Add support for addon configuration_values (#2345)
Resolves undefined
2022-12-16 14:44:21 -05:00
Bryant Biggs
b2e97ca3dc feat!: Add support for Outposts, remove node security group, add support for addon preserve and most_recent configurations (#2250)
Co-authored-by: Anton Babenko <anton@antonbabenko.com>
Resolves undefined
2022-12-05 16:26:23 -05:00
Karsten Siemer
f576a6f9ea feat: Allow TLS provider to use versions 3.0+ (i.e. - >= 3.0) (#2211) 2022-08-26 15:45:07 -04:00
Bryant Biggs
d990ea8aff fix: Pin TLS provider version to 3.x versions only (#2174) 2022-07-22 08:29:00 -04:00
Bryant Biggs
da3d54cde7 feat: Add support for managing aws-auth configmap using new kubernetes_config_map_v1_data resource (#1999) 2022-04-09 09:15:46 +02:00
Bryant Biggs
0269d38fca feat: Update TLS provider and remove unnecessary cloud init version requirements (#1966) 2022-03-25 09:26:16 +01:00
Bryant Biggs
314192e2eb feat: Add support for networking ip_family which enables support for IPV6 (#1759) 2022-01-14 21:17:03 +01:00
Bryant Biggs
ee9f0c646a feat!: Removed support for launch configuration and replace count with for_each (#1680) 2022-01-05 13:01:31 +01:00
Bryant Biggs
b876ff9513 fix: update CI/CD process to enable auto-release workflow (#1698) 2021-11-22 17:15:50 +01:00
Anton Babenko
2bdf7d7dd6 refactor: Refactoring to match the rest of terraform-aws-modules (#1583) 2021-09-16 11:35:44 +02:00
Anton Babenko
40e47a4020 fix: Updated required version of AWS provider to 3.56.0 (#1571) 2021-09-04 10:46:48 +02:00
Junaid Ali
bcea0708e6 feat: Added throughput support for root and EBS disks (#1445) 2021-09-02 12:28:13 +02:00
Thierno IB. BARRY
6d7d6f6f5a feat: Drop random pets from Managed Node Groups (#1372)
BREAKING CHANGES: We now decided to remove `random_pet` resources in Managed Node Groups (MNG). Those were used to recreate MNG if something change and also simulate the newly added argument `node_group_name_prefix`. But they were causing a lot of troubles. To upgrade the module without recreating your MNG, you will need to explicitly reuse their previous name and set them in your MNG `name` argument. Please see [upgrade docs](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/upgrades.md#upgrade-module-to-v1700-for-managed-node-groups) for more details.
2021-05-28 01:50:16 +02:00
Thierno IB. BARRY
7898da2ff7 fix: Bump terraform-provider-http required version to 2.4.1 to avoid TLS Cert Pool issue on Windows (#1387) 2021-05-24 21:54:28 +02:00
Thierno IB. BARRY
91545abd75 fix: Bump terraform-aws-modules/http provider version to support darwin arm64 release (#1369) 2021-05-19 00:04:24 +02:00
Thierno IB. BARRY
19e6be9df3 feat: Add timeout of 5mn when waiting for cluster (#1359) 2021-05-17 14:10:33 +02:00
Dov Salomon
f7d09a2901 feat: Remove dependency on deprecated hashicorp/template provider (#1297)
BREAKING CHANGES: We remove the dependency on the deprecated `hashicorp/template` provider and use the Terraform built in `templatefile` function. This will broke some workflows due to previously being able to pass in the raw contents of a template file for processing. The `templatefile` function requires a template file that exists before running a plan.
2021-05-17 10:25:38 +02:00
Thierno IB. BARRY
e3bf48bba2 feat: Replace the local-exec script with a http datasource for waiting cluster (#1339)
NOTES: Using the [terraform-aws-modules/http](https://registry.terraform.io/providers/terraform-aws-modules/http/latest) provider is a more platform agnostic way to wait for the cluster availability than using a local-exec. With this change we're able to provision EKS clusters and manage the `aws_auth` configmap while still using the `hashicorp/tfc-agent` docker image.
2021-05-17 10:11:36 +02:00
Thierno IB. BARRY
781f673295 fix: Bump AWS provider version to add Warm Pool support (#1340) 2021-05-06 13:09:31 +02:00
Ivan Sukhomlyn
c12c186432 feat: Add tags on additional IAM resources like IAM policies, instance profile, OIDC provider (#1321) 2021-05-04 21:55:49 +02:00
Tjeu Kayim
2a6f07a0e8 fix: Updated code and version requirements to work with Terraform 0.15 (#1165) 2021-04-16 09:56:37 +02:00
Sean P. Kane
4fc609bd22 feat: Add nitro enclave support for EKS (#1185) 2021-01-28 23:45:41 +01:00
Siddarth Prakash
7d6e672303 feat: Add support for throughput parameter for gp3 volumes (#1146) 2020-12-22 16:26:47 +01:00
philicious
127a3a8831 feat: Add Launch Template support for Managed Node Groups (#997)
NOTES: Managed Node Groups now support Launch Templates. The Launch Template it self is not managed by this module, so you have to create it by your self and pass it's id to this module. See docs and [`examples/launch_templates_with_managed_node_groups/`](https://github.com/terraform-aws-modules/terraform-aws-eks/tree/master/examples/launch_templates_with_managed_node_group) for more details.
2020-11-02 08:19:10 +01:00
Daniel Piddock
bceb966dfd fix: More compatibility fixes for Terraform v0.13 and aws v3 (#976)
Additional support for Terraform v0.13 and aws v3!
- The update to the vpc module in examples was, strictly speaking, unnecessary but it adds the terraform block with supported versions.
- Update for iam module in the example was very necessary to support new versions
- Workaround for "Provider produced inconsistent final plan" when creating ASGs at the same time as the cluster. See  https://github.com/terraform-providers/terraform-provider-aws/issues/14085 for full details.
- Blacklist 0.13.0 as it was too strict when migrating from aws v2 to v3 about dropped attributes.
2020-09-08 18:25:46 +02:00
Daniel Quackenbush
23ad497557 feat: IMDSv2 metadata configuration in Launch Templates (#938)
NOTES: Addition of the IMDSv2 metadata configuration block to Launch Templates will cause a diff to be generated for existing Launch Templates on first Terraform apply. The defaults match existing behaviour.
2020-07-12 18:25:48 +02:00
Daniel Piddock
7de18cd9cd fix: Revert removal of templates provider (#883)
Broke use case of passing in custom template content. Reverts most of the following PRs:
- #865
- #863 
- #854
2020-06-05 10:34:23 +02:00
graywolf-at-work
312596f46d feat: Create kubeconfig with non-executable permissions (#864)
* Create kubeconfig with non-executable permissions

Kubeconfig does not really need to be executable, so let's not create it with executable bit set.

* Bump tf version
2020-05-06 21:36:58 +02:00
Daniel Piddock
b183b97253 improvement: Remove dependency on external template provider (#854)
* Remove template_file for generating kubeconfig

Push logic from terraform down to the template. Makes the formatting
slightly easier to follow

* Remove template_file for generating userdata

Updates to the eks_cluster now do not trigger recreation of launch
configurations

* Remove template_file for LT userdata

* Remove template dependency
2020-05-06 10:54:14 +02:00
Daniel Piddock
0c1ed0e6e9 Improvement: Require kubernetes provider >=1.11.1 (#784)
BREAKING CHANGE: The terraform-aws-eks module now require at least kubernetes `1.11.1`. This may cause terraform to fail to init if users have set version = "1.10" like we had in the examples.
2020-03-18 13:56:51 +01:00
Wolodja Wentland
23c005e5ef Add EKS Secret envelope encryption support (#772)
This adds support for configuring EKS clusters that utilise envelope
encryption for Secrets:

- https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-eks-adds-envelope-encryption-for-secrets-with-aws-kms/

- https://aws.amazon.com/blogs/containers/using-eks-encryption-provider-support-for-defense-in-depth/
2020-03-11 12:26:06 +01:00
Siddarth Prakash
82aefb20f5 Add public access endpoint CIDRs option (terraform-aws-eks#647) (#673)
* Add public access endpoint CIDRs option (terraform-aws-eks#647)

* Update required provider version to 2.44.0

* Fix formatting in docs
2020-01-10 00:53:33 +01:00
Shaun Cutts
d79c8ab6f2 Wait cluster responsive (#639)
* wait for cluster to respond before creating auth config map

* adds changelog entry

* fixup tf format

* fixup kubernetes required version

* fixup missing local for kubeconfig_filename

* combine wait for cluster into provisioner on cluster; change status check to /healthz on endpoint

* fix: make kubernetes provider version more permissive
2020-01-07 12:28:56 +01:00