platform
platform copied to clipboard
Terraform code for toot.community's production environment. Includes modules for infrastructure management on DigitalOcean.
Infrastructure
:warning: This code is provided as-is — it is not meant to be executed verbatim. No support is provided in any way.
This repository holds all platform code for running a Mastadon server on DigitalOcean using Kubernetes.
Getting started
Credentials
Create a Personal Access Token and a Spaces access key.
The following environment variables have to be set
Personal access token:
DIGITALOCEAN_ACCESS_TOKEN
Spaces access keys:
SPACES_ACCESS_KEY_IDSPACES_SECRET_ACCESS_KEY
Configure aws-cli with the values from SPACES_ACCESS_KEY_ID and SPACES_SECRET_ACCESS_KEY:
aws configure --profile digitalocean
Active the aws-cli profile:
export AWS_PROFILE=digitalocean
Deployment
In the environments folder you will find a production folder, that's the only environment for now. If you want to test major changes you can simply copy the production folder, change all variables and deploy an entirely seperate environment just for testing.
To deploy the infrastructure needed on Digitalocean you can cd into every folder in environments/production and change all variables.
After you did that you can run...
terraform init
terraform plan
terraform apply
Repeat these steps until you reached the end of the folder tree.
Continue with deploying Mastodon.