Skip to content

Introduce slapconfiguration:jsonschema recipe

  • Enable <= slap-connection in slapconfiguration usage
    This is for convenience, to allow

    [slap-configuration]
    <= slap-connection
    recipe = slapos.cookbook:slapconfiguration
  • Add slapconfiguration:jsonschema recipe. This validates the parameter dict against the JSON schema, and fills in defaults from the schema first if the property is not set by the user. This allows for a unique source of truth in default parameters :) It also uses the serialisation in the schema to determine how the parameters should be parsed (xml or json-in-xml). It requires downloading the JSON schemas in the SR.

    • This works for both regular instance parameters and for shared instance parameters.
    • Errors in the regular instance parameters lead to a raised exception, but errors in shared instance parameters just result in this shared instance being collected in invalid-shared-instance-list, while valid shared instances are collected in valid-shared-instance-list.
  • Add toggle parameters to slapconfiguration:jsonschema to allow selecting whether validating parameters and setting defaults apply to main or shared parameters or both or neither:

apply to validate-parameters set-default
neither main nor shared none none
shared parameters main main
main parameters shared shared
main and shared all all
Edited by Xavier Thompson

Merge request reports