BACKWARDS INCOMPATIBILITIES / NOTES:
- The
cluster_desired_capacity
is now ignored after the firstapply
of the module since, in the case of autoscaling or manual scaling, the value may have changed betweenapply
s.
IMPROVEMENTS:
- A
cluster_instance_metadata_options
variable has been added which mirrors the metadata_options exposed on theaws_launch_template
resource. Among other things, this allows users of this module to require that IMDSv2 be used by containers in the cluster. By default, IMDSv2 is not required in this version of the module but a future major release of the module may enforce IMDSv2 usage. - The EBS volumes attached to container instances are now tagged with
Component
,DeploymentIdentifier
,Name
andClusterName
tags by default, as well as with any tags passed in thetags
var when provided (resolves #94).
BACKWARDS INCOMPATIBILITIES / NOTES:
- This module is now compatible with Terraform 1.1 and higher.
- This module now uses EBS volume encryption by default. This can be disabled
using
cluster_instance_enable_ebs_volume_encryption = false
. - In line with Amazon's update of the default root block storage device, the
default in this module is now
/dev/xvda
. - All variables previously using
"yes|no"
have been replaced withtrue|false
. - The
allowed_cidrs
variable has been renamed todefault_ingress_cidrs
. - The
egress_cidrs
variable has been renamed todefault_egress_cidrs
. - The
cluster_instance_amis
variable has been replaced with the singularcluster_instance_ami
, with default value ofnull
. - The following variables have had their default value replaced from
""
tonull
:cluster_instance_user_data_template
cluster_instance_iam_policy_contents
cluster_service_iam_policy_contents
IMPROVEMENTS:
- This module now uses the nullable feature to simplify variable defaults.
IMPROVEMENTS:
- added option to specify log retention period for cluster
- added option to disable enhanced instance monitoring (enabled by default)
- added option to specify the path of the root block storage device as AWS
default has changed from
/dev/sda1
to/dev/xvda
BACKWARDS INCOMPATIBILITIES / NOTES:
- This module is now compatible with Terraform 1.0 and higher.
- In line with Amazon's deprecation and pending removal of support for launch
configurations, this module now creates a launch template for the autoscaling
group. As a result, the
launch_configuration_name
output has been replaced by thelaunch_template_name
andlaunch_template_id
outputs. Upon upgrading this module, the launch configuration will be destroyed and an equivalent launch template will be created and associated with the autoscaling group. - The unused
launch_configuration_create_before_destroy
variable has been removed.
IMPROVEMENTS:
- The
aws
andnull
provider constraints have been loosened to allow this module to be used with the latest versions of each. This enables use of Terraform AWS provider v4. - The no longer supported
template
provider has been replaced with native terraform configuration language equivalents.
IMPROVEMENTS:
- The
aws_ecs_cluster_capacity_providers
resource is now used to associate capacity providers with the created ECS cluster.
BACKWARDS INCOMPATIBILITIES / NOTES:
- This module is now compatible with Terraform 0.14 and higher.
IMPROVEMENTS:
- The
associate_public_ip_addresses
variable allows public IPs to be associated to ECS container instances. By default its value isno
.
IMPROVEMENTS:
- Updated README with correct inputs, outputs and usage.
BACKWARDS INCOMPATIBILITIES / NOTES:
- The cluster now uses the latest ECS optimised amazon linux image by default.
This can be overridden using the
cluster_instance_amis
variable. - The
private_subnet_ids
variable has been renamed tosubnet_ids
as there is nothing requiring the subnets to be private - The
private_network_cidr
variable has been renamed toallowed_cidrs
and its type has changed to list.
IMPROVEMENTS:
- The cluster now uses the latest ECS optimised amazon linux image by default.
- The default security group ingress and egress rules are now optional and
configurable. A list of CIDRs for both ingress and egress can be specified
using
allowed_cidrs
andegress_cidrs
respectively. The default rules can be disabled usinginclude_default_ingress_rule
andinclude_default_egress_rule
. - The security group ID is now available via an output named
security_group_id
so that additional rules can be added outside of the module.
BACKWARDS INCOMPATIBILITIES / NOTES:
- The configuration directory has changed from
<repo>/src
to<repo>
to satisfy the Terraform standard module structure.
IMPROVEMENTS:
- All variables and outputs now have descriptions to satisfy the Terraform standard module structure.
BACKWARDS INCOMPATIBILITIES / NOTES:
- The IAM roles and policies for instance and service now use randomly generated names. The value that was previously used for name can now be found in the description.