Releases: gruntwork-io/bash-commons
v0.2.2
v0.2.1
v0.2.0
Modules affected
bash-commons
Description
Update to use IMDSv2 by default (still supports manually setting v1 if needed)
IMPORTANT
There is a bug modules/bash-commons/src/aws.sh
that will result in an unbound variable error if GRUNTWORK_BASH_COMMONS_IMDS_VERSION is undefined. This is fixed in v0.2.1.
v0.1.9
Modules affected
log.sh
Description
Added convenience function for echo-ing to stderr
.
v0.1.8
Modules affected
aws.sh
Description
Introduce support for AWS Instance Metadata Service (IMDS) Version 2. These changes are fully backward compatible, and bash-commons
continues to default to Version 1 of the Instance Metadata Service.
You can override the version of IMDS that bash-commons contacts by setting the following environment variable:
GRUNTWORK_BASH_COMMONS_IMDS_VERSION="2"
bash-commons
will continue to default to IMDSv1 until we have migrated all our dependent modules to use version 2. Once this migration is complete, we will issue another release that updates bash-commons to use IMDSv2 by default.
For more information on the differences between Instance Metadata Service Versions 1 and 2 see here.
v0.1.7
v0.1.6
v0.1.5
v0.1.4
Modules affected
aws-wrapper.sh
Description
- Added a new
aws_wrapper_get_asg_rally_point
function that can calculate a "rally point" instance in an Auto Scaling Group (ASG) and return its hostname. This is a deterministic way for the instances in an ASG to all pick the same single instance to perform some action: e.g., this instance could become the leader in a cluster or run some initialization script that should only be run once for the entire ASG. Under the hood, this method picks the instance in the ASG with the earliest launch time; in the case of ties, the instance with the earliest instance ID (lexicographically) is returned.
Special thanks
- Thank you to @yardbirdsax for the contribution!
Related links
v0.1.3
Modules affected
dynamic-ubuntu-wait.sh
[NEW]
Description
Introduce a new helper script that can be used to wait for apt locks to be released. This is useful in infrastructure setup scripts (e.g. packer
) where the nodes may start updating the packages as it is booting, preventing you from interacting with apt
.