[16:41] <minimal> looking at the config schema I see various entries marked as "required: [ "abc" ]" but there is nothing on the docs website to highlight those things that are required. Should this not be reflected in the (generated) docs?
[17:51] <blackboxsw> minimal: This should probably be reflected in generated docs, cutting down on unnecessary failures to deploy, only to have to find schema warnings in logs and back into the actual errors with either `sudo cloud-init schema --system --annotate`  or `cloud-init schema  --config-file my.yaml --annotate`
[17:53] <blackboxsw> it's not ideal for folks to try jumping  into https://github.com/canonical/cloud-init/blob/main/cloudinit/config/schemas/schema-cloud-config-v1.json#L3178 to find why their config failed.
[17:59] <minimal> blackboxsw: I noticed some module settings stated "Required" or "Optional" in their schema definitions, rather than using "required" in the same to indicate that
[18:00] <minimal> s/in the same/in the schema definition/
[18:01] <minimal> basically some required settings are not enforced by the schema
[18:02] <minimal> they're only "enforced" by their description saying they're required
[18:09] <blackboxsw> just filed https://github.com/canonical/cloud-init/issues/4323 for standardized required key doc/markup. Any on  keys documenting "required" without schema to back it up is a bug and maybe we need a separate issue with one case and we just take that as a time to review/cleanup all "doc-only required keys"
[18:09] -ubottu:#cloud-init- Issue 4323 in canonical/cloud-init "[docs]: module schema docs should highlight required keys in a common way per config module" [Open]
[18:18] <minimal> blackboxsw: as an example, as I'm working on it currently, cc_keyboard "Config schema" page on the docs website indicate that "layout" is required, but that's just text in the description field of the schema, there's no "required" attribute to back that up. I could fix that as part of #4278. Also I assume there's no schema attribute to tag "required" only for specific distro(s)
[18:33] <blackboxsw> minimal: +1 on the keyboard atschema while you are in cc_keyboard module. Separate it's probably worth a whole scrub of config module keys which document "required" just to validate that the schema matches the "box label"
[18:34] <blackboxsw> minimal: there are not distro-specific "required", so cases that are different per distro will likely need documentation in the "description" of said keys in those cases and we'd probably avoid declaring such a key as "required" in those cases.
[18:34] <minimal> I've had to restore to adding "Required for Alpine, optional for others" to the description of the "variant" attribute for cc_keyboard
[18:35] <blackboxsw> we could evolve separate schemas per distro, but that's a big undertaking for the number of corner cases I'd expect
[18:35] <blackboxsw>  "Required for Alpine, optional for other": yeah that sounds good for now