atlantis
terragrunt-atlantis-config
atlantis | terragrunt-atlantis-config | |
---|---|---|
121 | 8 | |
7,319 | 565 | |
1.4% | 2.8% | |
9.7 | 7.8 | |
6 days ago | 4 days ago | |
Go | HCL | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
atlantis
-
OpenTofu 1.7.0 is out with State Encryption, Dynamic Provider-defined Functions
None of these are a replacement of Terraform Cloud (recently rebranded to HCP Terraform). For example, when you create a PR, it could affect multiple workspaces. The new experimental version of TFC/TFE (I refuse to call it HCP!) implements Stacks, which is something like a workflow, and links one workspace output to other workspace inputs. None of the open-source solutions, including the paid Digger [0], support this - only the paid one, such as Spacelift [1] (which is the closest to TFC if you ask me). Having a monorepo of Terraform is a common design pattern, so, if I change an embedded module, it could trigger changes it many workspaces. As far as I know, Atlantis [2] can't really help in this case.
By the way, the reason I singled-out Spacelift is due to its quality, and the great Terraform provider it has. Scalr [3], for example, has a really low-quality Terraform provider. I extensively use the hashicorp/tfe provider to manage TFC itself.
[0]: https://digger.dev/
[1]: https://spacelift.io/
[2]: https://www.runatlantis.io/
[3]: https://www.scalr.com/
-
Terramate meets Atlantis 🚀
Atlantis is a pull request automation tool that works well with plain Terraform right away. But what if we're already using Terramate to generate Terraform code?
-
Top Terraform Tools to Know in 2024
Atlantis automates reviewing and deploying Terraform via pull requests, streamlining collaboration and ensuring consistency across Terraform deployments.
-
Stop Squinting at IaC Templates: Preview Diffs for Argo CD, Terraform, and more!
For example, Atlantisgo for Terraform, Zapier’s Kubechecks for Argo CD, Quizlet’s GitHub action all do something similar to this. But a generic, extensible tool for IaC providers doesn’t seem to exist. Additionally, many of them require exposing your Kubernetes cluster or other infrastructure to third-party access, webhooks, etc.
-
Self-service infrastructure as code
Our first attempt was to introduce other engineering teams to Terraform - the Platform team was already using it extensively with Terragrunt, and using Atlantis to automate plan and apply operations in a Git flow to ensure infrastructure was consistent. We'd written modules, with documentation, and an engineer would simply need to raise a PR to use the module and provide the right values, and Atlantis (once the PR was approved by Platform) would go ahead and set it up for them.
-
Seamless Cloud Infrastructure: Integrating Terragrunt and Terraform with AWS
Alternatively, you can look at solutions like Atlantis or spacelift.
-
What is the equivalent of docker-compose for terraform?
Atlantis: https://www.runatlantis.io/
-
Version of terraform binary cli does it include in the container
Looking at the commits at https://github.com/runatlantis/atlantis, it looks like 1.6.5. Am I right?
-
Terraform Cloud Pricing Changes Sticker Shock
We use Atlantis [0] for CI/CD automation of Terraform pull requests to a centralized repository. It's pretty good too, especially for a self-hosted solution. I can't see how Terraform Cloud's costs would be justifiable for us without a custom contract.
[0] https://www.runatlantis.io/
- Atlantis claims exemption from new HashiCorp license
terragrunt-atlantis-config
-
Pulumi Insights – AI generated IaC programs
I've also made the switch from managing a few thousand Terraform modules to handling most app-code things in Pulumi and have run into some of these limitations.
With Terraform + Terragrunt + Atlantis, we created https://github.com/transcend-io/terragrunt-atlantis-config and had an extremely robust and easy to use flow for updating all infra code.
We've since moved to an approach where more of our infra/security things are managed in Terraform (like Guardduty, SSO, Github repo settings, etc.) maintained by more devops folks, and our app code is mostly in Pulumi (lambdas, Fargate, CloudFront/CloudFlare CDNs, etc.). To accomplish this without something like Atlantis, we moved the app code infra deployments from being deployed continuously pre-merge via Atlantis to being deployed via `pulumi up` calls in our normal CI flows, so like right next to where we build the docker images and restart ECS services, as an example.
Overall I actually really love this flow. It is so, so much easier to create multi-regional infra in Pulumi with a quick for loop, and it's also much easier to do things like run esbuild over our code in typescript, and then bundle the output of that call and send it up to a Lambda function all from pulumi/typescript without needing separate build steps or to do things like using terragrunt pre-hooks or Docker build steps inside terraform provisioners, which I always found slow and clunky.
I would agree that Pulumi's plans are a disappointment though, exactly as you said.
Overall I've been happy with the change, and we've seen some improvements I think in the velocity that developers can launch services that meet our requirements.
-
Any examples of Terragrunt used in Github Actions?
I recommend atlantis with terragrunt-atlantis-config.
- Atlantis with Terragrunt
-
Error on terragrunt-atlantis-config on project generation
I know this is a bit too specific, it is about the ` terragrunt-atlantis-config tool, but in case anyone has come across this issue any help would be highly appreciated.
-
Do you use Atlantis for Terraform dev collaboration?
I've managed to make it work but it was really hard for me to set it up correctly. My biggest issue was that I didn't want every Terragrunt module to be run when I've opened a PR. Have a look at this project which helped me to run only the modules witch changes in every PR. Note that, I last used Atlantis a year ago so I don't know if they recently made changes for better Terragrunt support.
- Automating AWS Organizations & Best practices around using CI/CD for IaaC deployments
- Enhancing the Terraform Experience: Why we use Terragrunt
-
Terragrunt — Becoming one with its internal behaviors
The most recent release of Atlantis includes a new feature that allows you to register a hook before atlantis reads its atlantis.yaml config. You can now dynamically build your atlantis.yaml file in the atlantis itself. I think using something like terragrunt-atlantis-config can make working with terragrunt easier.
What are some alternatives?
terraform-github-actions - Terraform GitHub Actions
terragrunt-infrastructure-live-example - A repo used to show examples file/folder structures you can use with Terragrunt and Terraform
argo-cd - Declarative Continuous Deployment for Kubernetes
terraform-aws-ecs-atlantis - Terraform module for deploying Atlantis as an ECS Task
backstage - Backstage is an open platform for building developer portals
terraform-aws-atlantis - Terraform module to deploy Atlantis on AWS Fargate 🇺🇦
terragrunt - Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
org-formation-cli - Better than landingzones!
Pulumi - Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀
modules.tf-demo - Real modules.tf demo (updated May 2021)
tfsec - Security scanner for your Terraform code [Moved to: https://github.com/aquasecurity/tfsec]
terraform-starter - Starter repository to play with Spacelift