You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Abstract the audit log behind an async AuditSink trait with selectable
backends. Keep the local file backend (default, renamed to FileAuditSink)
and add an HttpAuditSink that POSTs each JSON record to a configured
endpoint with optional bearer auth.
Add an [audit] config section (backend, endpoint, token_env) with overlay
merging and validation, build the sink in the service, and make the
decision logging path async.
Copy file name to clipboardExpand all lines: docs/configuration-spec.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,6 +50,9 @@ Project values overlay global values.
50
50
|`cache.ttl_minutes`| integer |`30`| Cache TTL in minutes. `0` resets to default. |
51
51
|`lockfile.eval_concurrency`| integer |`5`| Number of packages evaluated in parallel during lockfile audits. Lower values reduce API burst load. `0` resets to default. |
52
52
|`lockfile.inter_batch_delay_ms`| integer |`100`| Milliseconds to wait before spawning each replacement evaluation task after one completes. The initial batch is spawned immediately. Helps avoid rate limiting by spacing requests over time. Set to `0` for no delay. |
53
+
|`audit.backend`| enum |`file`|`file \| http`. `file` appends records to the local audit log; `http` POSTs each record as JSON to `audit.endpoint`. |
54
+
|`audit.endpoint`| string | unset | HTTP endpoint that receives audit records. Required when `audit.backend = http`. |
55
+
|`audit.token_env`| string | unset | Name of the environment variable holding a bearer token sent as `Authorization: Bearer <token>` on HTTP audit requests. |
0 commit comments