Add a JSON schema describing the packages install structure
Since the structure we're setting in place for installing packages has
some complexity, add a JSON schema to avoid frustrating errors when
modifying the informations (adding/removing packages install).
"description":"Criteria for selecting packages to install on Kubernetes nodes during installation by Kubespray",
"type":"object",
"patternProperties":{
".*":{
"type":"object",
"additionalProperties":false,
"properties":{
"groups":{
"description":"Match if the host is in one of these groups. If not specified match any host.",
"type":"array",
"minItems":1,
"items":{
"type":"string",
"pattern":"^[0-9A-Za-z_]*$"
}
},
"os":{
"type":"object",
"description":"If not specified match any OS. Otherwise, must match by 'families' or 'distributions' to be included.",
"additionalProperties":false,
"minProperties":1,
"properties":{
"families":{
"description":"Match if ansible_os_family is part of the list.",
"type":"array",
"minItems":1,
"items":{
"type":"string"
}
},
"distributions":{
"type":"object",
"description":"Match if ansible_distribution match one of defined keys.",
"minProperties":1,
"patternProperties":{
".*":{
"description":"Match if either the value is the empty hash, or one major_versions/versions/releases contains the corresponding variable ('ansible_distrbution_*')",