Implements the staging-environments OpenSpec change. Persistent staging at staging.trails.cool / planner.staging.trails.cool deploys from main; PR opens get a journal-only preview at pr-<N>.staging.trails.cool that shares the persistent planner. cd-staging.yml builds tagged images, manages per-PR Postgres databases and Caddyfile snippets, evicts the oldest preview at the cap of 3, and tears everything down on PR close. staging-cleanup.yml runs weekly to sweep orphaned previews. DNS records (staging + *.staging A/AAAA) already applied to production via tofu. Caddy approach: per-PR Caddyfile snippets imported from /etc/caddy/sites/ and reloaded on each PR event — no wildcard / on-demand TLS, no router service. Production compose gains a trails-shared network for the staging project to reach Postgres, and host.docker.internal on Caddy so it can reverse-proxy staging containers published on the host loopback. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| activity-photos | ||
| archive | ||
| changelog | ||
| e2e-test-reorganization | ||
| journal-poi-details | ||
| komoot-import | ||
| local-dev-stack | ||
| mobile-app | ||
| route-discovery | ||
| route-features | ||
| route-sharing | ||
| social-federation | ||
| staging-environments | ||
| visual-redesign | ||
| wahoo-production-cutover | ||
| waypoint-notes | ||