Skip to main content

Gruntwork release 2017-01

Guides / Update Guides / Releases / 2017-01

This page is lists all the updates to the Gruntwork Infrastructure as Code Library that were released in 2017-01. For instructions on how to use these updates in your code, check out the updating documentation.

Here are the repos that were updated:



Published: 1/18/2017 | Release notes

  • Boilerplate will now correctly run before hooks before processing any dependencies.


Published: 1/17/2017 | Release notes

  • Boilerplate now allows you to define hooks in boilerplate.yml that can be used to execute arbitrary shell commands.


Published: 1/14/2017 | Release notes

  • Boilerplate now has templateFolder and outputFolder helpers which return the paths of the --template-folder and --output-folder settings. These are useful for building relative filepaths.


Published: 1/11/2017 | Release notes

  • The shell helper will now properly display the stderr for the command you are executing


Published: 1/11/2017 | Release notes

  • When you call the shell CMD helper from a file X, CMD will be executed in the same folder as X. This makes it easier to use relative paths.


Published: 1/10/2017 | Release notes

  • Boilerplate now supports a shell helper that can execute arbitrary shell commands and render their stdout into the template.



Published: 1/19/2017 | Release notes

  • BREAKING CHANGE: AWS made a backwards-incompatible change to their API where, if the snapshot_retention_limit property of the aws_elasticache_replication_group Terraform resource is set to 0, you must not pass the snapshot_window property. Previously, the snapshot_window property was simply ignored if not needed.

    Note that if you update to this new version of the redis module, it will delete your original ElastiCache cluster and replace it with a new one. Therefore, it's essential that you have all your data backed up and can take a downtime before you do the upgrade.

    Alternatively, it's possible to update without downtime by using terraform state commands. If you'd like assistance with this contact



Published: 1/27/2017 | Release notes

  • The scheduled-lambda-job module now exposes a source_code_hash parameter that works nicely with the archive_file data source in Terraform to automatically zip up your lambda jobs.


Published: 1/26/2017 | Release notes

  • You can now pass a map of environment variables to the scheduled-lambda-job module using the environment_variables parameter.


Published: 1/7/2017 | Release notes

  • The build-go-binaries script now supports a --parallelism flag which defaults to 32.



Published: 1/25/2017 | Release notes

  • ENHANCEMENT: Per #27, the ecs-cluster module now accepts the optional parameters var.alb_security_group_ids and var.num_alb_security_group_ids.

    Whereas previously, an ALB was connected to an ECS Cluster by passing the ECS Cluster's Security Group ID to the alb module (located in the the Load Balancer Package), now the alb module is unaware of an ECS Cluster or Auto Scaling Group connected to it, and that responsibility has been shifted to the ecs-cluster module.


Published: 1/19/2017 | Release notes

  • BREAKING CHANGE: The module ecs-service-with-alb replaces the variable previously named ecs_task_definition with a variable named ecs_task_container_definitions to more accurately reflect what this variable actually represents. This is the sole breaking change in this release.


Published: 1/19/2017 | Release notes

  • ENHANCEMENT: The ecs-service-with-alb module now outputs target_group_name.


Published: 1/17/2017 | Release notes

BUG FIX: Previously, the ecs-service-with-alb may not have correctly matched the Listener Rule configurations specified in var.alb_listener_rule_configs to the ALB Listener ARNs var.alb_listener_arns. This release fixes that issue and adds a test to validate it.

Note that we are seeing intermittent test failures with the ALB that indicate a small (e.g. 1 - 2 seconds) period of downtime takes place when deploying a new version of a Docker image as part of an ECS Service. We previously reported these issues to AWS and they issued several fixes as a result. So we will remain on watch for this important nuance of using the ALB.


Published: 1/13/2017 | Release notes

  • NEW MODULE: ecs-service-with-alb is now available! To use it, first create your ECS Cluster with the ecs-cluster module. Then create an ALB to be shared among potentially many ECS Services using the alb module (contained in a separate repo because the ALB can also be used by an Auto Scaling Group. Then create an instance of the ecs-service-with-alb.



Published: 1/30/2017 | Release notes

  • "DISRUPTIVE" CHANGE: Previously, the alb module was rather opinionated about how it would name the ALB. It assumed you wanted the ALB name to be of the form <var.alb_name>-<var.environment_name>. But this proved to be unnecessarily opinionated, so this update changes the ALB name to be exactly the value of the var.alb_name.

    Note that the alb module API did not change and this is therefore not a "breaking" change, however Terraform will attempt to destroy and re-create your ALB, making this a "disruptive" change. To avoid such disruption, consider using terraform state commands. Due to the relative newsness (1 - 2 weeks), only a handful of Gruntwork customers are currently using the alb module. Therefore, we did not create documentation on migrating from the previous ALB version.

    As always, contact us at if you'd like help migrating this!


Published: 1/25/2017 | Release notes

  • BREAKING CHANGE: Previously the ALB depended on a previously existing ECS Cluster or Auto Scaling Group by exposing the parameters var.ecs_cluster_security_group_ids and var.auto_scaling_group_security_group_ids. But this dependency was problematic for reasons explained in #5. Now, the ALB depends on no external resources, and any resource like an ECS Cluster that wants to use the ALB can implement its own "hook" into the ALB by reading the new output alb_security_group_id.


Published: 1/13/2017 | Release notes

Initial release!



Published: 1/19/2017 | Release notes

  • NEW: A new module alb-alarms has been added. This module adds a set of CloudWatch alarms on an Application Load Balancer (ALB).
  • NEW: A new module alb-target-group-alarms has been added. This module adds a set of CloudWatch alarms on an ALB Target Group. This group is the preferred way to monitor the resources created by the Gruntwork Module ecs-service-with-alb.
  • NEW: A new stub ecs-service-with-alb-alarms was added to direct users seeking CloudWatch alarms for the Gruntwork Module ecs-service-with-alb to the alb-target-group-alarms module.



Published: 1/4/2017 | Release notes

  • ENHANCEMENT: module-server now outputs private_ip so users can get the private IP address of the EC2 Instance.



Published: 1/26/2017 | Release notes

  • The vpc-app-network-acls module now allows you to choose if you want to allow access to your VPC from the mgmt VPC using a new input variable called allow_access_from_mgmt_vpc. It defaults to true for backwards compatibility, but if you set it to false, you can now omit the mgmt_vpc_cidr_block parameter.