reptide crash-signal prerequisites: Loki retention override, push-only credential, Grafana provisioning #323
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#323
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 crash-reporting pipeline (Flutter → Supabase
log-eventedge function → Loki, see reptideMANUAL_SETUP.md) needs prerequisites from this repo before the operator-side setup can run. Loki/Grafana on web-arm already cover the rest (public push endpoint athttps://loki.cloonar.com/loki/api/v1/pushbehind nginx basic auth, provisioned Loki datasource in Grafana).Design was grilled; decisions final:
loki.cloonar.comtolocation = /loki/api/v1/push(basic auth, existing htpasswd) +/ready(open); everything else denied. Closes the read-hole for any leaked pusher credential, reptide's or the fleet's.reptide-prodhtpasswd line is added to the existingpromtail-nginx-passwordsecret inhosts/web-arm/secrets.sops.yaml(operator edit via sops; same password goes to Supabase asLOKI_PASSWORDper MANUAL_SETUP.md §2–3). Deploy order independent of the secret edit.Work (single PR, two commits)
hosts/web-arm/modules/loki.nixlimits_config.retention_stream = [{ selector = ''{app="reptide"}''; priority = 1; period = "2160h"; }](compactor already hasretention_enabled = true)/readyopen, deny the resthosts/web-arm/modules/grafana/alerting/reptide/— error-rate alert per MANUAL_SETUP.md §8:sum(rate({app="reptide", env="production", level="error"}[5m])) > 3 * <24h baseline offset 24h>, sustained 10m, routed via existing default policy →cp_dominik_normal(Pushover; the Matrix room in the doc is reptide-side wiring, not available here).Verification
/ready→ 200); fleet journals still flowing;Coredumpsruler alert intact; retention override in rendered config; look into/readycurrently returning 503 (unmonitored — blackbox blacklists the domain)reptide-prodhtpasswd line, then authenticated push → 204;supabase secrets set+ edge-function deploy per MANUAL_SETUP.md;{app="reptide"}visible in Grafana Explore