Add the receiver that files error reports as Gitea issues

server/report-receiver/receiver.py takes what report sends to
federated.sh/report, behind Caddy, and files each report as an issue in
the private Federated_Computer/coredesktop-reports repository with the
full log attached. It saves each report before replying and tries Gitea
again later if it's down, limits how many reports one address can send,
and refuses oversized logs, gzip bombs included. Standard library only.

The README has the deployment steps: a Gitea user that can only file
issues there, the systemd unit, and the Caddy route. make test runs its
tests, which send reports with the real report client.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-08 11:36:43 -07:00
co-authored by Claude Opus 5.5
parent 1cd56f7a90
commit ce7cf08d60
6 changed files with 681 additions and 0 deletions
+1
View File
@@ -12,3 +12,4 @@ lint:
test:
bats tests
python3 -I -m unittest discover -s server/report-receiver