Part of Milestone B — V4 Operational Core. Ref: #27
Move routing from project-shaped logic to domain/environment records.
Alex tasks
Tables
Caddy service upgrade
Custom domain verification flow
Tests
Tomas tasks
Do not build yet
Public portfolio launch, Stripe checkout, licence delivery.
Exit gate
- Routes generated from
domains table
- Current Caddy files can be regenerated
- Failed route changes are recoverable
- Default project subdomains still work
Rollback
Keep old project-based route generator available behind REVERSE_PROXY_LEGACY_ROUTES=true.
Part of Milestone B — V4 Operational Core. Ref: #27
Move routing from project-shaped logic to domain/environment records.
Alex tasks
Tables
domainsmaintenance_windowsroute_publication_attemptsCaddy service upgrade
renderRoute({ hostname, upstreamHost, upstreamPort, accessPolicy, basicAuth, canonicalRedirect, maintenanceMode, attestation })Custom domain verification flow
Tests
Tomas tasks
Do not build yet
Public portfolio launch, Stripe checkout, licence delivery.
Exit gate
domainstableRollback
Keep old project-based route generator available behind
REVERSE_PROXY_LEGACY_ROUTES=true.