#airship (2018-11)
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/
2018-11-12

@maarten has joined the channel

set the channel description: Home of Airship ECS Modules ( https://github.com/blinkist/terraform-aws-airship-ecs-service )

@Erik Osterman (Cloud Posse) has joined the channel

@jamie has joined the channel

@jonboulle has joined the channel

set the channel description: Home of Airship ECS Modules ( https://github.com/blinkist/terraform-aws-airship-ecs-service / https://github.com/blinkist/terraform-aws-airship-ecs-cluster )

@Andriy Knysh (Cloud Posse) has joined the channel

Hi Everyone, welcome to the channel, thanks @Erik Osterman (Cloud Posse) ! Happy to help out Airship module users and to also discuss upcoming changes to the module here.

And happy to announce that the latest ECS Service 0.8.0 supports Cognito authentication, http to https redirection. and it can deal with ever changing task definitions by any external pipeline and still allows Terraform to modify the Environment Variables and/or cpu and mem.

@Nikola Velkovski has joined the channel

That’s really cool! Like the cognito integration. Should make it easier to expose staging apps

Exactly and drop nginx services with the sole purpose of providing a simple htaccess
2018-11-19

Need some ideas here:
So I’ve added a lambda for live task lookup to overcome the bootstrapping issue. But it seems that a lambda_invocation datasource works differently from a regular datasource.
We create a Taskdefinition with an image coming from the live_lookup module, when using a normal datasource, it will figure out that when the taskdefinition is the same as the current one and will not create a new one. But when using the lambda invocation as datasource for getting the current image, the plan already describes it will create a new task_definition no matter what. UGH!
Terraform module which creates an ECS Service, IAM roles, Scaling, ALB listener rules.. Fargate & AWSVPC compatible - blinkist/terraform-aws-airship-ecs-service

pfew, found the problem

I had a depends_on in the datasource to the lambda_function..

depends_on in datasources always force recreation..

so it all works now?

yeah

Do you think you can get Anatoli to take a look at the nodejs, if not I’ll have to find someone else

also, currently i’m creating the iam resources for the lambda in modules/iam, shall we leave it there or move it to the live_task_lookup

Maybe you can take another look at the logic itself in js

PR is out Jon, sorry that you need to go through Javascript code .. I’ve asked in the node subreddit and one guy with unknown seniority said the code was fine .
2018-11-21

Fellas! I’m adding Scheduled jobs to the module, callable with simple list block of multiple jobs. Cloudwatch event triggers an event which hits a lambda, lambda figures out what the current task definition of the service is and will run the command on there. Let me know if you have ideas or concerns.
I think I leave out the container env vars override as it’s too much hassle now, same with placement constraints, as they can be added later.
I’m currently creating a different iam role for this lambda, but I’m opting for using one role defined in the iam module instead.
ecs_scheduled_tasks = [{
job_name = "vacuum"
schedule_expression = "cron(0 12 * * ? *)"
command = "python vacuum_db.py"
container_envvars_override = "A=B;VAR2=C"
}]
Work in progress : https://github.com/blinkist/terraform-aws-airship-ecs-service/blob/ecs_scheduled_tasks/modules/ecs_scheduled_tasks/main.tf
Terraform module which creates an ECS Service, IAM roles, Scaling, ALB listener rules.. Fargate & AWSVPC compatible - blinkist/terraform-aws-airship-ecs-service
2018-11-22

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

hehe thanks @Erik Osterman (Cloud Posse)

funky
2018-11-23

so every time someone clicks on the word variables.tf on slack

If I drop the redirect I can probably just banner it annoyingly

Hahjaha

Good one Martin


need to find out what slack gets and what not

Are you going to build a Jekyll site?

what’s that ?

“Transform your plain text into static websites and blogs. “

variables.tf is probably a good site for a blog

But for airship, a nice project site would be nice with some samples

If you use Jekyll as a static site generator with GitHub Pages, you benefit from more support with setting up, updating, and troubleshooting your site. …

It’s the predominant way static sites for projects in GitHub are generated

Hundreds of templates out there

Do you have a favourite example of a project ?

It’s on my list of things to research. Plan to use our readme spec to generate static sites for all of our modules.


nice, i’ll have a look.. First have to find a way to get the README.md a bit more attractive in general

There is also https://pages.github.com/themes/
List of Jekyll themes supported by GitHub Pages

funnily enough readme.md does not trick slack

Is there a .md TLD?

Looks like there is!
2018-11-25


yea, that one is nice
2018-11-26

@jonboulle we now have merge commit set by default, shall we make it squash & merge ?

no strong opinion… I like merge commits for auditability and reverts but that only works with extremely strict commit diligence anyway

still no gif support here

0.8.2: Adding lambda_ecs_task_scheduler (#25) Init commit scheduled tasks
wip
ecs_scheduled_tasks update
small fixes
ecs_task_scheduler
ecs_scheduled_tasks clean up
Readme updates
fmt
Fix after PR Review
Terraform module which creates an ECS Service, IAM roles, Scaling, ALB listener rules.. Fargate & AWSVPC compatible - blinkist/terraform-aws-airship-ecs-service

yeah this can be better

After going through tons of jekyll examples, I think https://vuepress.vuejs.org which is what is powering https://www.runatlantis.io looks to be the least time intensive with the most powerful layout there.
Vue-powered Static Site Generator
Atlantis: Terraform For Teams

if considering just static site generation, did you consider Hugo?

The world’s fastest framework for building websites. - gohugoio/hugo

main reason to use Jekyll is it’s supported by GitHub without any CI/CD systems


(30K stars - very popular)

2018-11-27

yeah but CICD is really the least of our problems, so it’s not a decision maker. I was looking for a simple DOC Layout, with a side bar etc. and this looks I don’t need to spend much time on it which is exactly what I want : https://github.com/runatlantis/atlantis/tree/master/runatlantis.io
Terraform For Teams. Contribute to runatlantis/atlantis development by creating an account on GitHub.
2018-11-29

@jonboulle @jamie replied to your pr comments, if you have time to take a look .

Hi, thanks. Ill look later today.

https://aws.amazon.com/blogs/compute/introducing-aws-app-mesh-service-mesh-for-microservices-on-aws/

AWS App Mesh is a service mesh that allows you to easily monitor and control communications across microservices applications on AWS. You can use App Mesh with microservices running on Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Container Service for Kubernetes (Amazon EKS), and Kubernetes running on Amazon EC2. Today, App Mesh is available […]

requires awsvpc

think we built that in if there now only would be instances with a bit more eni capability ..

@davidvasandani has joined the channel
2018-11-30

Hi @davidvasandani !


Hello! Looking forward to installing Airship.

Cool, I’ve just started with https://airship.tf/getting_started/ let me know if you need some help.
Home of Terraform Airship

@geertn has joined the channel

@jamie Do you have that initial setup of the service registry again for me, slack history doesn’t show it anymore. Also in your original PR there are some things volume related which I will cover after service discovery.

Man… I gotta find someone at slack who can hook us up

I have seen they help some communities out

Good Morning Erik

What do you mean ?

Oh they can flip a flag and make us a “paid” community

Like Kubernetes slack

And some other teams I am on

AHHH gotcha, slack history

Oh yes - sorry not clear

yeah that would be nice to have some more history, they probably store it anyway

They do keep it

We just have to create a history bot to kinesis & s3

we’re in the process of setting up a public searchable archive

Slack is giving back to the Kubernetes and CNCF communities with free access as part of their not for profit program. We are also thrilled that they have extended their…

Aha, so that’s why…

0.8.3: NLB Services (#26) Network Load Balancing Support added for the ECS Module. The parameter load_balancing_type can be set to either “none”, “network” or “application” and takes care of attaching the related LB type.
Terraform module which creates an ECS Service, IAM roles, Scaling, ALB listener rules.. Fargate & AWSVPC compatible - blinkist/terraform-aws-airship-ecs-service

@jamie and another question, for a service to connect to other services in the service registry, it does not need to be registered to the registry itself, correct ?


set the channel topic: