We ship Terraform modules for DigitalOcean and AWS Lightsail today (pay-hydra/terraform/{digitalocean,aws-lightsail}/). Port the same pattern to:
- Hetzner Cloud (~$5/mo CX22)
- Linode (~$5/mo nanode)
- Vultr (~$5/mo HF)
- GCP (e2-micro)
- Azure (Standard_B1s)
Each is ~60 lines — copy digitalocean/main.tf, swap provider block + resource, keep the shared cloud-init.yaml.
Blocker first
The current cloud-init installs Node via NodeSource's Debian apt repo. Hetzner / Linode / Vultr often default to Debian-family so those work straight away. GCP and Azure may need a RHEL-family fork of the install step. Audit note: the "cross-distro" claim in cloud-init.yaml line 2 is not actually true today — only fork first if you're sure the base image is Debian-family.
From Terraform audit (2026-04-20), item 3.11. Take any one — file a separate PR per cloud.
We ship Terraform modules for DigitalOcean and AWS Lightsail today (
pay-hydra/terraform/{digitalocean,aws-lightsail}/). Port the same pattern to:Each is ~60 lines — copy
digitalocean/main.tf, swap provider block + resource, keep the sharedcloud-init.yaml.Blocker first
The current cloud-init installs Node via NodeSource's Debian apt repo. Hetzner / Linode / Vultr often default to Debian-family so those work straight away. GCP and Azure may need a RHEL-family fork of the install step. Audit note: the "cross-distro" claim in
cloud-init.yamlline 2 is not actually true today — only fork first if you're sure the base image is Debian-family.From Terraform audit (2026-04-20), item 3.11. Take any one — file a separate PR per cloud.