rossoctl / rossoctl/cortex

Reconcile deny-event fields between extproc and proxy listeners

Open
#936 0 comments 0 reactions 0 assignees View on GitHub

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.recordInboundReject sets Plugins, Identity, Duration.
  • reverseproxy.recordInboundReject sets none of those; sets TLS instead (which extproc omits).
  • Same split outbound (extproc vs. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.