Gruntwork release 2016-12
Guides / Update Guides / Releases / 2016-12
This page is lists all the updates to the Gruntwork Infrastructure as Code
Library that were released in 2016-12. For instructions
on how to use these updates in your code, check out the updating
documentation.
Here are the repos that were updated:
Published: 12/20/2016 | Release notes
Published: 12/21/2016 | Release notes
- Introduce a new module
circleci-helpers
meant to help some of the specific shortcomings of CircleCI. The first two scripts include:
install-go-version
to install a specific version of Go, which is helpful since the default in CircleCI is 1.6.4.
place-repo-in-gopath
to place the git repo in the $GOPATH
, which is helpful because, by default, the repo is outside the $GOPATH
, which breaks some Go tooling.
Published: 12/21/2016 | Release notes
- Move
git-rebase
from gruntwork-module-circleci-helpers
to new git-helpers
modules. This is to help indicate that this script is not CircleCI-specific.
Published: 12/21/2016 | Release notes
- Fix an issue where
terraform-update-variable
would fail because it was not executing the git
repo directory.
Published: 12/21/2016 | Release notes
- Add
git-rebase
to gruntwork-module-circleci-helpers
. This is useful if you want to merge one git branch into another.
Published: 12/20/2016 | Release notes
- The
configure-environment-for-gruntwork-module
script now installs Go 1.7.3 by default. CircleCi has Go 1.6.x installed, but binaries built with that version of Go do not work on the latest version of OS X, so we have to upgrade. You can control the version of Go using the --go-version
option.
Published: 12/19/2016 | Release notes
- BREAKING CHANGE,
terraform-deploy
: this script has been removed. You should use Terragrunt instead.
- BREAKING CHANGE,
build-docker-image
: this script will now look for the specified image/tag already in your Docker registry and if it exists, it will NOT replace it. In part, this is because want our artifacts to be immutable. In part, this makes it easy to use this script and automatically “promote” the same artifact from one environment to another (e.g. stage to prod).
- ENHANCEMENT,
terraform-update-variable: this script now accepts
--git-urland
--git-checkout-path` parameters to check out a Git repo before making the Terraform changes.
- MINOR CHANGE,
build-docker-image
: the --output-properties-file
parameter is now optional.
Published: 12/15/2016 | Release notes
- The
rds
and aurora
modules now provide db_name
outputs that contain the name of the (logical) DB
Published: 12/15/2016 | Release notes
- The
rds
and aurora
modules now each take in an optional parameter called db_name
. If you set that parameter to a non-empty string, when creating the RDS instances, it will also create a logical database with that given name.
Published: 12/8/2016 | Release notes
- The aurora module now exposes a
reader_endpoint
output variable
Published: 12/14/2016 | Release notes
- The
ecs-service
module now exposes a use_auto_scaling
parameter that you should set to true when using auto scaling to determine how many instances of that service to run.
Published: 12/28/2016 | Release notes
- BREAKING CHANGE: The
elb-access-logs
module has renamed variables and outputs. It is now been replaced by the load-balancer-access-logs
.
- NEW MODULE: The
load-balancer-access-logs
module replaces the elb-access-logs
module and now officially supports both the Application Load Balancer (ALB) and Classic Load Balancer (ELB). It adds documentation for adding both the ALB and ELB, and the option to add archiving to the logs after a certain number of days.
Published: 12/17/2016 | Release notes
This release updates the cloudtrail
module to support archiving of logs.
Previously, you could either store logs in S3 (for $0.023 per GB) or delete them. Now, you can choose to archive CloudTrail logs to AWS Glacier after a certain number of days, where you'll pay just $0.004 per GB.
- ENHANCEMENT: The
cloudtrail
module now exposes a new var, num_days_after_which_archive_log_data
. If set to 0
, archiving is disabled. Otherwise, log files are automatically archived after the specified number of days.
This change is fully backwards-compatible in terms of the vars and outputs, but it makes use of features new to Terraform v0.8 such as conditionals, and therefore requires that you upgrade to Terraform v0.8.1 or higher before using. For that reason we have indicated in the version release that this is a "breaking" change.
Published: 12/13/2016 | Release notes
This release adds two new features to the iam-groups
module:
-
ENHANCEMENT: iam-groups
now exposes the Terraform variable should_require_mfa
. If true, an IAM User must use multi-factor authentication (MFA) to access any AWS services, with the exception of a very limited set of permissions the IAM User needs to initialize her MFA Device and reset her password.
-
ENHANCEMENT: iam-groups
now adds the IAM Group developers
by default (though it's still optional). Some teams will add all IAM Users to the full-access
IAM Group. But for those teams that wish to create an IAM User whose permissions go beyond read-only
but below full-access
, the developers
IAM Group offers such an option.
You can customize which set of AWS Services IAM Users in developers
will receive full access to through the iam_group_developers_permitted_services
Terraform variable. In addition, the developers
IAM Group grants IAM Users access to a personal S3 Bucket.
Published: 12/9/2016 | Release notes
- Fix a bug where
mount-ebs-volume
was not detected the "VolumeInUse" error correctly due to an overflow error with bash exit codes.
Published: 12/9/2016 | Release notes
- Fix bug in
mount-ebs-volume
where, if the EBS volume was already mounted, it would try to call a string_contains
function that didn't exist, and the whole script would exit with an error.