Skip to content

OPA: extend custom control loop to decision log and status plugins #3492

@torwunder

Description

@torwunder

Is your feature request related to a problem? Please describe.
With #3464 a custom control loop was introduced to control the download behaviour of opa bundles by controlling the triggering of OPA's discovery and bundle plugin.
As explained in this blog post but also visible in the OPA code here, here and here, manually controlling the discovery bundle trigger cycle will be also set the bundle, decision log and status plugin to manual.
Currently the control loop only takes care of the discovery and bundle plugin.

Describe the solution you would like
We want to introduce 2 additional control loops, 1 for the status plugin and 1 for the decision log plugin.
This should be controlled by the same feature flag enable-open-policy-agent-custom-control-loop and should take additional configuration from the opa config.

Describe alternatives you've considered (optional)

Alternative 1:
Include this in the existing control loop.
This might lead starvation of the status and decision log handling when updating bundles takes longer for skipper installations with a lot of OPA instances (i.e. a lot of opa filters).

Alternative 2:
Create a PR for open-policy-agent to allow configuration of the decision log and status plugin to remain in periodic trigger mode.
It is uncertain if this will be accepted by the OPA team as it goes against the existing behaviour. Additionally we might want to control the status and especially the decision log plugin more closely to adjust for scenarios with high load or similar.

Additional context (optional)
Add any other context or screenshots about the feature request here.

Would you like to work on it?
Yes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions