Skip to content

Migrating from Terraform Cloud

Why Terrateam?

Terrateam and Terraform Cloud (TFC) provide many overlapping features but differ in significant ways.

Not just another customer

First and foremost, Terraform maintains close working relationships with our customers. We prefer to think of them as partners as we’re invested in their success.

When you sign up with Terrateam, here’s what happens:

  1. We are immediately alerted upon your installation and we keep an eye out for you on Slack.
  2. We have special monitoring in place for new users to make sure they’re not having trouble with setup or installation.
  3. If desired, we can sit down with you and your team over a call where we work with you closely to ensure Terrateam fits your workflow. Additionally, we can walk your team through training at no extra charge.
  4. Slack Connect is configured to make sure Terrateam support staff is easily accessible to you and your team.

Purpose-built for GitHub

Terrateam is designed to integrate closely with GitHub, leverage GitHub for managing secrets, running Terraform, managing team permissions, and managing changes. We’ve designed the system such that all configuration is managed in your GitHub repository. This means that all of your changes are managed with code and pull requests creating an easy to consume audit log.

No UX frills

Terrateam provides few UX frills outside of planning and applying. For many teams, this simplicity is a feature. There is no UI to learn and no extra permissions to manage. Users can go from install to applying in only a few minutes.

Flat-rate pricing

Terrateam’s flat-rate pricing means your monthly cost is easy to figure out. No math formula required. We do not want you to feel limited in how many resource you create, how many runs you do, and how many users you have.

Migrating to Terrateam

  1. Stop all changes from being applied through TFC.
  2. Migrate state from TFC to another backend. See Migrating State to S3.
  3. Install and configure Terrateam here.

Migrating State to S3

Directions taken from the HashiCorp Help Center.

  1. Checkout your Terraform code to your local machine.

  2. Modify the remote backend stanza below to match your TFC configuration and put it in your code.

    terraform {
      backend "remote" {
        hostname = "app.terraform.io"
        organization = "<your_organization_name>"
    
        workspaces {
          name = "<your_workspace_name>"
        }
      }
    }
  3. Execute terraform init. This will initialize the local checkout and download the state file.

  4. Create an S3 bucket to store the state file.

  5. Modify the remote backend from step (2) with an S3 backend configuration. Use the bucket name from step (4) but and specify a key.

    terraform {
      backend "s3" {
        bucket = "<bucket>"
        key    = "<path/to/state>" - #name of the S3 object that will store the state file
        region = "us-east-1"
      }
    }
  6. Execute terrafrom init -migrate-state. This is an interactive step and will ask you to migrate the step.

  7. Commit backend code changes and push.