trails/docs
Ullrich Schäfer f790da2ed3 ci(deploy): fail loudly — set -e, drizzle output guards, health gates
Hardening from two incidents on 2026-06-06/07:

Schema drift (morning): drizzle-kit push exits 0 even when it aborts
on an interactive prompt it can't render in CI, so cd-staging's
set -euo pipefail never fired and a month of staging schema drift
accumulated silently until new code hit missing columns. All three
drizzle push call sites now tee output and fail the deploy on any
'Error:' line.

Production outage (overnight, ~9h): cd-infra and cd-apps had no
failure handling at all. A network-option change stopped postgres for
a network recreation that then deadlocked on containers from other
compose projects holding trails-shared; the script carried on, the
stack stayed down. Both scripts now run set -euo pipefail and gate on
container health at the end (postgres+journal for cd-infra,
journal+planner for cd-apps) so a deploy that leaves the stack down
is a red X, not a shrug.

docs/deployment.md gains the cross-project manual procedure for
network-changing deploys — the CD workflows only manage their own
compose project and cannot apply those safely.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 08:15:17 +02:00
..
adr Atomic GPX save: validate + persist row + geometry in one transaction 2026-05-10 15:02:56 +02:00
conversations Move conversation log into docs/conversations/ 2026-03-22 12:00:45 +01:00
ideas Update self-host-overpass README with accurate OVERPASS_URLS env var 2026-05-24 10:43:03 +02:00
legal-archive Add visibility disclosure to the binding German privacy text 2026-04-19 09:14:15 +02:00
architecture.md BRouter host observability + docs 2026-04-23 23:10:45 +02:00
demo-persona.md Apply configurable-demo-persona: per-instance demo identity + voice 2026-04-19 10:30:32 +02:00
deployment.md ci(deploy): fail loudly — set -e, drizzle output guards, health gates 2026-06-07 08:15:17 +02:00
gpx-extensions.md Add docs/gpx-extensions.md documenting the trails: GPX namespace 2026-05-17 23:35:06 +02:00
information-architecture.md Refresh IA doc — all six streams shipped on 2026-04-26 2026-04-26 10:03:05 +02:00
old-trails-analysis.md Add 8 proposed changes and old trails analysis 2026-03-25 03:57:20 +01:00
philosophy.md Add project philosophy document 2026-03-22 12:00:08 +01:00
roadmap.md docs: fix stale route-sharing → social-federation dependency 2026-06-06 13:16:06 +02:00
server-hardening.md Add transactional emails (SMTP) and planner features (no-go areas, notes, crash recovery) 2026-03-26 01:00:42 +01:00
tooling.md Add CLAUDE.md, README, and development tooling docs 2026-03-22 12:06:51 +01:00