feat: add Hetzner-hosted todo application stack

Implement the server-rendered Go todo application with PostgreSQL persistence, Tailwind styling, health checks, and test coverage.

Provision production and staging infrastructure with OpenTofu, including private networking, static IPs, Object Storage backups, and load balancing.

Configure Rocky Linux hosts with Ansible, rootless Podman, PostgreSQL, WAL-G backup automation, staging restores, and generated inventory.
This commit is contained in:
cole-maxwell1
2026-08-06 21:34:56 -05:00
commit 1382c42803
68 changed files with 2380 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
app_user: todo
app_image: registry.example.com/todo:latest
app_port: 8080
app_db_name: todo
app_db_user: todo_app
postgres_data_dir: /var/lib/pgsql/data
postgres_service: postgresql
wal_g_version: v3.0.7
wal_g_download_url: "https://github.com/wal-g/wal-g/releases/download/{{ wal_g_version }}/wal-g-pg-ubuntu-20.04-amd64.tar.gz"
wal_g_s3_prefix: s3://replace-with-backup-bucket/prod
wal_g_s3_endpoint: https://nbg1.your-objectstorage.com
wal_g_s3_region: nbg1
wal_g_access_key: "replace-with-object-storage-access-key"
wal_g_secret_key: "replace-with-object-storage-secret-key"
wal_g_retention_count: 7
# Optional private registry credentials. Omit both for public images.
# registry_username: registry-user
# registry_password: registry-password
# registry_server: registry.example.com