Skip to content

Wire validated config knobs into the runtime or remove them - #60

Merged
Yanujz merged 2 commits into
mainfrom
issue-18-wire-config
Sep 19, 2026
Merged

Yanujz merged 2 commits into
mainfrom
issue-18-wire-config

Conversation

@Yanujz

@Yanujz Yanujz commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator

What changes for operators?

Validated settings finally take effect: HTTP timeouts, probe concurrency, body-inspection cap, SQLite busy budget, page-size cap. Removed dead keys (storage.path/retention/write_timeout, api.rate_limit) now fail loudly instead of being accepted-and-ignored — check configs; none of the shipped docs/examples set them. Explicitly-set-but-unimplemented knobs (logging, auto incidents/resolve, status page, metrics auth) warn on load instead of pretending to work.

Failing-then-passing test

Per knob: server-timeout propagation, DSN pragma render + live PRAGMA busy_timeout readback, body-cap needle-past-cap, semaphore contention cap (5 loops, max 2 inside), removed-key rejection, resolution test. Main-code contrasts measured (5 concurrent probes; capped needle matched). Suite green with -race except the known main sqlite flake (fixed by #32). Merge notes: touches Probe near #19, runDefault near #21/#27, loop() near #3/#29, warnOncef duplicated with #23 (keep either) — rebase order #23 first is cleanest.

Checklist

  • go build ./... && go vet ./... && go test ./... green except pre-existing main flake (with -race)
  • gofmt -l . clean
  • OpenAPI updated if API surface changed — N/A
  • No fabricated history — N/A
  • No secrets, tokens, or hosts I don't own in the diff

Fixes #18

Server timeouts reach the http.Server; probes.concurrency bounds fleet
probe concurrency via semaphore; probes.max_body_bytes resolves onto
each service and governs body inspection; storage.busy_timeout_ms
travels in the SQLite DSN pragma; api.max_page_size caps paging (via
#25). Removed unread keys (storage.path/retention/write_timeout,
api.rate_limit) fail loudly at load; reserved future knobs
(logging, auto_*, status_page, metrics auth) warn when explicitly set.

Fixes #18
@Yanujz
Yanujz merged commit 8fe0463 into main Sep 19, 2026
1 check passed
@Yanujz
Yanujz deleted the issue-18-wire-config branch September 19, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Wire validated config knobs into runtime or remove them — server timeouts, storage.*, probes.concurrency/max_body_bytes, api.* are silently ignored

1 participant