It looks like you are defining a new way to describe schemas using YAML; i.e. creating a new interface descriptor language (IDL).
e.g. job.yaml is actually describing a job resource.
Why not use OpenAPI to describe resources? Additionally you could wrap it in Kubernetes CRD.
Even if you don't use Kubernetes you can still use the Kubernetes resource model and use CRD's as a familiar way to describe resources.
It looks like you are defining a new way to describe schemas using YAML; i.e. creating a new interface descriptor language (IDL).
e.g. job.yaml is actually describing a job resource.
Why not use OpenAPI to describe resources? Additionally you could wrap it in Kubernetes CRD.
Even if you don't use Kubernetes you can still use the Kubernetes resource model and use CRD's as a familiar way to describe resources.