Correct release-blocking documentation inaccuracies (closes #141)
Some checks failed
check / check (push) Has been cancelled
Some checks failed
check / check (push) Has been cancelled
Four defects found by the integration review, each of which would have made the README or the release notes untrue at the moment of tagging. RETENTION_SWEEP_INTERVAL was absent from the README env table while two other passages referred to it as documented. Enumerated every variable read by internal/config from the source (12 in total) rather than by eye; that was the only one missing. TODO.md omitted five of the units landed in this milestone (#64, #79, #90, #113, #118), two of them credential-exposure fixes, which are precisely the entries a reader of the release notes wants to find. The list is now derived from git log origin/main..origin/next. The README sold Replay in the present tense as a core capability while no redelivery code exists anywhere in the tree, and the roadmap entry for it had been dropped without it being implemented. Every mention of replay or redelivery in the README is now either marked planned or already under a Planned heading: the Rationale item, the Use Cases bullet, the Event model's field description, and the delivery-semantics passage on target-type edits, which told an operator that a terminally failed delivery was recoverable by hand when nothing can recover it. The comment on failUnretryableRetry made the same claim and is corrected with it. The roadmap entry is back in TODO.md. The production JS asset shipped a console.log on load. The rest of the file and every other shipped asset were checked; that was the only one (alpine.min.js is vendored and untouched). No behavioural change: the only non-comment, non-documentation edit is the deleted console.log.
This commit is contained in:
19
README.md
19
README.md
@@ -93,7 +93,7 @@ TTY detection, and security headers are always applied.
|
||||
| `METRICS_USERNAME` | Basic auth username for `/metrics` | `""` |
|
||||
| `METRICS_PASSWORD` | Basic auth password for `/metrics` | `""` |
|
||||
| `SENTRY_DSN` | Sentry error reporting DSN | `""` |
|
||||
| `RETENTION_SWEEP_INTERVAL` | Retention reaper period (Go duration, must be positive) | `1h` |
|
||||
| `RETENTION_SWEEP_INTERVAL` | How often the retention reaper and archive sweeper run (Go duration, must be positive) | `1h` |
|
||||
| `SESSION_IDLE_TIMEOUT` | Idle session timeout (Go duration) | `24h` |
|
||||
| `RECEIVER_RATE_LIMIT` | Receiver requests/minute per IP per entrypoint | `120` |
|
||||
| `TRUSTED_PROXIES` | CIDRs whose forwarded headers are trusted | `""` (none) |
|
||||
@@ -265,9 +265,10 @@ webhooker solves this by acting as a durable intermediary:
|
||||
targets simultaneously. This enables patterns like forwarding a
|
||||
GitHub webhook to both a deployment service and a Slack channel.
|
||||
|
||||
5. **Replay** — Stored events can be manually redelivered for debugging
|
||||
or testing, without requiring the original sender to fire the webhook
|
||||
again.
|
||||
5. **Replay** (not yet implemented) — Every received event is stored in
|
||||
full, which is what manual redelivery for debugging or testing will
|
||||
be built on. No redelivery exists today, in the web UI or the API;
|
||||
see [TODO.md](TODO.md).
|
||||
|
||||
### Use Cases
|
||||
|
||||
@@ -277,6 +278,7 @@ webhooker solves this by acting as a durable intermediary:
|
||||
size, and delivery performance
|
||||
- **Debugging** and introspection of webhook payloads in the web UI
|
||||
- **Replay** of webhook events for application testing and development
|
||||
(planned; not yet implemented)
|
||||
- **Fan-out** delivery of a single webhook to multiple downstream
|
||||
targets
|
||||
- **High-availability ingestion** for delivery to less reliable backend
|
||||
@@ -502,7 +504,7 @@ A programmatic access credential for API authentication.
|
||||
#### Event
|
||||
|
||||
A captured incoming webhook request. Stores the complete HTTP request
|
||||
data for replay and auditing.
|
||||
data for auditing and for the planned replay capability.
|
||||
|
||||
| Field | Type | Description |
|
||||
| -------------- | ------ | ----------- |
|
||||
@@ -784,9 +786,10 @@ unknown) one while one of its deliveries is still `retrying`, both
|
||||
recovery paths above terminally mark that delivery `failed` and record a
|
||||
`DeliveryResult` naming the current target type as the reason, logging it
|
||||
at warn level. The delivery is not re-dispatched under the new type — the
|
||||
operator never asked for that delivery — and the event itself remains
|
||||
stored in the per-webhook event database, so it can be redelivered
|
||||
manually.
|
||||
operator never asked for that delivery — and while the event itself
|
||||
remains stored in the per-webhook event database, there is no way to
|
||||
redeliver it: manual redelivery is planned, not implemented (see
|
||||
[TODO.md](TODO.md)).
|
||||
|
||||
### Circuit Breaker (HTTP Targets with Retries)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user