Source refs, JSON uploads and de-duplication #32
No reviewers
Labels
No labels
breaking
bug
ci
dependencies
documentation
feature
security
skip-changelog
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
argus/backend!32
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/28-sources-json-dedup"
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?
Closes #28
Part of the server monitoring plan (phase 1.3). Stacked on #31 (base
feat/27-authentik-group-access): merge #30 and #31 first.Changes
Report.RefKind.SOURCE(source):ref_valuenames a machine or tool (garion,kuma…). Migrations only alterchoices(reports and events) and addReport.last_seen_at.{"report_type": "custom", …, "report": {…}}is accepted instead of a file (custom reports only; exactly one offile/report).commit_shais optional; without it the raw file goes to<owner>/<repo>/<ref_kind>-<ref_value>/<timestamp>/…, so uploads never overwrite each other.key(JSON/YAML/XML), report-levelexpect_everyparsed by the newapps.reports.durationsand stored in the summary in seconds (dropped when unparseable). Unknown to older clients, nothing breaks.process_report): on asourceref, a report without detail whose status and summary equal the latest processed report of the same stream is deleted (row + raw file); that report'slast_seen_atmoves forward instead. No event, no aggregate recompute. Branch/commit/PR reports are never de-duplicated.prune_historyalso boundssourcerefs; event subjects read "source garion".argus/upload-actionneeds no change (it always sends a commit).apps/reports/test_sources.py.Checks
pytest (209 passed), pylint 10/10, autopep8, bandit clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_014BSmBtGWeFBD9z4mYm9SjA
📊 Rapports Argus pour cette PR