pez-infra/terraform
Rasmus "Pez" Wejlgaard eb9f026abd
Clean up stale DNS records and Caddyfile entries (#28)
Remove webdav.pez.sh DNS record (WebDAV replaced by Nextcloud AIO on cloud.pez.sh)
Remove alertmanager.pez.sh DNS record and Caddyfile block (Alertmanager not running on london-a)
Remove status-https HTTPS record pointing to old statuspage.io (status.pez.sh is self-hosted on helsinki-a)
Remove commented-out WebDAV block from Caddyfile
Remove empty section headers for decommissioned hosts (london-c, copenhagen-b, copenhagen-c)

Closes PESO-102
2026-03-30 21:12:52 +01:00
..
.gitignore initial commit 2026-03-28 12:39:41 +00:00
cloudflare_account.tf initial commit 2026-03-28 12:39:41 +00:00
cloudflare_dns.tf Clean up stale DNS records and Caddyfile entries (#28) 2026-03-30 21:12:52 +01:00
hetzner_compute.tf add hetzner servers terraform (#23) 2026-03-29 20:58:50 +01:00
hetzner_firewall.tf add hetzner servers terraform (#23) 2026-03-29 20:58:50 +01:00
Makefile initial commit 2026-03-28 12:39:41 +00:00
providers.tf add hetzner servers terraform (#23) 2026-03-29 20:58:50 +01:00
README.md initial commit 2026-03-28 12:39:41 +00:00
secrets.enc.yaml add hetzner servers terraform (#23) 2026-03-29 20:58:50 +01:00
vars.tf initial commit 2026-03-28 12:39:41 +00:00

Terraform

Infrastructure-as-code for cloud and edge services. Uses OpenTofu (drop-in Terraform replacement).

What's managed

  • Cloudflare DNS — All pez.sh records (A, CNAME, MX, TXT)

CI/CD

The original GitHub Actions workflow (apply.yml) ran plan on push to master, then applied with manual approval via a prod environment gate. This workflow lived in the standalone pez-terraform repo and would need adapting for the monorepo structure (e.g., path-filtered triggers).

Provider versions

Provider Source Version
Cloudflare cloudflare/cloudflare ~> 5.18
OpenTofu >= 1.6.0

Migrated from

This directory replaces the standalone pez-terraform repo.