Fediversity/launch
Kiara Grouwstra 79e58e21f4
nixos-anywhere -> terraform-nixos
intended to swap out nixos-anywhere for terraform-nixos, over:

- don't need nixos-anywhere to install nixos; we preload nixos to VMs
- [awkward non-flake
usage](https://nix-community.github.io/nixos-anywhere/howtos/use-without-flakes.html#3-set-nixos-version-to-use)
-  seemed not to pick up on config changes, as observed by test VMs
losing their panel keys after TF sync

however, it seems that terraform-nixos has its own flaws:

- its output using a random id, i.e. forcing to push even on no changes
- so far did not get ssh authentication to work
2025-04-09 17:05:00 +02:00
..
.terraform untrack TF generated provider/module stuff - local dev now requires following launch/README.md 2025-04-09 17:04:33 +02:00
vm nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
.auto.tfvars.json
.envrc
.gitignore for now gitignore .auto.tfvars.json used to track TF module of nixos-anywhere 2025-04-09 17:04:33 +02:00
.terraform.lock.hcl
default.nix nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
garage.nix get TF in prod to the same 'installable ... does not correspond to a Nix language value' for non-flakes 2025-04-09 17:04:07 +02:00
main.tf nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
mastodon.nix nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
module.auto.tfvars.json
pass-ssh-key.sh
peertube.nix nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
pixelfed.nix nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
README.md nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
resource.nix add ssh key to not need root user 2025-04-09 17:05:00 +02:00
shared.nix nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
shell.nix
terraform.tfstate
terraform.tfstate.backup
tf-env.nix nixos-anywhere -> terraform-nixos 2025-04-09 17:05:00 +02:00
tf.nix

service deployment

usage

updating TF modules

$ npins update terraform-nixos
$ cd launch/
$ echo "{\"terraform-nixos\": $(nix-instantiate --eval --json -E '(import ../npins).terraform-nixos.outPath')}" > .auto.tfvars.json

local development

$ nix-shell
$ rm -rf .terraform/
$ tofu init