digger icon indicating copy to clipboard operation
digger copied to clipboard

Replace terragrunt-atlantis-config with <something>

Open ZIJ opened this issue 1 year ago • 1 comments

We currently use a slightly modified version of the terragrunt-atlantis-config library for parsing of Terragrunt projects. This has several drawbacks:

  • It's slow. One user reported that parsing 1400 terragrunt projects (using Atlantis) takes more than 5 minutes
  • It doesn't respect dependencies. Same user reported that they have to raise multiple PRs in specific order to avoid errors. Atlantis solution: execution order groups

We probably need to move away from terragrunt-atlantis-config. But what to replace it with? A few options come to mind:

  • Treat each Terragrunt project as a "black box" - let Terragrunt manage it. But that would limit it to a single job; no concurrency, no scale for Terragrunt then - which kind of defies the purpose of solving the issue, because it's not going to be slow at small scale anyway and cross-project dependencies are unlikely to be a pressing problem
  • Contribute to Terragrunt to expose some kind of a "project status" api so that external tools could get the status of projects without actually running terragrunt commands
  • Use the existing graph-dependencies Terragrunt command
  • Build our own DAG parser using this lib or smth else

Related to:

  • https://github.com/diggerhq/digger/issues/962
  • https://github.com/diggerhq/digger/issues/924
  • https://github.com/diggerhq/digger/issues/402
  • https://github.com/diggerhq/digger/issues/791
  • https://github.com/diggerhq/digger/issues/424

Reported by the user C.D.

ZIJ avatar Feb 01 '24 17:02 ZIJ

In any case please keep the functionality of atlantis_extra_dependencies. We rely heavily on them.

norman-zon avatar May 15 '24 14:05 norman-zon

@ZIJ We have run into the dependency one. I noticed in the code it does look like it is attempting to use ExecutionOrderGroups now. Is part of this been implemented?

ben-of-codecraft avatar Oct 24 '24 21:10 ben-of-codecraft