When a request for configuration arrives at the control plane, it will first retrieve data from all configured sources.

Directly after it has run all sources, it will apply modifications to the data. If no modifiers are configured, the data is returned as-is.

Modifiers are enabled by adding the following configuration:

  - <modifier_name>

  - <global_modifier_name>

The modifier name must match the name of the entry point

todo add guide for adding entry points

Modifiers will apply to each instance of the source data, whereas global modifiers can apply to the entire set of source data.

Global modifiers are executed before modifiers.

sovereign.modifiers.apply_modifications(source_data: List[dict]) → List[dict]

Runs all configured modifiers on received data from sources. Returns the data, with modifications applied.

Adding your own modifier

You can use the following base class to create your own modifiers.