Decision records
Architecture decision records follow the MADR 4.0 format: title, status, context and problem statement, decision drivers, considered options, decision outcome, consequences, confirmation and sources. Each record is a page in this section. Records are written after the fact from the task reports and specs in the repository, and each one names its sources.
Statuses used: accepted (decided and in effect), accepted, in progress (decided, partly built), accepted, not yet implemented (decided, not built).
| ADR | Decision | Status |
|---|---|---|
| 0001 | Move all hostnames from peoplewave.org to peoplewave.in | Accepted |
| 0002 | Run on arm64 OKE and build images with podman | Accepted |
| 0003 | Enforce OIDC on every service and remove the header fallback | Accepted |
| 0004 | Use stream tokens for video playback instead of Authorization headers | Accepted |
| 0005 | Stream video progressively with Range requests, not HLS, in v1 | Accepted |
| 0006 | Start LiveKit Egress on track_published | Accepted |
| 0007 | Run Keycloak as two replicas clustered with jdbc-ping | Accepted |
| 0008 | Replace the shared service client with startupos-services | Accepted, in progress |
| 0009 | Publish a status page and hide the raw /q endpoints | Accepted |
| 0010 | Build the mobile apps with React Native and Expo | Accepted, in progress |
| 0011 | Certificate lifecycle decisions A to K | Accepted, not yet implemented |
| 0012 | Documentation tooling: Docusaurus, OpenAPI plugin, Structurizr, Spectral | Accepted |
The blank template is ADR 0000.