No description
  • Go 97%
  • Makefile 1.7%
  • Dockerfile 1.3%
Find a file
Pierre-Olivier Mercier e4b6481d32 checker: split monolithic rule into per-concern rules
Replace the single matrix_federation rule with individual rules for
federation status, well-known delegation, SRV records, connection
reachability, TLS checks, and homeserver version, so the UI surfaces a
clear checklist. Drop the incorrect well-known/server_name equality
check: m.server points at the delegated federation endpoint, which is
intentionally distinct from server_name.
2026-04-26 03:58:15 +07:00
checker checker: split monolithic rule into per-concern rules 2026-04-26 03:58:15 +07:00
plugin Initial commit 2026-04-08 04:18:24 +07:00
.gitignore Initial commit 2026-04-08 04:18:24 +07:00
Dockerfile Migrate to checker-sdk-go v1.3.0 with standalone build tag 2026-04-26 03:58:13 +07:00
go.mod Migrate to checker-sdk-go v1.3.0 with standalone build tag 2026-04-26 03:58:13 +07:00
go.sum Migrate to checker-sdk-go v1.3.0 with standalone build tag 2026-04-26 03:58:13 +07:00
LICENSE Initial commit 2026-04-08 04:18:24 +07:00
main.go Migrate to checker-sdk-go v1.3.0 with standalone build tag 2026-04-26 03:58:13 +07:00
Makefile Migrate to checker-sdk-go v1.3.0 with standalone build tag 2026-04-26 03:58:13 +07:00
NOTICE Initial commit 2026-04-08 04:18:24 +07:00
README.md Initial commit 2026-04-08 04:18:24 +07:00

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.