Gruntwork release 2018-12
Guides / Update Guides / Releases / 2018-12
This page is lists all the updates to the Gruntwork Infrastructure as Code
Library that were released in 2018-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/21/2018 | Modules affected: kubergrunt | Release notes
This release introduces a major feature of performing a rolling update on your EKS cluster. Specifically, this introduces the subcommand kubergrunt eks deploy
which can be used to rollout launch configuration changes in your EKS cluster. This command should be run after a terraform apply
has been made to update the launch configuration of the underlying ASG.
The command will then:
-
double the capacity of the specified ASG so that new instances will launch using the updated configuration
-
drain all the existing nodes in your cluster
-
detach and terminate the original nodes in your cluster, completing the roll out.
-
This release is not intended to be used in production, as core features of a production grade infrastructure are still missing. This is currently intended to be used for development and learning purposes so that you can plan out a migration to Gruntwork modules for managing EKS.
-
https://github.com/gruntwork-io/package-k8s/pull/31
Published: 12/21/2018 | Modules affected: eks-k8s-role-mapping, eks-cluster-control-plane | Release notes
-
eks-k8s-role-mapping
-
eks-cluster-control-plane
-
This release fixes a bug in eks-k8s-role-mapping
with Windows, where using python2.7 caused the data source to crash.
-
eks-cluster-control-plane
now includes a new variable kubernetes_version
to specify the platform version to use on the cluster.
-
Starting this release, this repository will include the following regions in the tests:
eu-central-1
ap-southeast-1
ap-southeast-2
ap-northeast-1
Published: 12/19/2018 | Modules affected: eks-k8s-role-mapping, kubergrunt | Release notes
This release supports Windows Powershell.
-
eks-k8s-role-mapping
-
kubergrunt
-
eks-k8s-role-mapping
is now tested and verified for Windows Powershell compatibility.
-
kubergrunt eks configure
will now create a new kubeconfig file if it does not exist
-
This release is not intended to be used in production, as core features of a production grade infrastructure are still missing. This is currently intended to be used for development and learning purposes so that you can plan out a migration to Gruntwork modules for managing EKS.
-
https://github.com/gruntwork-io/package-k8s/pull/37
Published: 12/19/2018 | Release notes
There are no changes to modules in this release. This release is a test of the circleci config
Published: 12/1/2018 | Modules affected: eks-k8s-role-mapping, kubergrunt, k8s-scripts, install-aws-iam-authenticator | Release notes
-
eks-k8s-role-mapping
-
kubergrunt
[New]
-
k8s-scripts
[Breaking Change]
-
install-aws-iam-authenticator
[Breaking Change]
-
eks-k8s-role-mapping
scripts are no longer baked into the PEX binary and instead loaded via the PYTHONPATH
.
-
New: This release introduces kubergrunt
, an encompassing tool that supports the configuration and management of a Kubernetes cluster. This command replaces both eks-configure-kubectl
and aws-iam-authenticator
by embedding the functionalities of those commands under different subcommands in kubergrunt
. By doing so, we cut out the dependency on the awscli and aws-iam-authenticator
, and so you only need to install this tool.
-
Breaking Change: k8s-scripts
has been completely rewritten. As a result, eks-configure-kubectl
is no longer provided as a stand alone script. Instead, it has been embedded into the new kubergrunt
CLI tool.
-
Breaking Change: aws-iam-authenticator
will no longer be provided as a part of this repo. You can use kubergrunt
instead, or install directly from the links in the official AWS documentation.
To upgrade to this version, install kubergrunt
by following the installation instructions.
Published: 12/20/2018 | Modules affected: server-group | Release notes
Published: 12/18/2018 | Modules affected: server-group | Release notes
-
server-group
-
Fix an issue where destroying a server-group
would cause the error Resource 'data.template_file.rolling_deployment' does not have attribute 'rendered' for variable 'data.template_file.rolling_deployment.rendered'
.
-
https://github.com/gruntwork-io/module-asg/pull/52
Published: 12/11/2018 | Modules affected: server-group | Release notes
Published: 12/17/2018 | Release notes
Added extra retry logic to application_deployer
Published: 12/14/2018 | Release notes
Added the zipped boto3 library for use in the current python scripts. This will be replaced later by pex rather than relying on the zip files and python path munging.
Published: 12/14/2018 | Release notes
This is needed because:
- It is cleaner to package up the implementation behind a module
- It's not possible to refer to the actual python script with a relative path based of of
path.module
so we actually need this code to be wrapped
Secondarily - change the bucket_id input to be a bucket_name input in the application version deployer. This will make it easier to use the module when something else is creating a bucket or if the bucket already exists as it will in the Houston self service template.
Published: 12/6/2018 | Release notes
This is a pre-release the introduces package-beanstalk: A series of modules to get apps up and running in elastic beanstalk.
The main modules are:
elasticbeanstalk-application
: A module for creating an Elastic Beanstalk application
elasticbeanstalk-environment
: A module for setting up the Elastic Beanstalk environment
The supporting modules are:
app-version
: A module that contains scripts that help upload release artifacts to Beanstalk as well as to deploy them
configuration-deployer
: A script to help apply configuration templates to the Elastic Beanstalk deployed application
iam-policies
: A Terraform module to configure IAM permissions used by Elastic Beanstalk.
See the main README for more information.
Published: 12/11/2018 | Modules affected: jenkins-server | Release notes
Published: 12/6/2018 | Modules affected: jenkins-server | Release notes
-
jenkins-server
-
The jenkins-server
module now exposes all the health check params via new parameters jenkins_protocol
, jenkins_deregistration_delay
, health_check_interval
, health_check_healthy_threshold
, health_check_unhealthy_threshold
, and health_check_timeout
. You can tweak these settings in case your Jenkins instance takes a long time to boot up.
-
https://github.com/gruntwork-io/module-ci/pull/80
Published: 12/13/2018 | Release notes
Postgres 10 on RDS uses a slightly different format for the default parameter group names. This resolves issue #55 where using the rds
module to create a Postgres 10 database would throw an error. This release also splits the RDS example into multiple examples for a variety of supported database engines.
Published: 12/11/2018 | Modules affected: lambda-cleanup-snapshots, lambda-copy-shared-snapshot, lambda-create-snapshot, lambda-share-snapshot | Release notes
-
lambda-cleanup-snapshots
-
lambda-copy-shared-snapshot
-
lambda-create-snapshot
-
lambda-share-snapshot
-
All of the snapshot management modules have been upgraded to package-lambda v0.5.0. This resolves the perpetual diff in the terraform plan
for the lambda functions.
-
https://github.com/gruntwork-io/module-data-storage/pull/68
Published: 12/6/2018 | Modules affected: lambda-cleanup-snapshots, lambda-copy-shared-snapshot, lambda-create-snapshot, lambda-share-snapshot | Release notes
-
lambda-cleanup-snapshots
-
lambda-copy-shared-snapshot
-
lambda-create-snapshot
-
lambda-share-snapshot
-
All of the snapshot management modules have been upgraded to package-lambda v0.4.0. This resolves the perpetual diff in the terraform plan
for IAM roles and policies. There is still a perpetual diff in the lambda functions.
-
https://github.com/gruntwork-io/module-data-storage/pull/67
Published: 12/8/2018 | Modules affected: ecs-cluster | Release notes
Published: 12/10/2018 | Modules affected: lambda, lambda_edge | Release notes
-
lambda
[Breaking Change]
-
lambda_edge
[Breaking Change]
-
Breaking Change: the lambda
and lambda_edge
modules no longer export the zip file to the source_dir
, but rather to the module path under the name ${var.name}-lambda.zip
. This is customizable using the zip_output_path
. You can set this to variable to ${var.source_dir}/lambda.zip
to get the old behavior.
-
This release fixes a bug where you could end up with a perpetual diff in the terraform plan, caused by zipping up the previous runs' archive file.
-
https://github.com/gruntwork-io/package-lambda/pull/28
Published: 12/6/2018 | Modules affected: lambda | Release notes
-
lambda
[Breaking Change]
-
Breaking Change: the lambda
module removes the wait_for
variable as it was not working as intended due to a limitation in terraform's use of depends_on
with data sources. Additionally, the implementation of wait_for
introduced a perpetual diff issue where the plan
would always detect a change. The removal of wait_for
fixes that.
To upgrade to this version, remove the wait_for
input parameter in all calls to the lambda
module.
Published: 12/20/2018 | Modules affected: sqs | Release notes
The sqs
module now exposes several new input parameters:
Published: 12/19/2018 | Modules affected: sqs | Release notes
Published: 12/11/2018 | Modules affected: install-mongodb | Release notes
Published: 12/17/2018 | Modules affected: cloudwatch-dashboard-metric-widget, cloudwatch-dashboard-text-widget | Release notes
-
cloudwatch-dashboard-metric-widget
-
cloudwatch-dashboard-text-widget
-
cloudwatch-dashboard-metric-widget
: The variables x_axis
and y_axis
are no longer compulsory, you can now omit them to achieve a fluid layout by leaving the CloudWatch dashboard UI to automatically position your widgets
-
cloudwatch-dashboard-text-widget
: The variables x_axis
and y_axis
are no longer compulsory, you can now omit them to achieve a fluid layout by leaving the CloudWatch dashboard UI to automatically position your widgets
To upgrade to this version, simply bump the value of the ref
parameter on your Terraform module source
argument to v0.10.2
Published: 12/4/2018 | Release notes
Published: 12/11/2018 | Modules affected: cloudtrail | Release notes
Published: 12/6/2018 | Modules affected: persistent-ebs-volume | Release notes
Published: 12/3/2018 | Modules affected: persistent-ebs-volume | Release notes