Commit Graph

395 Commits

Author SHA1 Message Date
Sanjeev Giri
905d9f05a9 Configurable local exec command for waiting until cluster is healthy (#701)
* Configurable local exec command for waiting until cluster is healthy

* readme

* line feeds

* format

* fix readme

* fix readme

* Configurable local exec command for waiting until cluster is healthy (#1)

* Configurable local exec command for waiting until cluster is healthy

* readme

* line feeds

* format

* fix readme

* fix readme

* change log

* Configurable local exec wait 4 cluster op (#2)

* Configurable local exec command for waiting until cluster is healthy

* readme

* line feeds

* format

* fix readme

* fix readme

* change log

* changelog (#3)

* Changelog (#4)

* changelog

* changelog

* simplify wait_for_cluster command

* readme

* no op for manage auth false

* formatting

* docs? not sure

* linter

* specify dependency to wait for cluster more accurately
2020-01-27 16:29:24 +01:00
xM8WVqaG
317b9481ad Update CHANGELOG.md (#695) 2020-01-17 17:35:06 +01:00
Max Williams
c9b9c96cfe new release v8.1.0 (#693) 2020-01-17 16:06:50 +01:00
David Alger
b3a90aac80 Ignore changes to desired_size of node_groups (#691)
* Ignore changes to desired_size of node_groups

Resolves #681

* Update CHANGELOG.md
2020-01-17 14:13:07 +01:00
Steffen Tautenhahn
0ee36d0aee Don't fail on destroy, when provider resource was removed (#667)
* Don't fail on destroy, when provider resource was removed

* Update Changelog

* Node groups submodule (#650)

* WIP Move node_groups to a submodule

* Split the old node_groups file up

* Start moving locals

* Simplify IAM creation logic

* depends_on from the TF docs

* Wire in the variables

* Call module from parent

* Allow to customize the role name. As per workers

* aws_auth ConfigMap for node_groups

* Get the managed_node_groups example to plan

* Get the basic example to plan too

* create_eks = false works

"The true and false result expressions must have consistent types. The
given expressions are object and object, respectively."
Well, that's useful. But apparently set(string) and set() are ok. So
everything else is more complicated. Thanks.

* Update Changelog

* Update README

* Wire in node_groups_defaults

* Remove node_groups from workers_defaults_defaults

* Synchronize random and node_group defaults

* Error: "name_prefix" cannot be longer than 32

* Update READMEs again

* Fix double destroy

Was producing index errors when running destroy on an empty state.

* Remove duplicate iam_role in node_group

I think this logic works. Needs some testing with an externally created
role.

* Fix index fail if node group manually deleted

* Keep aws_auth template in top module

Downside: count causes issues as usual: can't use distinct() in the
child module so there's a template render for every node_group even if
only one role is really in use. Hopefully just output noise instead of
technical issue

* Hack to have node_groups depend on aws_auth etc

The AWS Node Groups create or edit the aws-auth ConfigMap so that nodes
can join the cluster. This breaks the kubernetes resource which cannot
do a force create. Remove the race condition with explicit depend.

Can't pull the IAM role out of the node_group any more.

* Pull variables via the random_pet to cut logic

No point having the same logic in two different places

* Pass all ForceNew variables through the pet

* Do a deep merge of NG labels and tags

* Update README.. again

* Additional managed node outputs #644

Add change from @TBeijin from PR #644

* Remove unused local

* Use more for_each

* Remove the change when create_eks = false

* Make documentation less confusing

* node_group version user configurable

* Pass through raw output from aws_eks_node_groups

* Merge workers defaults in the locals

This simplifies the random_pet and aws_eks_node_group logic. Which was
causing much consernation on the PR.

* Fix typo

Co-authored-by: Max Williams <max.williams@deliveryhero.com>

* Update Changelog

* 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

* Re-generate docs with terraform-docs 0.7.0 and bump pre-commit-terraform version (#668)

* re-generate docs with terraform-docs 0.7.0

* bump pre-commit-terraform version

* Release 8.0.0 (#662)

* Release 8.0.0

* Update changelog

* remove 'defauls' node group

* Make curl silent

* Update Changelog

Co-authored-by: Daniel Piddock <33028589+dpiddockcmp@users.noreply.github.com>
Co-authored-by: Max Williams <max.williams@deliveryhero.com>
Co-authored-by: Siddarth Prakash <1428486+sidprak@users.noreply.github.com>
Co-authored-by: Thierno IB. BARRY <ibrahima.br@gmail.com>
2020-01-15 11:46:13 +01:00
Amit Thakkar
b70a828877 Correcting name of module (#666) 2020-01-15 08:05:10 +01:00
Thierno IB. BARRY
c5f50d5969 Re-generate docs with terraform-docs 0.7.0 and bump pre-commit-terraform version (#668)
* re-generate docs with terraform-docs 0.7.0

* bump pre-commit-terraform version
2020-01-13 14:39:59 +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
Max Williams
a9db852d44 Release 8.0.0 (#662)
* Release 8.0.0

* Update changelog

* remove 'defauls' node group

* Make curl silent
2020-01-09 14:10:47 +01:00
Daniel Piddock
11147e9af3 Node groups submodule (#650)
* WIP Move node_groups to a submodule

* Split the old node_groups file up

* Start moving locals

* Simplify IAM creation logic

* depends_on from the TF docs

* Wire in the variables

* Call module from parent

* Allow to customize the role name. As per workers

* aws_auth ConfigMap for node_groups

* Get the managed_node_groups example to plan

* Get the basic example to plan too

* create_eks = false works

"The true and false result expressions must have consistent types. The
given expressions are object and object, respectively."
Well, that's useful. But apparently set(string) and set() are ok. So
everything else is more complicated. Thanks.

* Update Changelog

* Update README

* Wire in node_groups_defaults

* Remove node_groups from workers_defaults_defaults

* Synchronize random and node_group defaults

* Error: "name_prefix" cannot be longer than 32

* Update READMEs again

* Fix double destroy

Was producing index errors when running destroy on an empty state.

* Remove duplicate iam_role in node_group

I think this logic works. Needs some testing with an externally created
role.

* Fix index fail if node group manually deleted

* Keep aws_auth template in top module

Downside: count causes issues as usual: can't use distinct() in the
child module so there's a template render for every node_group even if
only one role is really in use. Hopefully just output noise instead of
technical issue

* Hack to have node_groups depend on aws_auth etc

The AWS Node Groups create or edit the aws-auth ConfigMap so that nodes
can join the cluster. This breaks the kubernetes resource which cannot
do a force create. Remove the race condition with explicit depend.

Can't pull the IAM role out of the node_group any more.

* Pull variables via the random_pet to cut logic

No point having the same logic in two different places

* Pass all ForceNew variables through the pet

* Do a deep merge of NG labels and tags

* Update README.. again

* Additional managed node outputs #644

Add change from @TBeijin from PR #644

* Remove unused local

* Use more for_each

* Remove the change when create_eks = false

* Make documentation less confusing

* node_group version user configurable

* Pass through raw output from aws_eks_node_groups

* Merge workers defaults in the locals

This simplifies the random_pet and aws_eks_node_group logic. Which was
causing much consernation on the PR.

* Fix typo

Co-authored-by: Max Williams <max.williams@deliveryhero.com>
2020-01-09 12:53:08 +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
Thierno IB. BARRY
c17d17e2c2 add stale app (#657) 2020-01-03 23:12:41 +01:00
Eytan Hanig
ab412fb060 Add the OIDC provider ARN to outputs (#653) 2020-01-03 14:25:09 +01:00
Will Bertelsen
bad9604882 Fix aws-auth config map for managed node groups (#627)
* Fix aws-auth config map for managed node groups

This change adds the IAM role used for each managed node group to the
aws-auth config map. This fixes an issue where managed nodes could not
access the EKS kubernetes API server.

* update changelog

* fix format

* add comment

Co-authored-by: Max Williams <max.williams@deliveryhero.com>
2019-12-20 17:30:40 +01:00
Mukesh Gupta
7c8bcc967b Adding node group iam role arns to outputs (#641) 2019-12-20 16:50:29 +01:00
Ryan Ooi
b7ffc1b591 Control plane security group always whitelist worker security group and revert #186 (#631)
* Updates and revert #186

* update readme

* update changelog

* update changelog
2019-12-20 16:45:01 +01:00
Alaa Qutaish
583c32d286 Add IRSA support (#632) 2019-12-19 16:38:12 +01:00
chewvader
77f947ec91 Cluster oidc issuer url string (#626)
* cluster_oidc_issuer_url to string

change cluster_oidc_issuer_url output to return string

* Update CHANGELOG.md

adding entry to changelog

* Update outputs.tf

Co-Authored-By: Daniel Piddock <33028589+dpiddockcmp@users.noreply.github.com>
2019-12-12 17:44:45 +01:00
Jeff Hastings
11d8ee8631 Fix idempotency with node group remote_access block (#625)
* add kubernetes provider configuration for managed_node_groups example

* use dynamic block for remote_access

* update changelog
2019-12-11 17:50:09 +01:00
Max Williams
7824e8b263 Creating 7.0.1 release (#630) 2019-12-11 17:23:48 +01:00
Daniel Piddock
45a39a098f Minor tweaks to changelog (#629)
* Tweaks to changelog

* Fix examples link

Existing one does not work.
This is a permanent link to maintain the upgrade hints path
2019-12-11 17:08:33 +01:00
Tomislav Tomašić
124ea7c151 Add destroy time flag (#580)
* Add destroy-time flag

* Update changelog

Fix cluster count

* Fix cluster count

* Fix docs

* Fix outputs

* Fix unsupported attribute on cluster_certificate_authority_data output

Co-Authored-By: Daniel Piddock <33028589+dpiddockcmp@users.noreply.github.com>

* Remove unnecessary flatten from cluster_endpoint output

Co-Authored-By: Daniel Piddock <33028589+dpiddockcmp@users.noreply.github.com>

* Improve description of var.enabled

* Fix errors manifesting when used on an existing-cluster

* Update README.md

* Renamed destroy-time flag

* Revert removal of changelog addition entry

* Update flag name in readme

* Update flag variable name

* Update cluster referencing for consistency

* Update flag name to `create_eks`

* Fixed incorrect count-based reference to aws_eks_cluster.this (there's only one)

* Replaced all incorrect aws_eks_cluster.this[count.index] references (there will be just one, so using '[0]').

* Changelog update, explicitly mentioning flag

* Fixed interpolation deprecation warning

* Fixed outputs to support conditional cluster

* Applied create_eks to aws_auth.tf

* Removed unused variable. Updated Changelog. Formatting.

* Fixed references to aws_eks_cluster.this[0] that would raise errors when setting create_eks to false whilst having launch templates or launch configurations configured.

* Readme and example updates.

* Revert "Readme and example updates."

This reverts commit 18a0746355e136010ad54858a1b518406f6a3638.

* Updated readme section of conditionally creation with provider example.

* Added conditions to node_groups.

* Fixed reversed map_roles check

* Update aws_auth.tf

Revert this due to https://github.com/terraform-aws-modules/terraform-aws-eks/pull/611
2019-12-09 10:06:10 +01:00
Daniel Piddock
7c2c4a6aa5 Bump minimum Terraform to 0.12.9 (#617) 2019-12-09 09:59:26 +01:00
Shan K
143642fda8 remove empty [] to mapRoles in aws-auth (revised) (#619) 2019-12-09 09:56:55 +01:00
Shan K
fb61b48c26 Fix PR merge: #606 (#611)
* Update aws_auth.tf

* aws-auth config map
2019-12-05 16:54:13 +01:00
Shan K
9de5b53cb4 remove empty [] to mapRoles object in aws-auth (#606)
* remove empty [] to mapRoles object in aws-auth

Simply having ${yamlencode(var.map_roles)} in mapRoles for aws-auth 
creates a empty [] at the end after adding the default roles.
Changing it to be added only when its not empty

* Update aws_auth.tf
2019-12-04 18:46:44 +01:00
William Morgan
cf3dcc5c58 Support for EKS Managed Node Groups (#602)
* Finished first cut of managed node groups

* Updated formatting and extra fields.

* Updating Changelog and README

* Fixing formatting

* Fixing docs.

* Updating required Version

* Updating changelog

* Adding example for managed node groups

* Managed IAM Roles for Nodegroups now have correct policies. Tags can now be added to node groups.

* Fixing bug where people could set source_security_group_ids without setting ssh key causing a race condition within the aws provider.

* Adding lifecycle create_before_destroy

* Adding random pet names for create_before_destroy

* Updating per comments.

* Updating required versions of terraform

* Updating per comments.

* Updating vars

* Updating minimum version for terraform

* Change worker_groups_managed_node_groups to node_groups

* Using for_each on the random_pet

* Adding changes recommended by @eytanhanig

* Update node_groups.tf
2019-12-04 18:30:36 +01:00
Max Williams
614d815c3c Misc doc and changelog format changes (#604)
👊
2019-11-28 15:03:26 +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
Mary Hayes
b69c8fb759 Run aws-auth Update Commands in Sequence and not Parallel (#592)
* Run aws-auth Update Commands in Sequence and not Parallel

* Update changelog
2019-11-20 13:23:56 +01:00
Joonsung Lee
215dc849e8 Fix broken terraform plan/apply on a cluster < 1.14 (Fix #582) (#600) 2019-11-20 13:19:06 +01:00
Angel Abad
4f3f5b6733 Fix deprecated interpolation-only expression (#594) 2019-11-18 18:16:37 +01:00
Hwanjin Jeong
a4117177f6 Fix typo (#595)
* fix typos

* remove unnecessary comment
2019-11-18 18:10:53 +01:00
Ankit Wal
a43e44f164 Update worker_iam_instance_profile outputs for launch template use (#583)
* Add launch template instance profiles to output

Concat launch template and asg instance profile lists

Signed-off-by: Ankit Wal <ankitwal@gmail.com>

* Update ChangeLog

Added changes made to output in Changelog
Signed-off-by: Ankit Wal <ankitwal@thoughtworks.com>
2019-11-06 17:27:56 +01:00
Daniel Piddock
c0ae644204 Add Action check against minimum versions (#575) 2019-11-04 16:18:19 +01:00
Max Williams
55ff38cc31 Fix changelog for release v7.0.0 (#577)
* New v7.0.0 release

* update version file

* remove one line
2019-10-30 21:22:15 +01:00
Thierno IB. BARRY
0d7ef6ffd6 New release 6.1.0 (#576) 2019-10-30 13:38:51 +01:00
Miguel Ferreira
a8e54ccf73 Use join and splat syntax to access conditional resources (#569) 2019-10-29 13:55:21 +01:00
Scott Stanton
4f552891ff Allow the userdata template to be replaced (#565)
* Allow the userdata template to be replaced

* Address fmt issue

* Rename 'customer_userdata' name to 'userdata_template_file'

* Add support for userdata_template_extra_args

* Add support for userdata_template_extra_args

* fix merge conflicts

* Fix merge problem that dropped the file load
Add `platform` to the template expansion context
Add `userdata_launch_template` to `launch_template_userdata`
2019-10-29 12:12:47 +01:00
Max Williams
c46d5fcb00 Update PULL_REQUEST_TEMPLATE.md (#573) 2019-10-28 15:08:31 +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
chenrui
be6fa61d0d Add terraform_validate and terraform_tflint pre-commit hooks (#571) 2019-10-25 22:42:32 +02:00
Arnaud Venturi
c90b33780c Increase minimum terraform version to include yamlencode (#570)
* Increase minimum terraform version to include yamlencode

https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md#0122-june-12-2019

* Update Changelog
2019-10-25 11:14:01 +02:00
Miguel Ferreira
3f346d1610 Remove region from vars mapping for kubeconfig (#556)
The template file data source was injecting a region variable that is not defined in the template. Once removed the variable the aws region data source was not used anywhere else, so it is removed as well.
2019-10-24 18:13:06 +02:00
Joshua Spence
4369f0271b Allow config_output_path to specify the full path (#549) 2019-10-21 14:55:29 +02:00
Bruno M. Custódio
c81e1d2fa7 Allow for specifying a custom AMI for the worker nodes. (#551)
Signed-off-by: Bruno Miguel Custódio <brunomcustodio@gmail.com>
2019-10-21 13:04:04 +02:00
Jeff Hastings
2e2f2acada change ebs_optimized mapping to list where not supported (#561)
* change ebs_optimized mapping to list where not supported

* update changelog
2019-10-21 12:57:29 +02:00
Thierno IB. BARRY
1be1a02e23 New release 6.0.2 (#553) 2019-10-07 20:53:31 +02:00
Morgan Christiansson
edcbba64ef Add tags to aws_eks_cluster introduced in terraform-provider-aws 2.31.0 (#550)
- https://github.com/terraform-providers/terraform-provider-aws/pull/10307
- https://aws.amazon.com/about-aws/whats-new/2019/09/amazon-eks-supports-cluster-tagging/
2019-10-04 14:48:53 +02:00
Daniel Piddock
813c607e90 Make "dangerous" policy attachments optional (#539) 2019-10-04 14:25:19 +02:00