4 ms·
If you’re familiar with Atlantis and think that this sounds similar - you’re right! They’ve also hired the Atlantis developer: https://medium.com/runatlantis/j
by mwarkentin 8y ago
If you’re familiar with Atlantis and think that this sounds similar - you’re right!
They’ve also hired the Atlantis developer: https://medium.com/runatlantis/joining-hashicorp-200ee9572dc5 https://medium.com/runatlantis/joining-hashicorp-200ee9572dc...
- lars_francke 8y agoI hadn't heard of Atlantis before, thank you. Very interesting. Do you happen to know of a self-service tool (CLI and/or Web UI) that allows us to do the following: Run these Ansible playbooks, then apply these Terraform modules, then run these Ansible... etc. We often have to build different environments for all kinds of use-cases (usually for testing, debugging or demonstration purposes). Two examples: We need a three node Kafka cluster on the Hetzner Cloud (Terraform + Ansible), we need a five node Elasticsearch cluster on AWS etc. For that we'd like to specify which Terraform modules to run with which variables, we then read the Terraform state file to generate an Ansible inventory and run a set of Ansible plays/roles.
- dkhenry 8y agoI usually accomplish that task indirectly by running Ansible first as a provisioner of Packer to create the images I need. Then I run terraform to deploy everything I have just created.
- orf 8y agoAirflow or Luigi could be what you are looking for.
- Bombthecat 8y agoMaybe use rundeck as a gui? Still a lot of custom code necessary though.
- fishnchips 8y agoAs a hobby project, I'm building a tool somewhat similar to Atlantis/TFE. It's free though not yet open source - https://docs.geopoiesis.io/manual https://docs.geopoiesis.io/manual. Not sure about your exact use case, but it's distributed as a Docker image and apart from Terraform it allows you to run arbitrary scripts (for example, `tflint`). We're using the project internally at Deliveroo, so it's production ready, but I haven't had the time to do all the proper open-source work around the landing page, and the documentation is still a bit meh. Still, give me a shout (email in my profile) if it ticks your box, and I'm happy to help you get started.
- lars_francke 8y agoThanks! I've put it on my list of things to look at. It doesn't exactly fit our use-case but it still might be interesting for us. Also thank you very much for the offer of help.
- sciurus 8y agoWe have a custom python tool that does something similar, except for terraform and kubectl. This is the sort of thing where you probably have to write it from scratch to match your workflow, but it should end up ~500 LOC in your favorite scripting language. Then we wrap that tool in jenkin pipelines so we can easily trigger it in response to events like code being pushed.
- lars_francke 8y agoThat's what we ended up doing, yes. It's simple but works for us. Every time we want to add a new feature I think that there must be something like this out there already...
- kokey 8y agoI've been using Makefiles for that, and a plenty of parameters like REGION=us-north-2 NODES=5 etc. This is run from a dedicated shell server.
- manojlds 8y agoIt's there in the article.