1.8 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 write the following annotations when reading from sources, and SHOULD respect the annotations when writing to syncs.
config.kubernetes.io/path
config.kubernetes.io/path records a relative path on a Resource. This annotation
SHOULD be set when reading Resources from 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
config.kubernetes.io/index records the index of a Resource into a file which may contain
multiple Resource. This annotation SHOULD be set when reading Resources from files.
When writing multiple Resources to the same file, the Resource SHOULD be written in the
relative order matching the index.
Example:
metadata:
annotations:
config.kubernetes.io/index: "0"
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"