Skip to content

Latest commit

 

History

History
 
 

terraform

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

For the bits that are not nixops-able

This terraform root module manages:

  • the resource in the AWS main account (S3 buckets)
  • Fastly
  • Netlify DNS

Setup

In order to use this, make sure to install direnv and Nix with flakes enabled.

Then copy the .envrc.local.template to .envrc.local, and fill in the related keys.

FIXME: Unset the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY env vars if they are already set. Those have been replaced by AWS SSO.

Then run direnv allow to load the environment with the runtime dependencies.

Run aws sso login to acquire a temporary token.

Usage

We use opentofu, which is a fork of https://www.terraform.io/ maintained by the Linux foundation.

Then run the following command to diff the changes and then apply if approved:

./tf.sh apply

Terraform workflow

Write the Tofu code and test the changes using ./tf.sh validate.

Before committing run nix fmt.

Once the code is ready to be deployed, create a new PR with the attached output of ./tf.sh plan.

Once the PR is merged, run ./tf.sh apply to apply the changes.

Upgrade from terraform to opentofu

If you have used terraform, you may have to delete .terraform in this directory once to fixup provider registry addresses.