Commit Graph

81 Commits

Author SHA1 Message Date
Christian Kemper
2a8e45fe2c defaults lookup before falling back on default ami based on platform (#756)
* defaulting to data lookup if worker_group_defaults have no ami_id entry

* using coalesce instead of lookup and also using local instead of var.

* adding defaults support for specifying windows based amis
2020-03-12 00:34:21 +01:00
Arie Lev
f465e55721 Add ASG cooldown and health_check_grace_period (#770)
* Add default_cooldown/health_check oprions

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-Authored-By: Thierno IB. BARRY <ibrahima.br@gmail.com>

Co-authored-by: Thierno IB. BARRY <ibrahima.br@gmail.com>
2020-03-10 11:20:11 +01:00
Siddarth Prakash
198294c0b6 Add support for ASG max instance lifetime (#769)
Co-authored-by: Thierno IB. BARRY <ibrahima.br@gmail.com>
2020-03-09 23:31:52 +01:00
Craig Rueda
6784824595 'root_encrypted' -> bool (#766) 2020-03-09 23:25:05 +01:00
Yecheng Fu
8382f2c4e8 use the correct policy arns if the region is in CN (#765) 2020-03-09 16:02:53 +01:00
Ryan Ooi
f2cc9f5039 Revert #631. Add back manage security group flag (#722)
* Revert #631

* fix README lint

* fix README lint for bool
2020-02-27 11:23:41 +01:00
Max Williams
626a393ab9 Remove of autoscaling IAM policy related stuff (#716)
* Disable management of autoscaling IAM policy by default

* remove completely

* update changelog notes

* fix pre-commit stuff

* misc updates

* fmt

* fix changelog

* Removal of tags and update docs

* Change after updating terraform-docs

* Add second tag
2020-02-04 19:34:17 +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
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
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
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
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
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
Josh Girón
f3beb8e5fc Update comments for 'asg_recreate_on_change' attribute in 'workers_gr… (#536)
* Update comments for 'asg_recreate_on_change' attribute in 'workers_group_defaults_defaults' for better clarify of what resources it's talking about.

* Expand a few more acronyms and abbreviations.
2019-09-27 09:28:55 +02:00
Tatu Seppä-Lassila
39cb93b1da Use null as default value for target group ARNs (#524)
* Use null as default value for target group ARNs
* Update CHANGELOG

close #499
2019-09-24 11:09:44 +02:00
Irtiza Ali
0fd7046120 update local.tf by fixing typo 2019-09-19 17:33:09 +05:00
irti
0d49f8265a [add-notes] update local.tf file 2019-09-19 00:13:20 +05:00
Sergiu Plotnicu
461cf5482e Support for Mixed Instances ASG in worker_groups_launch_template variable (#468)
* Create ASG tags via for - utility from terraform 12

* Updated support for mixed ASG in worker_groups_launch_template variable

* Updated launch_template example to include spot and mixed ASG with worker_groups_launch_template variable

* Removed old config

* Removed workers_launch_template_mixed.tf file, added support for mixed/spot in workers_launch_template variable

* Updated examples/spot_instances/main.tf with Mixed Spot and ondemand instances

* Removed launch_template_mixed from relevant files

* Updated README.md file

* Removed workers_launch_template.tf.bkp

* Fixed case with null on_demand_allocation_strategy and Spot allocation

* Fixed workers_launch_template.tf, covered spot instances via Launch Template
2019-09-13 16:50:59 +02:00
Thierno IB. BARRY
4264a5fe6e use default_iam_role_id interpolation for aws_iam_instance_profile (#489) 2019-09-11 18:25:33 +02:00
Thierno IB. BARRY
d6d0975452 add initial lifecycle hooks for autosacling groups (#466) 2019-08-20 15:45:06 +02:00
Thierno IB. BARRY
d8ed7d0b66 add option to recreate ASG when LT or LC changes (#465) 2019-08-20 15:43:18 +02:00
Scott Crooks
b335819f0e Adding 'capacity-optimized' docs to locals (#469) 2019-08-19 16:22:11 +02:00
Tarek Abdel Sater
fb71eaf6ff Allow launch template spot instances without mixed policy (#463)
* Add option to enable spot without MixedInstancePolicy

* Update docs
2019-08-06 18:18:06 +02:00
Petri Kero
c9986f5e01 Fix errors from usage of coalesce (#402) (#459)
* Replace coalesce() usage for locals with ternary operator. Fixes terraform errors during destroy when only empty strings were passed to coalesce().

* Update changelog.

* Fix formatting.
2019-08-06 18:05:54 +02:00
Max Williams
6ea3582940 new release (#452) 2019-07-30 16:02:21 +02:00
Onur Sam
a95ad00b0a added market options to request spot instances without pools (#409)
* added market options to request spot instances without specifying pools in a launch template

* formatted

* simplified implementation

* formatted

* Update CHANGELOG.md
2019-07-23 17:33:16 +02:00
Alexander Shinkarenko
34b74518e8 Configure 'cpu_credits' for workers (#253) (#426)
* Configure 'cpu_credits' for workers (#253)

* Updated CHANGELOG(#253)

* Moved default to settings for launch templates(#253)
2019-07-12 14:44:54 +02:00
刘相轩
4b1df0c0af Update default override instance types to work with Cluster Autoscaler (#425) 2019-07-08 11:18:13 +02:00
Alex Romanov
069c2da770 typo (#407) 2019-06-24 15:41:40 +02:00
刘相轩
da2c78b8ba Upgrade to terraform 0.12 (#394)
* run terraform upgrade tool

* fix post upgrade TODOs

* use strict typing for variables

* upgrade examples, point them at VPC module tf 0.12 PR

* remove unnecessary `coalesce()` calls

coalesce(lookup(map, key, ""), default) -> lookup(map, key, default)

* Fix autoscaling_enabled broken (#1)

* always set a value for tags, fix coalescelist calls

* always set a value for these tags

* fix tag value

* fix tag value

* default element available

* added default value

* added a general default

without this default - TF is throwing an error when running a destroy

* Fix CI

* Change vpc module back to `terraform-aws-modules/vpc/aws` in example

* Update CHANGELOG.md

* Change type of variable `cluster_log_retention_in_days` to number

* Remove `xx_count` variables

* Actual lists instead of strings with commas

* Remove `xx_count` variable from docs

* Replace element with list indexing

* Change variable `worker_group_tags` to a attribute of worker_group

* Fix workers_launch_template_mixed tags

* Change override_instance_type_x variables to list.

* Update CHANGELOG.md
2019-06-19 09:57:51 +02:00
Mitch Anderson
758fdab1ee Termination Policy Option to worker ASG (#393)
* Adding Worker ASG Option for termination_policies, default set to Default

* Adding setting to launch template and mixed

* Updated a few more things per PR notes

* Change termination_policy default from "Default" to ""
2019-06-12 18:11:24 +02:00
Gauthier
feb8810af2 Update EBS optimized instances type (#384)
* Update EBS optimized instances type

* Update changelog

* Pin terraform version < 0.12
2019-05-29 16:04:23 +02:00
Max Williams
ae2f8e58db Adding new mixed type of worker group with instance overrides and mixed instances policy (#371)
* Adding new mixed type of worker group with instance overrides and mixed instances policy

* moving all count and lifecycle rule parameters to top/bottom

* adding custom IAM parts

* updating doc with new options

* fixes for spot instances
2019-05-07 16:50:42 +02:00
Max Williams
2439c25771 Cleaning up and deduplicating launch template related code (#370)
* cleaning up launch template code

* update changelog

* Remove variable worker_group_launch_template_tags

* misc fixes

* fixing and simplifying example
2019-05-07 15:41:44 +02:00
Touch Ungboriboonpisal
959e5330e3 Support custom IAM roles for cluster and workers (#338)
* allow specifying custom worker IAM instance profiles

* allow specifying custom cluster IAM role

* add doc

* update changelog

* use data.aws_iam_instance_profile.name
2019-05-07 14:46:06 +02:00
Max Williams
1660105970 Disabling ASG process AZRebalance by default (#369) 2019-05-07 11:00:49 +02:00
Max Williams
3ece32fedf Fixes for Launch Templates (#361)
* Fixes for Launch Templates

* update changelog

* add outputs for 3 LT attributes
2019-05-07 10:59:07 +02:00
Võ Anh Duy
18baeea1fc Add option to use custom service linked role for Auto Scaling group (#359) 2019-04-29 10:45:56 +02:00
Jeffrey Rose
47c7e7ad6f Fix: ENI's prevent SecGrps from being destroyed on tf destroy (#311)
* Fix: remove ENI's on term fixes cluster destroy issues with security group still attached

* Fix: delete ENIs on term to allow sg destroy
2019-04-11 15:29:35 +02:00
rverma-nikiai
b81a15ad41 Add support for placement group in launch template (#332)
* Update to 1.12

* Update workers_launch_template.tf

* Update local.tf

* Update CHANGELOG.md

* Update workers.tf

* Update workers.tf
2019-04-11 15:15:07 +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
Matheus Fernandes
fd1f149432 Add support for placement groups (#306) 2019-03-20 13:38:41 +01:00
michaelmccord
80085f50ab Add enable_docker_bridge (#302) 2019-03-13 17:30:41 +01:00
russki
3795811beb Adding workers_launch_template ebs encryption (#292)
* Adding workers_launch_template ebs encryption

* Update CHANGELOG.md
2019-03-07 15:58:59 +01:00
Stefan Sedich
eac4164c05 Adding the g3s.xlarge instance type ebs optimized mapping (#258)
* Adding the g3s.xlarge instance type ebs optimized mapping

* Changelog
2019-01-30 11:56:52 +01:00
Stefano Zaninetta
39f30e9d58 Add enabled_metrics attributes to autoscaling_group (#256)
* make enabled_metrics property configurable

* update changelog
2019-01-30 11:50:41 +01:00
Stefan Sedich
8473c69f25 Enable create_before_destroy for ASG and enable force_delete to be configured (#250)
* Allow force_delete to be passed to the ASG, and set ASG so that it will create before deletion.

* Set default

* Adding CHANGELOG
2019-01-24 10:48:26 +01:00
skang0601
f3ab7c67da Allows worker groups to be created using AWS Launch Templates (#222) 2019-01-10 16:19:19 +01:00
Zihao Yu
d580369779 Add target_group_arns to worker ASG (#167)
* add target_group_arns to worker default

* add to changelog
2018-10-18 14:13:31 +02:00