[
https://issues.apache.org/jira/browse/CAMEL-24740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-24740 started by Andrea Cosentino.
------------------------------------------------
> camel-opa - support batch policy evaluation
> -------------------------------------------
>
> Key: CAMEL-24740
> URL: https://issues.apache.org/jira/browse/CAMEL-24740
> Project: Camel
> Issue Type: New Feature
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Minor
>
> h2. Background
> {{camel-opa}} evaluates one policy per exchange, each a blocking HTTP
> round-trip to the OPA server. A route that splits a payload and authorizes
> each element pays one round-trip per element.
> The OPA Java SDK already exposes a batch API ({{executePolicyBatch}} / the
> batch {{evaluate}} overloads, with a client-side fallback for servers that do
> not implement the batch endpoint), so the capability is available without a
> new dependency.
> h2. Proposal
> Let a route authorize a collection in one call - for example an option on the
> producer that, when the body is a {{List}}, builds one input document per
> element and evaluates them as a batch, returning the per-element verdicts.
> Design questions worth settling first:
> * What the result looks like on the Exchange: a list of verdicts parallel to
> the input, or per-element headers on a split?
> * How a partial failure is reported - the SDK's batch response distinguishes
> successful evaluations from per-element errors, and the component's
> fail-closed contract has to hold for the failed subset specifically rather
> than for the batch as a whole.
> The second point is the reason this is not a mechanical change: "fail closed"
> for a batch must mean the failed elements are denied, not that a whole batch
> is rejected because one element errored, nor that the batch is allowed
> because most of it succeeded.
> h2. Scope
> {{main}} only. Additive.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)