Entrypoint checks DATA_DIR in full before acting on it as root (closes #80)
needs-review
check / check (push) Failing after 12m54s
Target check timeout is 80% of the refresh interval (closes #78)
needs-review
check / check (push) Successful in 1m54s
Container sets up its own data directory (closes #75)
check / check (push) Successful in 1m51s
main into prod: netwatch as one container, ready for upaas
needs-rework
check / check (push) Successful in 2m3s
cibuild: the org model, which runs every check uncached (closes #37)
check / check (push) Successful in 2m2s
chore(backend): re-vendor .golangci.yml with gomodguard_v2 (closes #41)
check / check (push) Successful in 1m20s
nginx: security headers on every response (closes #18)
check / check (push) Successful in 1m13s
fix(backend): cut request log fields to the log bound (closes #60)
check / check (push) Successful in 1m4s
nginx: trust X-Forwarded-For only from TRUSTED_PROXIES (closes #64)
check / check (push) Successful in 52s
upaas: health check, settings checked at start, README section (closes #59)
check / check (push) Successful in 14s
fix(backend): give each report file a name of its own (closes #61)
check / check (push) Successful in 48s
nginx: listen on PORT, default 8080; server_tokens off (closes #26)
check / check (push) Successful in 32s
fix(backend): rate-limit and cap report ingest, drop wildcard CORS (closes #20)
check / check (push) Successful in 42s
build: one image, nginx in front of the backend on loopback (closes #52)
check / check (push) Successful in 10s
Report ingest correctness: propagate storage failure, 413 on oversize, global body-size cap
check / check (push) Successful in 45s
fix(server): shut down through fx so buffered reports flush
needs-review
check / check (push) Failing after 1s
feat(backend): server hardening — timeouts, security headers, trusted-proxy client IP
needs-review
check / check (push) Failing after 0s
feat(frontend): post collected samples to /api/v1/reports
check / check (push) Successful in 12s
fix(frontend): meet the 44x44 minimum tap target on every control (closes #43)
needs-review
check / check (push) Successful in 9s