You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend the Kuadrant Policy APIs so we support use cases of Defaults & Overrides (D/O) for Inherited Policies, including the following base use cases:
Defaults: policies set at a lower level in the hierarchy supersede ones set (as "defaults") at a higher level, or "more specific beats less specific"
Overrides: policies set at a higher level in the hierarchy supersede ones set at the lower levels, or "less specific beats more specific"
As well as the following derivative cases:
Merged defaults: default policy rules that are merged into the more specific policies (as opposed to an atomic less specific set of rules that is activated only when another more specific one is absent)
Merged overrides: override policy rules that are merged into the more specific policies (as opposed to an atomic less specific set of rules that is activated fully replacing another more specific one that is present)
Constraints: specialization of an override that rather than declaring concrete values, specify constraints for values – typically numeric values and regular patterns (e.g. limited sets) – declared at the lower levels, that is used to "clip" the requested specific values within the boundaries dictated by the constraint, in an override fashion – e.g.: min value, max value, in operator.
Deactivation: specialization that completes a merge default use case by allowing lower level policies to disable ("deactivate") individual defaults set a higher level (as opposed to superseding those defaults with actual more specific policy rules with meaning)
Out of scope:
Requirements: high level policies that declare requirements to be fulfilled by more specific (lower level) policies without specifying concrete default or override values or constraints. E.g.: "an authentication policy must be enforced, but none is provided by default."
Affected APIs:
AuthPolicy
RateLimitPolicy
Non-affected APIs, while these are considered Direct Policies, i.e. with no hierarchical effect:
About using maps vs listMapType and the effects on merging into spec fields, to leave no doubts, @youngnick has added an excellent example to kubernetes-sigs/gateway-api#2813.
Extend the Kuadrant Policy APIs so we support use cases of Defaults & Overrides (D/O) for Inherited Policies, including the following base use cases:
As well as the following derivative cases:
in
operator.Out of scope:
Affected APIs:
Non-affected APIs, while these are considered Direct Policies, i.e. with no hierarchical effect:
Implementation steps
Tier 0: Specification and WIP to close first
(priority: 0)
Tier 1
(priority: 1)
default
field to the RateLimitPolicy API #455default
field to the AuthPolicy API #462Tier 2
(priority: 2)
when
conditions in the RateLimitPolicy API #473when
conditions in the AuthPolicy API #474Tier 3
(priority: 3)
Enhancements & refactoring
(priority: 4)
Unresolved questions & Future possibilities
(priority: 5)
sectionName
to the RateLimitPolicy APIsectionName
to the AuthPolicy APITests
The text was updated successfully, but these errors were encountered: