Currently, kwalify cannot support something like the following:
users:
steve:
uid: 501
shell: /bin/bash
james:
uid: 502
shell: /bin/bash
When 'steve' and 'james' are keys that are not defined in the schema. Instead, kwalify would support the following:
users:
- name: steve
uid: 501
shell: /bin/bash
- name: james
uid: 502
shell: /bin/bash
However, the second example prevents you from using the merge << functionality. Currently we compile a yaml document from many other documents and we use the merge functionality to override/add to certain parts of the document. You cannot use the merge functionality with sequence values, just with the hash keys ( or at least, I have not been able to figure out how ).
So there ends up being no way to create a schema that would validate the following document:
users: &users
steve: &users_steve
name: Steven Hajducko
uid: 501
james: &users_james
name: James Zappia
uid: 502
users:
<<: *users
mark: &users_mark
name: Mark Smith
uid: 503
james:
<<: *users_james
name: James Massara
Since we do not know the what the names of the keys in the 'users' mapping are beforehand.
You can do this already. Just specify "=" as key. This special token is used as a placeholder for any key.
I suggest to close this ticket.