Atlantis is a self-hosted Go application that automates Terraform and OpenTofu workflows triggered by pull request events. It listens for webhooks from GitHub, GitLab, Bitbucket Cloud/Server, Azure DevOps, and Gitea, then executes Terraform commands (plan, apply, import, state rm, version) and reports results via PR comments and commit statuses. The system enforces approval, mergeability, and policy requirements, supports drift detection and remediation, and provides a web UI for lock management and streaming logs. The architecture is a monolithic server with modular components: HTTP controllers for webhook handling, command runners for orchestrating workflows, step runners for individual Terraform operations, VCS client abstractions for multi-provider support, and pluggable persistence (BoltDB embedded, optional Redis, S3 for plan storage). Configuration is layered via server-side YAML, repo-level atlantis.yaml, and CLI flags. Key entry points include main.go (CLI), cmd/server.go (server command), server/controllers/events/events_controller.go (webhook dispatcher), and server/events/command_runner.go (command orchestration). External dependencies include Terraform/OpenTofu binaries, Conftest for policy checks, VCS APIs, and optional Redis/S3. The codebase demonstrates strong engineering practices with extensive unit/integration/e2e tests, instrumentation for metrics, structured logging, and security-conscious design (webhook signature validation, path traversal prevention, shell injection mitigation). While the project is actively maintained, technical drift is medium due to large dependency surface, mock generation sprawl, and complex VCS integration parity.
Digger (now OpenTaco) is an infrastructure-as-code orchestration platform that automates Terraform, OpenTofu, Terragrunt, and Pulumi workflows within existing CI/CD pipelines. The system provides PR-level automation (plan/apply comments), drift detection, policy-as-code via OPA, and an optional Terraform Enterprise-compatible state management and remote execution layer. It integrates with GitHub, GitLab, Bitbucket, Azure DevOps, and Buildkite through webhooks and CI backends. The architecture is a multi-service monorepo: a Go backend (Gin/GORM) handles webhooks, job scheduling, and a web UI; a separate CLI tool (cobra) runs directly in CI; a drift detection service with cron scheduling; a sandbox sidecar (TypeScript/Node) for remote execution; and the Taco service (Echo) that reimplements TFE APIs for state management, RBAC, and run execution. The UI is a React/TanStack Router app with WorkOS authentication. The codebase is actively maintained with frequent releases, extensive SQL migrations, Helm charts for Kubernetes deployment, and dual open-core and enterprise (ee/) feature sets.