explaingit

runatlantis/atlantis

9,072GoAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

Atlantis is a self-hosted server that automates Terraform infrastructure changes through pull requests, posting plan results as comments so your whole team can review before anything is applied to your cloud.

Mindmap

mindmap
  root((Atlantis))
    What it does
      Automate Terraform
      PR-based workflow
      Post plan comments
    Integrations
      GitHub
      GitLab
      Bitbucket
    Use Cases
      Infra review in PRs
      Team collaboration
      Audit trail
    Setup
      Go binary
      Self-hosted server
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Automate Terraform plan and apply through pull requests so the whole team can review infrastructure changes before they go live.

USE CASE 2

Give developers without cloud credentials visibility into exactly what a code change will create, modify, or delete in your infrastructure.

USE CASE 3

Replace manual Terraform runs with a pull-request-driven workflow that creates an auditable record alongside the code change that triggered it.

Tech stack

GoTerraform

Getting it running

Difficulty · hard Time to first run · 1h+

Requires an existing Terraform setup, a cloud provider account, and a configured webhook from your Git host pointing to the Atlantis server.

In plain English

Atlantis is a self-hosted server application that automates Terraform workflows through pull requests on GitHub, GitLab, or Bitbucket. Terraform is a tool that infrastructure teams use to describe and manage cloud resources (servers, databases, networking rules, and so on) using code files. Atlantis sits between your code repository and Terraform, listening for changes and running Terraform commands on your behalf. The way it works is straightforward. When a developer opens a pull request that touches Terraform configuration files, Atlantis automatically runs a plan, which is Terraform's way of calculating what would change in your infrastructure if the code were applied. It then posts the results of that plan as a comment directly on the pull request, so anyone reviewing the change can see exactly what infrastructure will be created, modified, or deleted before approving. Once the pull request is reviewed and approved, a team member can trigger the actual apply, which carries out those changes, again from within the pull request itself. The whole flow keeps infrastructure changes visible to the entire team and recorded in the same place as the code change that caused them. The main benefit the project highlights is making infrastructure changes accessible to engineers who are not specialists in operations or cloud management. Because the plan output appears as a pull request comment, anyone on the team can understand what a change does without needing to run Terraform commands themselves or have direct access to cloud credentials. Atlantis is written in Go and is distributed as a standalone binary. Documentation and a getting-started guide are available at runatlantis.io. Community support is available through the CNCF Slack workspace.

Copy-paste prompts

Prompt 1
Help me write an atlantis.yaml configuration file that defines separate Terraform workspaces for staging and production with different approval requirements for each.
Prompt 2
I'm setting up Atlantis on a self-hosted VM. Walk me through connecting it to a GitHub repository and triggering the first Terraform plan on a pull request.
Prompt 3
Write a Terraform module with a project structure compatible with Atlantis that provisions an S3 bucket with versioning and lifecycle rules enabled.
Prompt 4
Explain how Atlantis handles concurrent pull requests that modify the same Terraform state file and how to configure workspace locking to prevent conflicts.
Open on GitHub → Explain another repo

← runatlantis on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.