2022-10-05 14:18:36 +00:00
|
|
|
### Quickstart on NixOS with nix 2.4+
|
|
|
|
[You need to enable the `nix flake` experimental feature](https://nixos.wiki/wiki/Flakes#Installing_flakes)
|
|
|
|
`nix flake --help` should give you some output, then we're good to go.
|
|
|
|
|
|
|
|
```
|
2023-07-21 09:48:58 +00:00
|
|
|
git clone https://git.pub.solar/pub-solar/infra
|
2022-10-05 14:18:36 +00:00
|
|
|
cd infra
|
|
|
|
nix develop --command zsh
|
|
|
|
```
|
|
|
|
|
|
|
|
### terraform provider docs
|
|
|
|
The following NixOS instances were deployed in DC `lev-1` using terraform:
|
2022-11-29 01:38:10 +00:00
|
|
|
- `flora-6`
|
2022-10-05 14:18:36 +00:00
|
|
|
|
|
|
|
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](https://www.namecheap.com/support/api/intro)
|
|
|
|
```
|
|
|
|
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
|
|
|
|
```
|