snix/ops/hcloud
Ilan Joselevich 91d02d8c84 style: Switch to nixfmt from nixpkgs-fmt
Most of the ecosystem has moved to this formatter,
and many people configured their editors to autoformat it with this formatter.

Closes: https://git.snix.dev/snix/snix/issues/62
Change-Id: Icf39e7836c91fc2ae49fbe22a40a639105bfb0bd
Reviewed-on: https://cl.snix.dev/c/snix/+/30671
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
2025-08-10 13:40:23 +00:00
..
.gitignore feat(*): initialize new Snix infrastructure 2025-03-17 17:15:07 +00:00
default.nix style: Switch to nixfmt from nixpkgs-fmt 2025-08-10 13:40:23 +00:00
raito.pub feat(*): initialize new Snix infrastructure 2025-03-17 17:15:07 +00:00
README.md feat(*): initialize new Snix infrastructure 2025-03-17 17:15:07 +00:00
snix.tf fix(ops): delete email config for now 2025-03-18 21:52:06 +00:00

Hetzner cloud configuration

This contains Terraform configuration for setting up our Hetzner cloud resources, except S3, see //ops//hetzner-s3 for this.

Through //tools/depot-deps a tf-hcloud binary is made available which contains a Terraform binary pre-configured with the correct providers. This is automatically on your $PATH through direnv.

However, secrets still need to be loaded to access the Terraform state and speak to the Hetzner API. These are available to certain users through //ops/secrets.

This can be done with separate direnv configuration, for example:

# //ops/buildkite/.envrc
source_up
eval $(age --decrypt -i ~/.ssh/id_ed25519 $(git rev-parse --show-toplevel)/ops/secrets/tf-hcloud.age)