- Go 97%
- Makefile 1.7%
- Dockerfile 1.3%
Validate the federation tester URI placeholder, escape the domain, set a client timeout, cap the response body, and ship CA certificates in the scratch image so HTTPS calls succeed. Sort hosts, connection reports, and errors when rendering so output is deterministic, and deduplicate TLS problems. Drop the deprecated aggregate Rule() and add tests for collection and rules. |
||
|---|---|---|
| checker | ||
| plugin | ||
| .gitignore | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| Makefile | ||
| NOTICE | ||
| README.md | ||
checker-matrix
Matrix federation checker for happyDomain.
Queries a Matrix Federation Tester instance to verify that a Matrix homeserver is correctly federating, stores the full report as an observation, and renders a rich HTML summary (connections, certificates, well-known, DNS/SRV resolution).
Usage
Standalone HTTP server
make
./checker-matrix -listen :8080
The server exposes the standard happyDomain external checker endpoints
(/health, /definition, /collect, /evaluate, /html-report).
Docker
make docker
docker run -p 8080:8080 happydomain/checker-matrix
happyDomain plugin
make plugin
# produces checker-matrix.so, loadable by happyDomain as a Go plugin
The plugin exposes a NewCheckerPlugin symbol returning the checker
definition and observation provider, which happyDomain registers in its
global registries at load time.
Versioning
The binary, plugin, and Docker image embed a version string overridable at build time:
make CHECKER_VERSION=1.2.3
make plugin CHECKER_VERSION=1.2.3
make docker CHECKER_VERSION=1.2.3
happyDomain remote endpoint
Set the endpoint admin option for the matrixim checker to the URL of
the running checker-matrix server (e.g., http://checker-matrix:8080).
happyDomain will delegate observation collection to this endpoint.
Options
| Scope | Id | Description |
|---|---|---|
| Run | serviceDomain |
Matrix domain to test (auto-filled, default matrix.org) |
| Admin | federationTesterServer |
Federation Tester URL template (default: https://federationtester.matrix.org/api/report?server_name=%s) |
The checker only applies to services of type abstract.MatrixIM.
License
This project is licensed under the MIT License (see LICENSE). The
third-party Apache-2.0 attributions for checker-sdk-go are recorded in
NOTICE and must accompany any binary or source redistribution of this
project.