I’m a big Kubernetes / GitOps fan and I’m pretty used to the YAML format to describe a Kubernetes object (manifests).
The concept:
apiVersion: apps/v1 # A reference to some known schema
kind: Deployment # A subpart of the schema
metadata:
name: some-name
description: The keys under metadata also adhere to some schema, at least in Kubernetes manifests
annotations:
some-key: some-value
spec:
key1: this whole object will adhere to the scheme referenced by apiVersion and kind (line 1 and 2)
key2: the file is invalid if it's not
Now and then I also see the format being used in other places/contexts
See for example the backstage content description. This is in that situation not (directly) related to Kubernetes objects. And obviously, it’s a nice and recognizable way to have some typing in your YAML files.
Is there a name for this concept or someplace where it is being described? I remember reading that this was some internal standard from Google long before Kubernetes.