Skip to content

Mechanism to validate integration specific properties/configs and generate Frank!Console configuration warnings/errors from them #8872

@MLenterman

Description

@MLenterman

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

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions