Parent epics: #5, #9, #10
Normative specs: 04 — Redirect Lambda, 08 — Legacy course-host redirect
Decision dependency: #16
Scope
In aws-infra, create a separate minimal Terraform workload for courses.datatalks.club: immutable Lambda, API Gateway/HTTPS catch-all, existing-safe DNS/ACM reference, generated reviewed explicit path map from #60, query preservation, 301 GET/HEAD HTML, gated tested 308 only where safe, true 404 unknowns, no-PII structured metrics/logs/alarms/cache, least-privilege role, sandbox rehearsal, instant config/DNS rollback, staged activation and observation before legacy decommission.
Non-goals
No blanket/homepage redirect, regex year stripping, unaudited unknown mapping, redirect of authenticated API clients before proof, deletion of old deployment/database in the same change, or hosted-zone recreation.
Acceptance criteria
Test scenarios
- Generated table-driven tests for every mapped HTML/API method/query/case/Unicode and destination status; unknown/malformed paths.
- Authorization-preservation test for each non-GET client; failure blocks that redirect only.
- Lambda cold/warm behavior, cache, alarm, artifact rollback, sandbox DNS switch and restore.
Playwright
From legacy browser paths verify one-hop canonical destination, query behavior, certificates/calendar/public/login flows that are eligible, plus 404 and screenshots before/after switch.
Dependencies
Depends on #16, #29, #60, #67, and production cutover rehearsal #73. Activate only after browser/API consumer gate.
Parent epics: #5, #9, #10
Normative specs: 04 — Redirect Lambda, 08 — Legacy course-host redirect
Decision dependency: #16
Scope
In
aws-infra, create a separate minimal Terraform workload forcourses.datatalks.club: immutable Lambda, API Gateway/HTTPS catch-all, existing-safe DNS/ACM reference, generated reviewed explicit path map from #60, query preservation, 301 GET/HEAD HTML, gated tested 308 only where safe, true 404 unknowns, no-PII structured metrics/logs/alarms/cache, least-privilege role, sandbox rehearsal, instant config/DNS rollback, staged activation and observation before legacy decommission.Non-goals
No blanket/homepage redirect, regex year stripping, unaudited unknown mapping, redirect of authenticated API clients before proof, deletion of old deployment/database in the same change, or hosted-zone recreation.
Acceptance criteria
[HUMAN]owner approves consumer inventory and production DNS activation.Test scenarios
Playwright
From legacy browser paths verify one-hop canonical destination, query behavior, certificates/calendar/public/login flows that are eligible, plus 404 and screenshots before/after switch.
Dependencies
Depends on #16, #29, #60, #67, and production cutover rehearsal #73. Activate only after browser/API consumer gate.