Host your own email and enhance your privacy
You must install Terraform or set up an account with Terraform Cloud. HashiCorp offers a free tier. These instructions assume you are using Terraform Cloud.
After signing up, perform the following steps:
Create a workspace of type version control workflow called “dns”. Connect it to your forked repository. While creating the workspace, expand the “Advanced options” area and fill out the fields with these values:
Field | Value |
---|---|
Description | Create DNS Zone for Cabalmail control domain |
Terraform Working Directory | terraform/dns |
Automatic Run Triggering | Only trigger runs when the files in the spcified paths change |
- Paths | terraform/dns |
VCS branch | default |
Include submodules on clone | Unchecked |
Using terraform.tfvars.example as a guide, create variables in your workspace. This is where your GitHub personal access token will go. The Github token should be designated “sensitive”. Also, make sure the value you specify for aws_region matches the value you specify in your GitHub setup.
Create environment variables for AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
using the values you saved from the AWS section step 7. The secret access key should be designated “sensitive”. (Don’t forget to rotate this key regularly!) Finally, create a third environment variable for AWS_DEFAULT_REGION
. Set it to the same region you use for your infrastructure. The region should match what you specify in your Github setup.
Create a second workspace of type CLI-driven workflow called “infra”.
Create an API token and store it in your GitHub repository’s Actions secrets as described in GitHub setup.