#airship (2019-06)
Home of Airship ECS Modules ( https://github.com/blinkist/terraform-aws-airship-ecs-service / https://github.com/blinkist/terraform-aws-airship-ecs-cluster )
Archive: https://archive.sweetops.com/airship/
2019-06-03

airship is unlikely to work with 0.12 without a major overhaul. if you use lots of modules, wait a bit before switching to 0.12
2019-06-13

Added container secrets handling No content.
Terraform module which creates an ECS Service, IAM roles, Scaling, ALB listener rules.. Fargate & AWSVPC compatible - blinkist/terraform-aws-airship-ecs-service

It features secrets handling. As well as provides documentation and new examples for how to use it.



2019-06-25

I’m traumatized by some early experiences of tfstate gone wild and so I have some naive questions about the modules, particularly @jamie’s terraform-aws-airship-ecs-service … is the strategy to clone the repo and then create a terraform.tfvars
file with the settings I want? Or should I apply each of the preparation steps in sequence, finally culminating in a magnificent terraform apply
?

Hi Blaise.

So which terraform modules have you used in the past? Or is this the first one? @Blaise Pabon

The module is @maarten ‘s brainchild.

There’s a guide on how to use the module and all associates resources at http://airship.tf
Flexible Terraform templates help setting up your Docker Orchestration platform, resources 100% supported by Amazon

Can you tell me what you are using it for? I can hopefully help you with it further!

My hope is to host a number of apps (Jenkins, Jira, Artifactory, DockerEE, [webhook.site](http://webhook.site)
) for the folks at the office.

set up cognito for OAUTH

Thank you @jamie, I will go ahead and step through each of the preparation steps and build it up incrementally…. after all, it’s not on my dime!

Hi @jamie, well, I noticed that the example with_nlb
was beautifully done and easy to understand, so I ran it. The plan was clean, but when I applied, I got one small error (see https://paste.opennms.eu/vefilidemi.php for the full trace)

Error: Error applying plan:
1 error occurred:
* module.nlb_service.module.ecs_service.aws_ecs_service.app_with_lb: 1 error occurred:
* aws_ecs_service.app_with_lb: InvalidParameterException: The target group with targetGroupArn arn:aws:elasticloadbalancing:us-east-2:481444911553:targetgroup/showben-cluster-showben-echo-ser/5ffab9ae16044a32 does not have an associated load balancer.
status code: 400, request id: e6be16b8-39d1-4de6-89cb-1ab9a38ce734 "showben-echo-service"

Potentially the alb listener wasn’t created which causes that error.

I may have screwed up the container name somehow by changing the original project name, but not the container. I will try it with the original settings.

I’m getting a similar error myself. I will see if I can address it.

OK, my uninformed hunch is that I need to have bootstrap image in my ECR, but I imagine that would have appeared in the doc.

heeyyyy, what about this:
output "lb_address" {
value = "${aws_lb.this.dns_name}"
}

but then:

resource "aws_lb" "this" {
name = "${terraform.workspace}-service-nlb"

should that be
dns_name = "${terraform.worksp......

@jamie: I think I may have been useing the wrong profile. Sorry, it seems to be getting much farther.

Nope, still getting the LB error, despite getting farther…
* module.nlb_service.module.ecs_service.aws_ecs_service.app_with_lb: 1 error occurred:
* aws_ecs_service.app_with_lb: InvalidParameterException: The target group with targetGroupArn arn:aws:elasticloadbalancing:us-east-2:481444911553:targetgroup/default-cluster-default-echo-ser/adbaa6a3d9394315 does not have an associated load balancer.
status code: 400, request id: afbc5f21-0f94-4a0e-ba14-6a071ea52539 "default-echo-service"

I’m a google cloud child… https://github.com/blaisep/terraform-google-consul
A Terraform Module for how to run Consul on Google Cloud using Terraform and Packer - blaisep/terraform-google-consul

Modular Google Compute Engine managed instance group for Terraform. - blaisep/terraform-google-managed-instance-group

so I’m sure a lot of this is just me getting used to AWS.

You’re on the right track. I’ll be on from 9am est and can discuss your implementation with you if you like. It’s late for me now so I’m heading to bed. :)

Hi @jamie, I think it may be:
module.alb_shared_services_external.var.https_listeners: variable https_listeners in module alb_shared_services_external should be type list, got string

yup! The variable for should be an empty list, not an empty string.

` https_listeners = []`