Target generators
Target Generators in Kapitan
What is a Target Generator?
A target generator is a specialized Generator class that focuses on processing the configuration of a single target. To give an illustrative example, if one sets up the configuration for a target named nginx as follows:
parameters:
components:
nginx:
image: nginx
...
The expected behavior would be for the kubernetes generator to churn out manifests into the compiled/nginx/manifest output target. What's noteworthy here is that the nature of resources generated—like ConfigMap, Secret, Service—depends on the nginx component's configuration.
Crafting a Target Generator
To lay the foundation for a target generator, employ the provided Python decorator:
@kgenlib.register_generator(
path="components",
...
)
class Components(kgenlib.BaseStore):
This configuration indicates that the generator will spring into action for configurations housed under the parameters.components inventory segment, but only for that specific target.