Skip to content
This repository was archived by the owner on Feb 10, 2026. It is now read-only.

0.31.0

Choose a tag to compare

@joshmyers joshmyers released this 17 Jan 14:24
[ecs] Add fargate cluster with atlantis task (#91)

* Add support for ECS with atlantis

* Rename ALB related variables

To make it more obvious what they are for.

* Don’t pass in an ACM certificate var, we create it

So use the arn from the acm_request_certificate module

* Add missing limit_availability_zones var

I’m not 100% on the intent of this code given that it was not using
the number provided, but if any non empty string is given to the
limit_availbility_zones variable e.g. “foo”, we would end up with a
hardcoded 2 AZs. Likely due to terrible Terraform types.

* Add description to atlantis_repo_name var

* Atlantis healthcheck URL is `/healthz` 

and is non configurable so we can just default to it.

* Add Atlantis policy ARN

This is the role that Atlantis will assume in order to run Terraform, so
we give it full admin access.

* Remove spurious reference of label module

* Fixup Atlantis assume role

Add ECS as an identifier and remove reference to kops master role ARN
as this isn’t used when deploying to ECS.

* Add Atlantis SSM Parameters

These parameters will be exported into the Atlantis server process using
chamber.

It is left up to the user to manually add the ATLANTIS_GH_TOKEN variable
into the SSM parameter store. It should be added to the atlantis chamber
service prefix parameter e.g. If using the default values for this
module `/atlantis/atlantis_gh_token`

* Use aws-acm-request-certificate 0.1.1

0.2.2 is broken.

* Remove attributes, they are pushing name limits...

...over the 32 character limit causing:

`Error: module.atlantis_web_app.module.alb_ingress.aws_lb_target_group.default:"name" cannot be longer than 32 characters`

`Error: module.alb.aws_lb_target_group.default: "name" cannot be longer than 32 characters`

ELB names and quite a lot of other resources have a 32 character limit
which we are hitting.

* Update VPC CIDR to a `/16` rather than `/12`

So we don’t get the below error:

```
Error: module.vpc.aws_vpc.default: expected "cidr_block" to contain a network CIDR with between 16 and 28 significant bits, got: 12
```

* Add the AZ data source

It is required in the local block to figure out the 
max_availability_zones

* Successful apply

* Upgrade modules

* First working version of ECS task

* Format

* Automatically register webhooks

* Add envs and ssh key

* finished implementing webhooks

* Pin ecs-web-app module to 0.11.0 release

add-params has been merged and 0.11.0 release cut.

* Allow lookup of Github OAuth token via SSM

If the `github_oauth_token` is not provided, an attempt is made to look
it up via SSM data provider. If we do explicitly pass the token into
Terraform as a variable, this value is written to the SSM param store.

The SSM key that we look for (or write) can be overridden by passing
`github_oauth_token_ssm_name` which defaults to:
`format(var.atlantis_chamber_format, var.atlantis_chamber_service, "atlantis_gh_token”`

* terraform fmt

* Extract atlantis.tf info own module

* Add ECS root module Makefile

* terraform fmt