pez-infra/terraform
Rasmus Wejlgaard 39e3835c33 Clean up stale DNS records and Caddyfile entries
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 20:11:36 +00: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 2026-03-30 20:11:36 +00: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.