2.1 KiB
Configuration IO API Semantics
Resource Configuration may be read / written from / to sources such as directories, stdin|out or network. Tools may be composed using pipes such that the tools writing Resource Configuration may be a different tool from the one that read the configuration. In order for tools to be composed in this way, while preserving origin information -- such as the original file, index, etc.:
Tools SHOULD insert the following annotations when reading from sources, and SHOULD delete the annotations when writing to sinks.
config.kubernetes.io/path
Records the slash-delimited, OS-agnostic, relative file path to a Resource.
This annotation SHOULD be set when reading Resources from files. It SHOULD be unset when writing Resources to files. When writing Resources to a directory, the Resource SHOULD be written to the corresponding path relative to that directory.
Example:
metadata:
annotations:
config.kubernetes.io/path: "relative/file/path.yaml"
config.kubernetes.io/index
Records the index of a Resource in file. In a multi-object YAML file, Resources are separated
by three dashes (---), and the index represents the position of the Resource starting from zero.
This annotation SHOULD be set when reading Resources from files. It SHOULD be unset when writing Resources to files. When writing multiple Resources to the same file, the Resource SHOULD be written in the relative order matching the index.
When this annotation is not specified, it implies a value of 0.
Example:
metadata:
annotations:
config.kubernetes.io/path: "relative/file/path.yaml"
config.kubernetes.io/index: 2
This represents the third Resource in the file.
config.kubernetes.io/local-config
config.kubernetes.io/local-config declares that the configuration is to local tools
rather than a remote Resource. e.g. The Kustomization config in a kustomization.yaml
SHOULD contain this annotation so that tools know it is not intended to be sent to
the Kubernetes api server.
Example:
metadata:
annotations:
config.kubernetes.io/local-config: "true"