Be compatible with the Kuadrant AuthPolicy API: any valid AuthPolicy should translate to Praxis configuration and be enforced with the same semantics.
Where we are
The PoC from #716 delivered:
Covered today: JWT authentication, CEL authorization (patternMatching, when, patterns, and the legacy selector/operator/value form), and the RBAC membership idiom mapped onto CPEX role.*, perm.*, team.*.
Everything else is reported rather than silently dropped. This epic tracks closing those reports one by one.
Scope
- Subset or every
AuthPolicy authentication methods, credential location, and rule priority/fallback semantics (set decision and scoping).
- Subset or every
authorization backend (set decision and scoping).
metadata and callbacks.
response.success injection and denyWith on both authentication and authorization denials.
defaults/overrides and Gateway to route merge.
- Gateway API
targetRef binding (?).
- A compatibility matrix and conformance suite that gates coverage claim.
Non-goals
- Reverse translation (Praxis config to
AuthPolicy).
- Authorino as the enforcement engine. Praxis implements its own native Policy Engine.
- gJSON expressions, deprecated upstream.
Sub-Tasks
Need a discussion on the following items to decide final scope of work.
Area
Security
Be compatible with the Kuadrant
AuthPolicyAPI: any validAuthPolicyshould translate to Praxis configuration and be enforced with the same semantics.Where we are
The PoC from #716 delivered:
transpile-authpolicyCLI that ingests anAuthPolicyand emits a Praxispolicyfilter block plus a CPEX policy document, with a coverage report classifying every construct as translated, approximated, or skipped.policyfilter, so the emitted config actually enforces. Experimental, feature-gated.Covered today: JWT authentication, CEL authorization (
patternMatching,when,patterns, and the legacyselector/operator/valueform), and the RBAC membership idiom mapped onto CPEXrole.*,perm.*,team.*.Everything else is reported rather than silently dropped. This epic tracks closing those reports one by one.
Scope
AuthPolicyauthenticationmethods, credential location, and rule priority/fallback semantics (set decision and scoping).authorizationbackend (set decision and scoping).metadataandcallbacks.response.successinjection anddenyWithon both authentication and authorization denials.defaults/overridesand Gateway to route merge.targetRefbinding (?).Non-goals
AuthPolicy).Sub-Tasks
Need a discussion on the following items to decide final scope of work.
apiKeyauthentication [FEATURE]: Secret management plugin (Vault / Infisical) contextforge-org/cpex#139x509/ mTLS authenticationoauth2IntrospectionauthenticationkubernetesTokenReviewauthenticationanonymousauthenticationcredentials: header, query string, cookie)opaauthorizationspicedbauthorizationkubernetesSubjectAccessReviewauthorizationmetadata(http, userInfo, uma) andauth.metadata.*in CELcallbacksdenyWithcustom denial responsesresponse.successheader and dynamic metadata injectiondefaults/overridesand Gateway to route mergetargetRefbindingcache)Area
Security