Skip to content

Commit b9700f0

Browse files
committed
Add annotations reserved by the KRM Functions Specification
1 parent 25d5291 commit b9700f0

File tree

1 file changed

+44
-0
lines changed
  • content/en/docs/reference/labels-annotations-taints

1 file changed

+44
-0
lines changed

content/en/docs/reference/labels-annotations-taints/_index.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,50 @@ The cluster autoscaler never evicts Pods that have this annotation explicitly se
104104
`"false"`; you could set that on an important Pod that you want to keep running.
105105
If this annotation is not set then the cluster autoscaler follows its Pod-level behavior.
106106

107+
### config.kubernetes.io/local-config
108+
109+
Example: `config.kubernetes.io/local-config: "true"`
110+
111+
Used on: All resources
112+
113+
This annotation is used to mark a resource as a local configuration file that should not be applied to the API server. It is part of the [Kubernetes Resource Model (KRM) Functions Specification](https://github.com/kubernetes-sigs/kustomize/blob/ce3e394a414387ce09679523902e981414b09a1a/cmd/config/docs/api-conventions/functions-spec.md) that is used by tools such as Kustomize and Kpt. For example, Kustomize removes objects with this annotation from its final build output.
114+
115+
A value of "true" for this annotation declares that the resource is only consumed by client-side tooling and should not be applied to the API server.
116+
117+
A value of "false" can be used to declare that a resource should be applied to the API server even when it would otherwise be assumed to be local.
118+
119+
### internal.config.kubernetes.io/* (reserved prefix)
120+
121+
Used on: All resources
122+
123+
This prefix is reserved for internal use by tools that act as orchestrators in accordance with the [Kubernetes Resource Model (KRM) Functions Specification](https://github.com/kubernetes-sigs/kustomize/blob/ce3e394a414387ce09679523902e981414b09a1a/cmd/config/docs/api-conventions/functions-spec.md). Annotations with this prefix are internal to the orchestration process and are not persisted to resource manifests on the filesystem. In other words, the orchestrator should set these annotations when reading files from the local filesystem and remove them when writing the output of functions back to the filesystem.
124+
125+
A KRM function **must not** modify annotations with this prefix, unless otherwise specified for a given annotation. This enables orchestrators to add additional internal annotations, without requiring changes to existing functions.
126+
127+
### internal.config.kubernetes.io/path
128+
129+
Example: `internal.config.kubernetes.io/path: "relative/file/path.yaml"`
130+
131+
Used on: All resources
132+
133+
Records the slash-delimited, OS-agnostic, relative file path to a resource. The path is relative to a fixed location on the filesystem, determined by the orchestrator.
134+
135+
This annotation is part of the [Kubernetes Resource Model (KRM) Functions Specification](https://github.com/kubernetes-sigs/kustomize/blob/ce3e394a414387ce09679523902e981414b09a1a/cmd/config/docs/api-conventions/functions-spec.md) that is used by function orchestrator tools such as Kustomize and Kpt.
136+
137+
A KRM Function **should not** modify this annotation on input resources unless it is modifying the referenced files. A KRM Function **may** include this annotation on resources it generates.
138+
139+
### internal.config.kubernetes.io/index
140+
141+
Example: `internal.config.kubernetes.io/index: "2"`
142+
143+
Used on: All resources
144+
145+
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. When this annotation is not specified, it implies a value of 0.
146+
147+
This annotation is part of the [Kubernetes Resource Model (KRM) Functions Specification](https://github.com/kubernetes-sigs/kustomize/blob/ce3e394a414387ce09679523902e981414b09a1a/cmd/config/docs/api-conventions/functions-spec.md) that is used by function orchestrator tools such as Kustomize and Kpt.
148+
149+
A KRM Function **should not** modify this annotation on input resources unless it is modifying the referenced files. A KRM Function **may** include this annotation on resources it generates.
150+
107151
### kubernetes.io/arch
108152

109153
Example: `kubernetes.io/arch: "amd64"`

0 commit comments

Comments
 (0)