33 Commits

Author SHA1 Message Date
Ramsey McGrath
541dbb29f1 feat: Support additional cluster DNS IPs with Bottlerocket based AMIs (#3051)
* Support adding additional cluster dns ranges to bottlerocket template

* Add example for multiple dns ips

* fmt, and tf docs

* fix: Use a list by default for cluster-dns-ip

---------

Co-authored-by: Bryant Biggs <bryantbiggs@gmail.com>
2024-05-28 14:40:29 -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
7c99bb19cd feat: Add support for AL2023 nodeadm user data (#2942) 2024-02-29 19:12:50 -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
Kaji
776009d74b fix: Wrong rolearn in aws_auth_configmap_yaml (#1820) 2022-02-01 19:21:51 +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
Vilvaramadurai Samidurai (Vilva)
ed048f3c1a feat: Added support for client.authentication.k8s.io/v1beta1 (#1550) 2021-11-02 11:19:40 +01:00
Yves-Olivier Laroche
7f3b695ef1 fix: Put KubeletExtraArgs in double quotes for Windows (#1082) 2021-09-03 10:37:00 +02:00
myoung34
84a3761742 improvement: Dont set -x in userdata to avoid printing sensitive informations in logs (#1187) 2021-01-28 23:54:38 +01:00
graywolf-at-work
05cd78593a fix: Ensure kubeconfig ends with \n (#880)
In order to be a text file according to POSIX, file needs to be composed of
text lines. Text line is defined as sequence of characters ending in \n. Sadly,
`~}` did strip everything including the \n, so the kubeconfing did not end
with a new line. Output empty string at the end to make sure of it.
2020-06-02 11:24:39 +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
3957a7c02c improvement: Generate aws-auth configmap's roles from Object. No more string concat. (#790)
Do not use string concat to generate a YAML data structure

Co-authored-by: Thierno IB. BARRY <ibrahima.br@gmail.com>
2020-03-18 08:58:19 +01:00
Stijn De Haes
9363662574 Use kubernetes provider to manage aws auth (#355)
This commit changes the way aws auth is managed. Before a local file
was used the generate the template and a null resource to apply it. This
is now switched to the terraform kubernetes provider.
2019-11-28 10:25:13 +01:00
Joonsung Lee
2d52e06786 Add Windows support (#555)
* Add Windows support

* Assign eks:kube-proxy-windows group to worker nodes

* Add Instructions for adding Windows Workers at FAQ.md

* Remove unnecessary variables from userdata_windows.tpl

* Update CHANGELOG.md
2019-10-28 14:16:45 +01:00
Nick Fisher
5636447de6 Wrapping kubelet_extra_args in double quotes (#473) (#474) 2019-08-20 15:41:16 +02:00
刘相轩
8580b67813 Support map users and roles to multiple groups (#424)
* Support map users and roles to multiple groups

* Simplify code by rename `user_arn` to `userarn`, `role_arn` to `rolearn`

* Next version should be 6.x because PR this is a breaking change.

* Update example variables.tf

* Change indent to 2

* Fix map-aws-auth.yaml maybe invalid yaml.
2019-08-19 16:15:01 +02:00
Max Williams
8b2e1c2dd8 Replacing enable_docker_bridge with a generic option called bootstrap_extra_args (#320)
* Replacing enable_docker_bridge with a generic option called bootstrap_extra_args

* making breaking change more obvious
2019-03-26 17:20:39 +01:00
michaelmccord
80085f50ab Add enable_docker_bridge (#302) 2019-03-13 17:30:41 +01:00
Nic Grayson
e1e265bf21 allow user to overwrite the kubeconfig default args (#129)
* allow user to overwrite the kubeconfig default args

* quote args to auth command
2018-11-01 17:14:07 +01:00
Andrew Lavery
b623bc234a allow specifying an IAM role for each worker group (#137)
* allow creating an IAM role for each worker group

* moved change from 'changed' to 'added'

* create multiple roles not just profiles

* fix config_map_aws_auth generation

* don't duplicate worker-role templating

* specify ARNs for worker groups individually

todo fix aws_auth configmap

* fixed AWS auth

* fix aws_iam_instance_profile.workers name
fix iam_instance_profile fallback

* fix outputs

* fix iam_instance_profile calculation

* hopefully fix aws auth configmap generation

* manually fill out remainder of arn

* remove depends_on in worker_role_arns template file

this was causing resources to be recreated every time

* fmt

* fix typo, move iam_role_id default to defaults map
2018-09-24 16:08:35 +02:00
Touch Ungboriboonpisal
21f43b8341 Add support for the new amazon-eks-node-* AMI (#100)
* add support for the new amazon-eks-node-* AMI

* add CHANGELOG

* remove kubelet_node_labels
2018-09-04 12:19:02 +02:00
Max Williams
58c4a0e30f initial commit 2018-07-11 10:21:53 +02:00
Brandon J. O'Connor
f385415c88 Merge pull request #52 from max-rocket-internet/kubeconfig-fixes
Making kubeconfig file path and generated config unique
2018-07-09 02:46:10 -07:00
Max Williams
7e4e93eeec Removing region from kubectl config and adding override variable 2018-07-09 10:40:51 +02:00
Bryan Shelton
f9e8f73403 Fix authentication typo 2018-07-07 17:26:23 -07:00
Bryan Shelton
9876ddbe71 Add a worker_groups option to define kubelet --node-labels 2018-07-07 17:26:03 -07:00
Max Williams
fac9bc8db1 Making kubeconfig file path and generated config unique 2018-07-06 12:11:48 +02:00
Steve Davids
3de7f505e6 Removed carriage return line endings. 2018-06-29 18:41:14 -04:00
Steve Davids
efecd2ed87 Allowing a more configurable kubeconfig 2018-06-29 18:39:22 -04:00
jimbecker
81755336e8 added support for specifying user data for the worker launch config that runs before anything else 2018-06-27 11:51:34 -04:00
Igor Borodin
77400e8949 Removing kube-proxy restart according to the new worker guide, bumping EKS provider version in example 2018-06-21 12:54:15 +03:00
brandoconnor
6bc2125fd2 forgot to add templates 2018-06-08 02:21:23 -07:00