Skip to main content

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).

ADRDecisionStatus
0001Move all hostnames from peoplewave.org to peoplewave.inAccepted
0002Run on arm64 OKE and build images with podmanAccepted
0003Enforce OIDC on every service and remove the header fallbackAccepted
0004Use stream tokens for video playback instead of Authorization headersAccepted
0005Stream video progressively with Range requests, not HLS, in v1Accepted
0006Start LiveKit Egress on track_publishedAccepted
0007Run Keycloak as two replicas clustered with jdbc-pingAccepted
0008Replace the shared service client with startupos-servicesAccepted, in progress
0009Publish a status page and hide the raw /q endpointsAccepted
0010Build the mobile apps with React Native and ExpoAccepted, in progress
0011Certificate lifecycle decisions A to KAccepted, not yet implemented
0012Documentation tooling: Docusaurus, OpenAPI plugin, Structurizr, SpectralAccepted

The blank template is ADR 0000.