infra-vintage/terraform
2023-10-27 23:16:31 +02:00
..
lev-1 Update DNS TTLs to 60 seconds for maintenance 2023-10-27 23:16:31 +02:00
README.md Fix links git.b12f.io -> git.pub.solar 2023-07-21 11:48:58 +02: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.pub.solar/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