Phase 0: bootstrap the Warp homeserver
Scaffolds the server module and everything Phase 0 of PLAN.md calls for: a binary that boots, serves its discovery endpoints and nothing else yet. - config: one YAML file plus per-field WARP_* environment overrides, unknown fields rejected, validation that reports every problem at once - logging and metrics: slog, a Prometheus registry, per-route HTTP instrumentation labelled by pattern rather than path - httputil: the Matrix error envelope, error-returning handlers, CORS, request logging, panic recovery, and a router over http.ServeMux - endpoints: /_matrix/client/versions, /.well-known/matrix/client, /.well-known/matrix/server (gated), /healthz, /metrics, and M_UNRECOGNIZED for everything else - storage: driver registry, shared database/sql base, checksummed migration runner, sqlite and postgres drivers, pocketbase stub - settings: server_settings table behind a cached service, so the federation and registration switches change without a restart - federation: the gate that makes federation a runtime mode - cmd/warp: serve, migrate, generate-keys, version - Makefile, golangci-lint v2, GitHub Actions CI (Linux and Windows tests, race on Linux, storage tests against PostgreSQL, lint, boot smoke test), Dockerfile, example config and docs Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
commit
b4fb60a8ab
50 files changed
+5672
No files matched your search
@@ -0,0 +1,13 @@
|
||||
# Complement
|
||||
|
||||
[Complement](https://github.com/matrix-org/complement) is the official
|
||||
Matrix integration suite and the project's primary progress metric.
|
||||
|
||||
It is wired up in Phase 1, once registration and login exist — before that
|
||||
there is nothing for it to test. Two profiles are planned, per PLAN.md
|
||||
section 9: `federation=off` (Client-Server tests only) and
|
||||
`federation=on`.
|
||||
|
||||
What will live here: the Dockerfile Complement boots, the image entrypoint
|
||||
that generates a signing key and a config per test homeserver, and the
|
||||
list of tests expected to pass.
|
||||
Reference in new issue
Block a user