Commit Graph
6 Commits
Author SHA1 Message Date
cole-maxwell1 7bbb5b08f9 ops(ansible): prepare rootless app deployment
Create the application user's Ansible temporary directory and rely on the Quadlet install configuration for service enablement.
2026-08-07 15:31:51 -05:00
cole-maxwell1 b8f655ac58 ops(ansible): configure local vault password file
Add an ignored example-backed password file for non-interactive deployments and document the external password file override.
2026-08-07 12:06:39 -05:00
cole-maxwell1 2ff14e6221 ops(ci): automate testing and container image releases
Add PostgreSQL-backed Go validation for application changes and semantic-version release publishing to GHCR.

Default deployments to the public image and prevent host setup from starting the application before deployment.
2026-08-07 11:38:23 -05:00
cole-maxwell1 d118f52387 ops(ansible): harden provisioning and restore automation
Fail before host changes when required deployment variables are missing.

Precreate the PostgreSQL temporary directory and escape Bash syntax during Jinja rendering.
2026-08-07 09:58:15 -05:00
cole-maxwell1 dd60bd4a3e chore: align repository and Ansible configuration
Relocate group variable examples beside the inventory for automatic discovery.

Refresh repository guidance, ignore local tooling artifacts, and disable Ansible cows.
2026-08-07 09:52:47 -05:00
cole-maxwell1 1382c42803 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.
2026-08-06 21:34:56 -05:00