Files
atlantis/runatlantis.io/docs/requirements.md
Luke Kysow ca58ebd7e0 Autodownload tf versions. Add --default-tf-version.
This changeset has two features:
1. We now automatically download the version of terraform specified in
atlantis.yaml configs if we don't already have that version available
locally.

2. Add a new --default-tf-version flag that allows users to set a
default version of Terraform that we will also download if it's not on
disk.

These mean that users don't need to build custom Docker images to just
add terraform versions. It also means that upgrading the version of
terraform that is packaged with the Atlantis Docker image won't cause
issues for existing users because as long as they're running with
--default-tf-version, Atlantis will always use that version.
2019-03-14 13:51:27 -05:00

2.7 KiB

Requirements

Atlantis works with most Git hosts and Terraform setups. Read on to confirm it works with yours.

toc

Git Host

Atlantis integrates with the following Git hosts:

  • GitHub (public, private or enterprise)
  • GitLab (public, private or enterprise)
  • Bitbucket Cloud aka bitbucket.org (public or private)
  • Bitbucket Server aka Stash

Terraform State

Atlantis supports all backend types except for local state. We don't support local state because Atlantis does not have permanent storage and it doesn't commit the new statefile back to version control.

:::tip If you're looking for an easy remote state solution, check out free remote state storage from Terraform Enterprise. This is fully supported by Atlantis. :::

Repository Structure

Atlantis supports any Terraform repository structure, for example:

Single Terraform project at repo root

.
├── main.tf
└── ...

Multiple project folders

.
├── project1
│   ├── main.tf
|   └── ...
└── project2
    ├── main.tf
    └── ...

Modules

.
├── project1
│   ├── main.tf
|   └── ...
└── modules
    └── module1
        ├── main.tf
        └── ...

With modules, if you want project1 automatically planned when module1 is modified you need to create an atlantis.yaml file. See atlantis.yaml Use Cases for more details.

Terraform Workspaces

::: tip See Terraform's docs if you are unfamiliar with workspaces. ::: If you're using Terraform >= 0.9.0, Atlantis supports workspaces through an atlantis.yaml file that tells Atlantis the names of your workspaces (see atlantis.yaml Use Cases for more details) or through the -w flag. For example:

atlantis plan -w staging
atlantis apply -w staging

.tfvars Files

.
├── production.tfvars
│── staging.tfvars
└── main.tf

For Atlantis to be able to plan automatically with .tfvars files, you need to create an atlantis.yaml file to tell it to use -var-file={YOUR_FILE}. See atlantis.yaml Use Cases for more details.

Terraform Versions

Atlantis supports all Terraform versions (including 0.12) and can be configured to use different versions for different repositories/projects. See Terraform Versionsl

Next Steps

  • If your Terraform setup meets the Atlantis requirements, head back to our Installation Guide to get started installing Atlantis