Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";

<VersionBadge repoTitle="Auto Scaling Group Modules" version="0.21.5" lastModifiedVersion="0.21.1"/>
<VersionBadge repoTitle="Auto Scaling Group Modules" version="0.21.6" lastModifiedVersion="0.21.1"/>

# Auto Scaling Group Module with Instance Refresh

<a href="https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-instance-refresh" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
<a href="https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-instance-refresh" className="link-button" title="View the source code for this module in GitHub.">View Source</a>

<a href="https://github.com/gruntwork-io/terraform-aws-asg/releases/tag/v0.21.1" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>

Expand Down Expand Up @@ -89,7 +89,7 @@ The Terraform [instance_refresh](https://registry.terraform.io/providers/hashico

module "asg_instance_refresh" {

source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/asg-instance-refresh?ref=v0.21.5"
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/asg-instance-refresh?ref=v0.21.6"

# ----------------------------------------------------------------------------------------------------
# REQUIRED VARIABLES
Expand Down Expand Up @@ -218,7 +218,7 @@ module "asg_instance_refresh" {
# ------------------------------------------------------------------------------------------------------

terraform {
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/asg-instance-refresh?ref=v0.21.5"
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/asg-instance-refresh?ref=v0.21.6"
}

inputs = {
Expand Down Expand Up @@ -648,11 +648,11 @@ A maximum duration that Terraform should wait for the EC2 Instances to be health
<!-- ##DOCS-SOURCER-START
{
"originalSources": [
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-instance-refresh/readme.md",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-instance-refresh/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-instance-refresh/outputs.tf"
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-instance-refresh/readme.md",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-instance-refresh/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-instance-refresh/outputs.tf"
],
"sourcePlugin": "module-catalog-api",
"hash": "7ae8e3a9b886514bb38970cacd785aa5"
"hash": "dd47a58735c1e4bec697d1a24e8209a6"
}
##DOCS-SOURCER-END -->
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";

<VersionBadge repoTitle="Auto Scaling Group Modules" version="0.21.5" lastModifiedVersion="0.21.2"/>
<VersionBadge repoTitle="Auto Scaling Group Modules" version="0.21.6" lastModifiedVersion="0.21.2"/>

# Auto Scaling Group with Rolling Deployment Module

<a href="https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-rolling-deploy" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
<a href="https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-rolling-deploy" className="link-button" title="View the source code for this module in GitHub.">View Source</a>

<a href="https://github.com/gruntwork-io/terraform-aws-asg/releases/tag/v0.21.2" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>

Expand Down Expand Up @@ -56,7 +56,7 @@ update your launch templates (e.g. by specifying a new AMI to deploy), Terraform
Note that if all we did was use `create_before_destroy`, on each redeploy, our ASG would reset to its hard-coded
`desired_capacity`, losing the capacity changes from auto scaling policies. We solve this problem by using an
[external data source](https://www.terraform.io/docs/providers/external/data_source.html) that runs the Python script
[get-desired-capacity.py](https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-rolling-deploy/describe-autoscaling-group/get-desired-capacity.py) to fetch the latest value of the
[get-desired-capacity.py](https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-rolling-deploy/describe-autoscaling-group/get-desired-capacity.py) to fetch the latest value of the
`desired_capacity` parameter:

* If the script finds a value from an already-existing ASG, we use it, to ensure that the changes form auto scaling
Expand All @@ -77,7 +77,7 @@ Note that if all we did was use `create_before_destroy`, on each redeploy, our A

module "asg_rolling_deploy" {

source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/asg-rolling-deploy?ref=v0.21.5"
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/asg-rolling-deploy?ref=v0.21.6"

# ----------------------------------------------------------------------------------------------------
# REQUIRED VARIABLES
Expand Down Expand Up @@ -185,7 +185,7 @@ module "asg_rolling_deploy" {
# ------------------------------------------------------------------------------------------------------

terraform {
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/asg-rolling-deploy?ref=v0.21.5"
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/asg-rolling-deploy?ref=v0.21.6"
}

inputs = {
Expand Down Expand Up @@ -543,11 +543,11 @@ A maximum duration that Terraform should wait for the EC2 Instances to be health
<!-- ##DOCS-SOURCER-START
{
"originalSources": [
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-rolling-deploy/readme.md",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-rolling-deploy/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-rolling-deploy/outputs.tf"
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-rolling-deploy/readme.md",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-rolling-deploy/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-rolling-deploy/outputs.tf"
],
"sourcePlugin": "module-catalog-api",
"hash": "8700703a4b1c64ed074a00a464b9585d"
"hash": "3b7e020549e9f2030bd197f5abd59a6d"
}
##DOCS-SOURCER-END -->
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";

<VersionBadge repoTitle="Auto Scaling Group Modules" version="0.21.5" lastModifiedVersion="0.21.5"/>
<VersionBadge repoTitle="Auto Scaling Group Modules" version="0.21.6" lastModifiedVersion="0.21.6"/>

# Server Group Module

<a href="https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/server-group" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
<a href="https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/server-group" className="link-button" title="View the source code for this module in GitHub.">View Source</a>

<a href="https://github.com/gruntwork-io/terraform-aws-asg/releases/tag/v0.21.5" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
<a href="https://github.com/gruntwork-io/terraform-aws-asg/releases/tag/v0.21.6" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>

This module allows you to run a fixed-size cluster of servers that can:

Expand All @@ -37,7 +37,7 @@ Scaling Group (ASG).

## Quick start

Check out the [server-group examples](https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/examples/server-group) for sample code that demonstrates how to use this module.
Check out the [server-group examples](https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/examples/server-group) for sample code that demonstrates how to use this module.

## Background

Expand All @@ -50,7 +50,7 @@ Check out the [server-group examples](https://github.com/gruntwork-io/terraform-
The first question you may ask is, how is this different than an [Auto Scaling Group
(ASG)](http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroup.html)? While an ASG does allow you to
run a cluster of servers, automaticaly replace failed servers, and do zero-downtime deployment (see the
[asg-rolling-deploy module](https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/asg-rolling-deploy)), attaching ENIs and EBS Volumes to servers in an ASG is very
[asg-rolling-deploy module](https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/asg-rolling-deploy)), attaching ENIs and EBS Volumes to servers in an ASG is very
tricky:

1. Using ENIs and EBS Volumes with ASGs is not natively supported by Terraform. The
Expand Down Expand Up @@ -87,7 +87,7 @@ The solution used in this module is to:

The server-group module will perform a zero-downtime, rolling deployment every time you make a change to the code and
run `terraform apply`. This deployment process is implemented in a Python script called
[rolling_deployment.py](https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/server-group/rolling-deploy/rolling_deployment.py) which runs in a [local-exec
[rolling_deployment.py](https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/server-group/rolling-deploy/rolling_deployment.py) which runs in a [local-exec
provisioner](https://www.terraform.io/docs/provisioners/local-exec.html).

Here is how it works:
Expand Down Expand Up @@ -147,7 +147,7 @@ module in your Terraform code:

module "server_group" {

source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/server-group?ref=v0.21.5"
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/server-group?ref=v0.21.6"

# ----------------------------------------------------------------------------------------------------
# REQUIRED VARIABLES
Expand Down Expand Up @@ -311,6 +311,9 @@ module "server_group" {
# the default aws/ebs AWS managed key.
kms_key_id = ""

# Configure the tag specifications for the Launch Template.
launch_template_tag_specifications = []

# The number of extra Elastic Network Interfaces (ENIs) to create for server. Each
# ENI is an IP address that will remain static, even if the underlying server is
# replaced. Each ENI and server pair will get matching tags with a name of the
Expand Down Expand Up @@ -422,7 +425,7 @@ module "server_group" {
# ------------------------------------------------------------------------------------------------------

terraform {
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/server-group?ref=v0.21.5"
source = "git::git@github.com:gruntwork-io/terraform-aws-asg.git//modules/server-group?ref=v0.21.6"
}

inputs = {
Expand Down Expand Up @@ -589,6 +592,9 @@ inputs = {
# the default aws/ebs AWS managed key.
kms_key_id = ""

# Configure the tag specifications for the Launch Template.
launch_template_tag_specifications = []

# The number of extra Elastic Network Interfaces (ENIs) to create for server. Each
# ENI is an IP address that will remain static, even if the underlying server is
# replaced. Each ENI and server pair will get matching tags with a name of the
Expand Down Expand Up @@ -1054,6 +1060,22 @@ The ARN for the KMS encryption key. When encrypted is set to true, this kms_key_
<HclListItemDefaultValue defaultValue="&quot;&quot;"/>
</HclListItem>

<HclListItem name="launch_template_tag_specifications" requirement="optional" type="list(any)">
<HclListItemDescription>

Configure the tag specifications for the Launch Template.

</HclListItemDescription>
<HclListItemTypeDetails>

```hcl
Any types represent complex values of variable type. For details, please consult `variables.tf` in the source repo.
```

</HclListItemTypeDetails>
<HclListItemDefaultValue defaultValue="[]"/>
</HclListItem>

<HclListItem name="num_enis" requirement="optional">
<HclListItemDescription>

Expand Down Expand Up @@ -1288,11 +1310,11 @@ Other modules can depend on this variable to ensure those modules only deploy af
<!-- ##DOCS-SOURCER-START
{
"originalSources": [
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/server-group/readme.md",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/server-group/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.5/modules/server-group/outputs.tf"
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/server-group/readme.md",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/server-group/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-asg/tree/v0.21.6/modules/server-group/outputs.tf"
],
"sourcePlugin": "module-catalog-api",
"hash": "f51315be14d8dde1a71986861ad78b38"
"hash": "1ba2e87f1c6c2e54e7c7d9a3083b73d9"
}
##DOCS-SOURCER-END -->
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";

<VersionBadge repoTitle="CI Modules" version="0.51.8" lastModifiedVersion="0.50.11"/>
<VersionBadge repoTitle="CI Modules" version="0.52.1" lastModifiedVersion="0.50.11"/>

# AWS Helpers

<a href="https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/aws-helpers" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
<a href="https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/aws-helpers" className="link-button" title="View the source code for this module in GitHub.">View Source</a>

<a href="https://github.com/gruntwork-io/terraform-aws-ci/releases/tag/v0.50.11" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>

Expand Down Expand Up @@ -45,11 +45,11 @@ dependencies:
<!-- ##DOCS-SOURCER-START
{
"originalSources": [
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/aws-helpers/readme.md",
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/aws-helpers/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/aws-helpers/outputs.tf"
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/aws-helpers/readme.md",
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/aws-helpers/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/aws-helpers/outputs.tf"
],
"sourcePlugin": "module-catalog-api",
"hash": "2cbacc8014421505b84d3fef2fc4180e"
"hash": "d3bab32ce92fe09884b0d7737cf7770a"
}
##DOCS-SOURCER-END -->
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";

<VersionBadge repoTitle="CI Modules" version="0.51.8" lastModifiedVersion="0.50.11"/>
<VersionBadge repoTitle="CI Modules" version="0.52.1" lastModifiedVersion="0.50.11"/>

# Build Helpers

<a href="https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/build-helpers" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
<a href="https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/build-helpers" className="link-button" title="View the source code for this module in GitHub.">View Source</a>

<a href="https://github.com/gruntwork-io/terraform-aws-ci/releases/tag/v0.50.11" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>

Expand Down Expand Up @@ -72,7 +72,7 @@ job using the [Jenkins Parameterized Trigger
Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin). The `deploy-app` CI job, in turn,
would be a [parameterized build](https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build) that takes as input
a parameter called `ARTIFACT_ID` (the same parameter name that's in the `artifacts.properties` file) and use it, along
with the scripts in the [terraform-helpers module](https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/terraform-helpers) to automatically deploy the new AMI:
with the scripts in the [terraform-helpers module](https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/terraform-helpers) to automatically deploy the new AMI:

```bash
cd templates
Expand Down Expand Up @@ -187,11 +187,11 @@ Note that the following conditions must be true in order to use this feature:
<!-- ##DOCS-SOURCER-START
{
"originalSources": [
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/build-helpers/readme.md",
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/build-helpers/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.51.8/modules/build-helpers/outputs.tf"
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/build-helpers/readme.md",
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/build-helpers/variables.tf",
"https://github.com/gruntwork-io/terraform-aws-ci/tree/v0.52.1/modules/build-helpers/outputs.tf"
],
"sourcePlugin": "module-catalog-api",
"hash": "5ec38d413aa6a19a70bff646917cb9e5"
"hash": "20b05a62e10e53785d4e993280f9a979"
}
##DOCS-SOURCER-END -->
Loading