infra-vintage/terraform
2023-05-13 16:55:50 +02:00
..
lev-1 dns: add stream.pub.solar for owncast instance 2023-05-13 16:55:50 +02:00
README.md flora-6: create dirs for terraform files in DC 2022-11-29 02:38:10 +01:00

Quickstart on NixOS with nix 2.4+

You need to enable the nix flake experimental feature nix flake --help should give you some output, then we're good to go.

git clone https://git.b12f.io/pub-solar/infra
cd infra
nix develop --command zsh

terraform provider docs

The following NixOS instances were deployed in DC lev-1 using terraform:

  • flora-6

The Namecheap API was used to create the DNS records for *.pub.solar.

The Manta backend was used to save the terraform state for collaboration.

https://registry.terraform.io/providers/joyent/triton/latest/docs https://registry.terraform.io/providers/namecheap/namecheap/latest/docs https://www.terraform.io/language/v1.2.x/settings/backends/manta

How to use this

Setup your namecheap API credentials

NAMECHEAP_API_KEY
NAMECHEAP_API_USER
NAMECHEAP_USER_NAME

If you didn't already setup the pub_solar triton profile for DC lev-1, you'll need to do:

triton profile create
ttp set lev-1-pub_solar

tritonshell should pick up the configured profile and set all required environment variables for you. Use ttp env to check. Then:

# using terraform to deploy instances
cd terraform
terraform plan -out pub-solar-infra.plan
terraform apply pub-solar-infra.plan