Template Language for WATO Rulesets
Currently, WATO rulesets must be implemented in Python using CheckMK’s internal APIs. This approach has several limitations:
Users must understand Python and the internal API structure.
Rulesets are tightly coupled to the API version—any API change requires rewriting the ruleset code.
Even CheckMK developers must rewrite coplete ruleset logic when the API evolves.
Proposed Solution:
Introduce a template engine like YAML for defining WATO rulesets.
Benefits:
Easier ruleset creation without Python knowledge.
Improved maintainability and portability.
Reduced maintenance burden: Only the template transformation layer needs updating when the API changes.
Cleaner separation of concerns: Templates define intent; transformations handle implementation.
Faster feature delivery: New rulesets can be exposed via templates without deep backend rewrites.