Matrix
What it gives you โ findings delivered to any Matrix room, with an optional zero-ingress ๐/๐ feedback loop over reactions.
Minimal config
notify:
matrix:
homeserver: https://matrix.org
room_id: "!yourroom:matrix.org"
access_token_env: MATRIX_TOKENVerify it locally
kubectl -n runlore create secret generic runlore-secrets \
--from-literal=MATRIX_TOKEN='<matrix-access-token>'Fire a test incident (see Alertmanager or hack/demo.sh) and
confirm delivery:
kubectl -n runlore logs deploy/runlore | grep 'msg=findings'Notes
- Matrix delivers the same content as Slack’s incoming-webhook path: a single message per finding (no threading).
matrix.feedback_reactions(opt-in, defaultfalse) โ react ๐/๐ to a RunLore message and the rating lands in the outcome ledger, with the same per-user dedup and trust weighting as Slack’s feedback buttons.- Nothing is exposed to enable it โ reactions arrive over the client-server
/synclong-poll, an outbound HTTPS request authenticated by the notifier’s own access token. This is the zero-ingress alternative to Slack’s Interactivity Request URL. - The listener runs on the leader only, skips reactions from before startup, ignores every emoji
except ๐/๐, and only counts votes on messages the bot itself sent (attribution is anchored on
/whoami). - Startup fails loud unless
homeserver/room_id/access_token_envandoutcome.ledger_pathare set. - Use an invite-only room โ any room member can vote.
Reference
- Configuration โ
notifyfor the full key reference. - Security model โ the feedback channels for the exposure and vote trust model.