matrix-hookshot on the web VM: inbound webhook bridge for reptide feedback channel #324
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos#324
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Reptide's feedback flow (Postgres trigger →
forward-feedbackedge function → Matrix room, see reptideMANUAL_SETUP.md§8 andsupabase/functions/forward-feedback/) needs an inbound-webhook bridge on our Matrix homeserver. The function POSTs{"text": "..."}to aMATRIX_WEBHOOK_URL; that payload is natively understood by matrix-hookshot generic webhooks. We run Synapse + MAS + four mautrix appservice bridges on the fw web VM (hosts/fw/vms/web/matrix.nix) but no webhook bridge.services.matrix-hookshot(hookshot.nix) is available on our channel (nixos-26.05) — verified.⚠️ Manual steps FIRST (operator, before implementation)
ready-for-humantoready-for-agent— everything below is agent-implementable.Agent implementation (after label flip)
New module
hosts/fw/vms/web/hookshot.nix, imported from the web VM config:services.matrix-hookshotwith an appservice registration built from the two sops tokens (follow the existing runtime-rendered registration pattern used for double-puppet inmatrix.nix— secrets land via/run, not the store);sender_localparte.g.hookshot.services.matrix-synapse.settings.app_service_config_files.generic.enabled); GitHub/GitLab/Jira/feeds stay off.matrix.cloonar.comvhost (e.g.location /webhook/→ hookshot's webhook listener on localhost); public because Supabase's egress must reach it. The webhook URL itself is the secret capability — same trust model as the Loki push credential (#323).Manual steps AFTER deploy (operator)
https://matrix.cloonar.com/webhook/<id>).MANUAL_SETUP.md:Out of scope (noted for later)
Once hookshot exists, the reptide crash-signal alert (#323, currently Pushover) could optionally gain a Matrix contact point via Grafana webhook → hookshot generic webhook with a small JS transformation. Separate decision, not part of this issue.