The publish-ami script in the aws-helpers module now accepts an argument for --markdown-title-text so that the output markdown file may include an optional customized title.
NEW MODULE: We've added a new module publish-ami that will copy the given AMI to the desired AWS regions (or all AWS regions) and make it public.
We added this module because Gruntwork will soon be releasing open source modules for Vault, Nomad, and Consul and we needed a way to make AMIs built by those modules globally available and usable by anyone.
UPDATE: build-go-binaries now defaults to CGO_ENABLED=0 to build completely static binaries that do not depend on a specific implementation of C. This was requested because an Alpine Linux user (using the musl C library) could not run one of our binaries. Note that a --cgo-enabled option has been added that defaults to false but can be set to true to revert to the original behavior.
UPDATE: HashiCorp changed the GitHub Packer repo from github.com/mitchellh/packer to github.com/hashicorp/packer. Because our curl commands didn't handle a redirect, this caused some of our scripts to fail. This update fixes that issue.
Note: that if you update to this new version of module-data-storage and run apply, it will undeploy your old DB and deploy a new one to replace it. That's because fixing this bug required renaming the DB resources, which Terraform sees as a delete + create.
To avoid this, you will need to use the terraform state mv command.
Aurora
If you do not have encryption enabled:
terraform state mv module.database.aws_rds_cluster.cluster module.database.aws_rds_cluster.cluster_without_encryption
If you have encryption enabled:
terraform state mv module.database.aws_rds_cluster.cluster module.database.aws_rds_cluster.cluster_with_encryption
RDS
If you do not have encryption enabled:
terraform state mv module.database.aws_db_instance.primary module.database.aws_db_instance.primary_without_encryption terraform state mv module.database.aws_db_instance.replicas module.database.aws_db_instance. replicas_without_encryption
If you have encryption enabled:
terraform state mv module.database.aws_db_instance.primary module.database.aws_db_instance.primary_with_encryption terraform state mv module.database.aws_db_instance.replicas module.database.aws_db_instance. replicas_with_encryption
https://github.com/gruntwork-io/module-data-storage/pull/16: The copy-rds-shared-snapshot module now allows you to specify a KMS key via the optional kms_key_id parameter. If specified, this key will be used to encrypt the RDS snapshot copy.
https://github.com/gruntwork-io/module-security/pull/22: In the kms-master-key module, KMS key users now get the CreateGrant permission. This makes it possible to share RDS snapshots encrypted with this KMS key with another AWS account.