Reconcile deny-event fields between extproc and proxy listeners
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 13
- Forks
- 40
- Avg merge
- 12h 17m
- Merged PRs (30d)
- 156
Description
Each listener records different fields on an OnRequest deny:
extproc.recordInboundRejectsetsPlugins,Identity,Duration.reverseproxy.recordInboundRejectsets none of those; setsTLSinstead (which extproc omits).- Same split outbound (
extprocvs.forwardproxy).
ref: https://github.com/rossoctl/cortex/pull/935#pullrequestreview-5171287832
Operators reading /v1/sessions see a different event shape depending on which listener served the request.
Fix
Delegate both recordInboundReject implementations to a single helper that populates the same fields from pctx. Then expand the parity suite's observation to cover Identity (fixture provisioning an identity catches further drift).
Found by the parity suite in #935; not caught by the current fixtures because Identity/TLS/Duration are excluded from observation and Plugins is empty on the deny fixture.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with extproc.recordInboundReject and reverseproxy.recordInboundReject, then compare the corresponding outbound implementations in forwardproxy and extproc. Trace the shared pctx fields and inspect the parity suite's observation fixture. Done means both listener paths expose matching Plugins, Identity, Duration, and TLS fields, with the expanded parity suite passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100