Move all field descriptions to a single YAML file and generate version-
specific spec docs from that. Use reflection to walk the config
structs for each version and omit fields which don't exist in a
particular spec version.
We don't do this at a JSON Schema level because e.g. Resource is
referenced in multiple places with different semantics and different
doc strings.
For now, keep the code out of the external API. The plan is to add
functionality to support Butane docs generation, at which point
internal/doc/generate will move to config/doc.
Update the stabilization checklist to remove manual tweaking of
spec docs.
There should now be two copies of the golang latest schema,
internal/config/types/schema.go and
config/vX_Y_experimental/types/schema.go. Modify the generate script to
create internal/config/types/schema.go and then copy it to the
experimental config package.
Adds a json file defining the schema for an ignition config using
json-schema, and a generate script that uses schematyper to convert it
into golang structs inside the ignition codebase.