finds.dev← search

// the find

gaia-app/gaia

★ 1,081 · Java · MPL-2.0 · updated Mar 2023

Gaia is a Terraform 🌍 UI for your modules, and self-service infrastructure 👨‍💻

Gaia is a self-hosted web UI that sits on top of Terraform modules, letting a platform team expose pre-built infrastructure modules to other developers through a form-based plan/apply/destroy workflow instead of the CLI. It's aimed at orgs wanting self-service infra without handing everyone raw Terraform access.

The job lifecycle (plan/apply/destroy, pending/started/failed/finished) is modeled as an explicit state machine in stacks/workflow/state rather than status flags scattered through the code. It ships its own ANTLR grammar for HCL (hcl.g4 + HclParserImpl.kt) to extract and validate variables, which is a more honest approach than regex-scraping .tf files. Credential and registry backends (GitHub, GitLab, Vault-backed AWS) are behind abstract base classes, so adding a provider doesn't mean touching core logic. The Java/Kotlin split looks deliberate rather than a stalled migration - Kotlin is used for newer, smaller modules.

No commits since March 2023, so it predates several Terraform major versions and any security patching since - the Dependabot badge is just decoration at this point. It needs direct docker daemon access to actually run Terraform, which means handing the app (and anyone who compromises it) a path to root on the host in most default docker setups. The MongoDB requirement is pinned to 4.0 specifically, which is long past EOL. Frontend is Vue 2 + Bootstrap-Vue, both dead upstream, so adopting this now means inheriting an unmaintained stack on both ends.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →