No description
  • Go 97%
  • Makefile 1.7%
  • Dockerfile 1.3%
Find a file
Pierre-Olivier Mercier 2af16d3ab9 checker: harden HTTP collection and stabilize report ordering
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.
2026-04-26 04:13:55 +07:00
checker checker: harden HTTP collection and stabilize report ordering 2026-04-26 04:13:55 +07:00
plugin checker: harden HTTP collection and stabilize report ordering 2026-04-26 04:13:55 +07:00
.gitignore Initial commit 2026-04-08 04:18:24 +07:00
Dockerfile checker: harden HTTP collection and stabilize report ordering 2026-04-26 04:13:55 +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.