-
Notifications
You must be signed in to change notification settings - Fork 81
Description
Related Problem or Business Case
Complex open-sourced integrations often come with a wider range of configuration options, due to it being used by different clients with different needs. This often comes in form of configurable behavior of the integration or sets of properties that need to be conditionally configured based on the client's infrastructure.
Currently there is no mechanism besides writing custom code to generate configuration warnings/errors in the Frank!Console like the framework does with configurations.
Describe the Feature
The integration should be able to include file(s) per configuration(?) that define a set of rules/policies/schema's for the integration specific properties, configs, etc. The framework applies those rules during loading of a configuration before(?) or after the framework warnings/errors for that configuration are generated.
I think using Open Policy Agent or simply the policy language Rego could be a good fit for this. The integration could simply write policies with a bunch of rules that generate a warning or error with some message. A list of properties and relevant config files is can be passed as context when evaluating the policy. Kubernetes uses same mechnism to validate resource definitions I believe. An example of what such a policy would look like: https://github.com/open-policy-agent/conftest/blob/master/examples/ini/policy/deny.rego. deny could perhaps be replaced with warning or error in this example.
Collaboration with External Companies
No, community resolution only
Anything else?
No response
Sub-issues
Metadata
Metadata
Assignees
Type
Projects
Status