From bf8c324761e2efaff95c85a6e9e3b017a49f57dc Mon Sep 17 00:00:00 2001 From: Max Williams Date: Wed, 18 Sep 2019 10:01:38 +0200 Subject: [PATCH] New Release v6.0.0 (#514) * New Release v6.0.0 * bump required AWS provider version and regeneration of variables/outputs --- CHANGELOG.md | 19 +++++++++++++------ README.md | 29 ++++++++++++----------------- examples/basic/main.tf | 2 +- examples/launch_templates/main.tf | 2 +- examples/spot_instances/main.tf | 2 +- version | 2 +- versions.tf | 2 +- 7 files changed, 30 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 99d795a..07605e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,20 @@ project adheres to [Semantic Versioning](http://semver.org/). ## Next release -## [[v6.?.?](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v5.1.0...HEAD)] - 2019-08-??] +## [[v6.?.?](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v6.0.0...HEAD)] - 2019-10-??] ### Added +- Write your awesome addition here (by @you) + +### Changed + +- Write your awesome change here (by @you) + +# History + +## [[v6.0.0](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v5.1.0...v6.0.0)] - 2019-09-17] + - Added `market_type` to `workers_launch_template.tf` allow the usage of spot nodegroups without mixed instances policy. - Added support for log group tag in `./cluster.tf` (@lucas-giaco) - Added support for workers iam role tag in `./workers.tf` (@lucas-giaco) @@ -22,20 +32,17 @@ project adheres to [Semantic Versioning](http://semver.org/). - Added output for OIDC Issuer URL (by @russwhelan) - Added support for Mixed Instance ASG using `worker_groups_launch_template` variable (by @sppwf) - Changed ASG Tags generation using terraform 12 `for` utility (by @sppwf) - - Removed `worker_groups_launch_template_mixed` variable (by @sppwf) + - **Breaking:** Removed `worker_groups_launch_template_mixed` variable (by @sppwf) ### Changed - Update to EKS 1.14 (by @nauxliu) - - Support map users and roles to multiple groups (by @nauxliu) + - **Breaking:** Support map users and roles to multiple groups (by @nauxliu) - Fixed errors sometimes happening during destroy due to usage of coalesce() in local.tf (by @petrikero) - Removed historical mention of adding caller's IPv4 to cluster security group (by @dpiddockcmp) - Wrapped `kubelet_extra_args` in double quotes instead of singe quotes (by @nxf5025) - Make terraform plan more consistent and avoid unnecessary "(known after apply)" (by @barryib) - Made sure that `market_type` was correctly passed to `workers_launch_template` (by @to266) - - Write your awesome change here (by @you) - -# History ## [[v5.1.1](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v5.1.0...v5.1.1)] - 2019-07-30] diff --git a/README.md b/README.md index 1d219b6..cb44483 100644 --- a/README.md +++ b/README.md @@ -53,12 +53,6 @@ module "my-cluster" { * [Spot instances](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/spot-instances.md): How to use spot instances with this module. * [IAM Permissions](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/iam-permissions.md): Minimum IAM permissions needed to setup EKS Cluster. -## Release schedule - -Generally the maintainers will try to release the module once every 2 weeks to -keep up with PR additions. If particularly pressing changes are added or maintainers -come up with the spare time (hah!), release may happen more often on occasion. - ## Testing This module has been packaged with [awspec](https://github.com/k1LoW/awspec) tests through [kitchen](https://kitchen.ci/) and [kitchen-terraform](https://newcontext-oss.github.io/kitchen-terraform/). To run them: @@ -101,7 +95,8 @@ The [changelog](https://github.com/terraform-aws-modules/terraform-aws-eks/tree/ ## Authors -Created and maintained by [Brandon O'Connor](https://github.com/brandoconnor) - brandon@atscale.run. +Created by [Brandon O'Connor](https://github.com/brandoconnor) - brandon@atscale.run. +Maintained by [Max Williams](https://github.com/max-rocket-internet) Many thanks to [the contributors listed here](https://github.com/terraform-aws-modules/terraform-aws-eks/graphs/contributors)! ## License @@ -119,7 +114,7 @@ MIT Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraform-a | cluster\_enabled\_log\_types | A list of the desired control plane logging to enable. For more information, see Amazon EKS Control Plane Logging documentation (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) | list(string) | `[]` | no | | cluster\_endpoint\_private\_access | Indicates whether or not the Amazon EKS private API server endpoint is enabled. | bool | `"false"` | no | | cluster\_endpoint\_public\_access | Indicates whether or not the Amazon EKS public API server endpoint is enabled. | bool | `"true"` | no | -| cluster\_iam\_role\_name | IAM role name for the cluster. Only applicable if manage\_cluster\_iam\_resources is set to false. | string | `""` | no | +| cluster\_iam\_role\_name | IAM role name for the cluster. Only applicable if manage_cluster_iam_resources is set to false. | string | `""` | no | | cluster\_log\_kms\_key\_id | If a KMS Key ARN is set, this key will be used to encrypt the corresponding log group. Please be sure that the KMS Key has an appropriate key policy (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html) | string | `""` | no | | cluster\_log\_retention\_in\_days | Number of days to retain log events. Default retention - 90 days. | number | `"90"` | no | | cluster\_name | Name of the EKS cluster. Also used as a prefix in names of related resources. | string | n/a | yes | @@ -127,7 +122,7 @@ MIT Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraform-a | cluster\_version | Kubernetes version to use for the EKS cluster. | string | `"1.14"` | no | | config\_output\_path | Where to save the Kubectl config file (if `write_kubeconfig = true`). Should end in a forward slash `/` . | string | `"./"` | no | | iam\_path | If provided, all IAM roles will be created on this path. | string | `"/"` | no | -| kubeconfig\_aws\_authenticator\_additional\_args | Any additional arguments to pass to the authenticator such as the role to assume. e.g. \["-r", "MyEksRole"\]. | list(string) | `[]` | no | +| kubeconfig\_aws\_authenticator\_additional\_args | Any additional arguments to pass to the authenticator such as the role to assume. e.g. ["-r", "MyEksRole"]. | list(string) | `[]` | no | | kubeconfig\_aws\_authenticator\_command | Command to use to fetch AWS EKS credentials. | string | `"aws-iam-authenticator"` | no | | kubeconfig\_aws\_authenticator\_command\_args | Default arguments passed to the authenticator command. Defaults to [token -i $cluster_name]. | list(string) | `[]` | no | | kubeconfig\_aws\_authenticator\_env\_variables | Environment variables that should be used when executing the authenticator. e.g. { AWS_PROFILE = "eks"}. | map(string) | `{}` | no | @@ -136,23 +131,23 @@ MIT Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraform-a | manage\_aws\_auth | Whether to apply the aws-auth configmap file. | string | `"true"` | no | | manage\_cluster\_iam\_resources | Whether to let the module manage cluster IAM resources. If set to false, cluster_iam_role_name must be specified. | bool | `"true"` | no | | manage\_worker\_iam\_resources | Whether to let the module manage worker IAM resources. If set to false, iam_instance_profile_name must be specified for workers. | bool | `"true"` | no | -| workers\_role\_name | User defined workers role name. | sting | `""` | no | | map\_accounts | Additional AWS account numbers to add to the aws-auth configmap. See examples/basic/variables.tf for example format. | list(string) | `[]` | no | -| map\_roles | Additional IAM roles to add to the aws-auth configmap. See examples/basic/variables.tf for example format. | list(map(string)) | `[]` | no | -| map\_users | Additional IAM users to add to the aws-auth configmap. See examples/basic/variables.tf for example format. | list(map(string)) | `[]` | no | +| map\_roles | Additional IAM roles to add to the aws-auth configmap. See examples/basic/variables.tf for example format. | object | `[]` | no | +| map\_users | Additional IAM users to add to the aws-auth configmap. See examples/basic/variables.tf for example format. | object | `[]` | no | | permissions\_boundary | If provided, all IAM roles will be created with this permissions boundary attached. | string | `""` | no | | subnets | A list of subnets to place the EKS cluster and workers within. | list(string) | n/a | yes | | tags | A map of tags to add to all resources. | map(string) | `{}` | no | | vpc\_id | VPC where the cluster and workers will be deployed. | string | n/a | yes | | worker\_additional\_security\_group\_ids | A list of additional security group ids to attach to worker instances | list(string) | `[]` | no | -| worker\_ami\_name\_filter | Additional name filter for AWS EKS worker AMI. Default behaviour will get latest for the cluster\_version but could be set to a release from amazon-eks-ami, e.g. "v20190220" | string | `"v*"` | no | +| worker\_ami\_name\_filter | Additional name filter for AWS EKS worker AMI. Default behaviour will get latest for the cluster_version but could be set to a release from amazon-eks-ami, e.g. "v20190220" | string | `"v*"` | no | | worker\_create\_security\_group | Whether to create a security group for the workers or attach the workers to `worker_security_group_id`. | bool | `"true"` | no | -| worker\_groups | A list of maps defining worker group configurations to be defined using AWS Launch Configurations. See workers\_group\_defaults for valid keys. | any | `[]` | no | -| worker\_groups\_launch\_template | A list of maps defining worker group configurations to be defined using AWS Launch Templates. See workers\_group\_defaults for valid keys. | any | `[]` | no | +| worker\_groups | A list of maps defining worker group configurations to be defined using AWS Launch Configurations. See workers_group_defaults for valid keys. | any | `[]` | no | +| worker\_groups\_launch\_template | A list of maps defining worker group configurations to be defined using AWS Launch Templates. See workers_group_defaults for valid keys. | any | `[]` | no | | worker\_security\_group\_id | If provided, all workers will be attached to this security group. If not given, a security group will be created with necessary ingres/egress to work with the EKS cluster. | string | `""` | no | | worker\_sg\_ingress\_from\_port | Minimum port number from which pods will accept communication. Must be changed to a lower value if some pods in your cluster will expose a port lower than 1025 (e.g. 22, 80, or 443). | number | `"1025"` | no | | workers\_additional\_policies | Additional policies to be added to workers | list(string) | `[]` | no | -| workers\_group\_defaults | Override default values for target groups. See workers\_group\_defaults\_defaults in local.tf for valid keys. | any | `{}` | no | +| workers\_group\_defaults | Override default values for target groups. See workers_group_defaults_defaults in local.tf for valid keys. | any | `{}` | no | +| workers\_role\_name | User defined workers role name. | string | `""` | no | | write\_aws\_auth\_config | Whether to write the aws-auth configmap file. | bool | `"true"` | no | | write\_kubeconfig | Whether to write a Kubectl config file containing the cluster configuration. Saved to `config_output_path`. | bool | `"true"` | no | @@ -167,9 +162,9 @@ MIT Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraform-a | cluster\_iam\_role\_arn | IAM role ARN of the EKS cluster. | | cluster\_iam\_role\_name | IAM role name of the EKS cluster. | | cluster\_id | The name/id of the EKS cluster. | +| cluster\_oidc\_issuer\_url | The URL on the EKS cluster OIDC Issuer | | cluster\_security\_group\_id | Security group ID attached to the EKS cluster. | | cluster\_version | The Kubernetes server version for the EKS cluster. | -| cluster\_oidc\_issuer\_url | The URL on the EKS cluster OIDC Issuer. | | config\_map\_aws\_auth | A kubernetes configuration to authenticate to this EKS cluster. | | kubeconfig | kubectl config file contents for this EKS cluster. | | kubeconfig\_filename | The filename of the generated kubectl config. | diff --git a/examples/basic/main.tf b/examples/basic/main.tf index e68fd79..7e28233 100644 --- a/examples/basic/main.tf +++ b/examples/basic/main.tf @@ -3,7 +3,7 @@ terraform { } provider "aws" { - version = ">= 2.11" + version = ">= 2.28.1" region = var.region } diff --git a/examples/launch_templates/main.tf b/examples/launch_templates/main.tf index 51148aa..008a4f3 100644 --- a/examples/launch_templates/main.tf +++ b/examples/launch_templates/main.tf @@ -3,7 +3,7 @@ terraform { } provider "aws" { - version = ">= 2.11" + version = ">= 2.28.1" region = var.region } diff --git a/examples/spot_instances/main.tf b/examples/spot_instances/main.tf index 0a73642..741531d 100644 --- a/examples/spot_instances/main.tf +++ b/examples/spot_instances/main.tf @@ -3,7 +3,7 @@ terraform { } provider "aws" { - version = ">= 2.11" + version = ">= 2.28.1" region = var.region } diff --git a/version b/version index 6b7ace3..9773998 100644 --- a/version +++ b/version @@ -1 +1 @@ -v5.1.0 +v6.0.0 diff --git a/versions.tf b/versions.tf index aff0bf8..5e2d714 100644 --- a/versions.tf +++ b/versions.tf @@ -2,7 +2,7 @@ terraform { required_version = ">= 0.12" required_providers { - aws = ">= 2.8" + aws = ">= 2.28.1" local = ">= 1.2" null = ">= 2.1" template = ">= 2.1"