Skip to content

Commit 03c353e

Browse files
authored
Merge pull request #40099 from KnVerey/krm-functions-stds
Add annotations reserved by the KRM Functions Specification
2 parents dc359fe + dc203c1 commit 03c353e

File tree

1 file changed

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

1 file changed

+47
-0
lines changed

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

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,53 @@ 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 objects
112+
113+
This annotation is used in manifests to mark an object as local configuration that should not be submitted to the Kubernetes API.
114+
115+
A value of "true" for this annotation declares that the object is only consumed by client-side tooling and should not be submitted to the API server.
116+
117+
A value of "false" can be used to declare that the object should be submitted to the API server even when it would otherwise be assumed to be local.
118+
119+
This annotation is part of the Kubernetes Resource Model (KRM) Functions Specification, which is used by Kustomize and similar third-party tools. For example, Kustomize removes objects with this annotation from its final build output.
120+
121+
122+
### internal.config.kubernetes.io/* (reserved prefix) {#internal.config.kubernetes.io-reserved-wildcard}
123+
124+
Used on: All objects
125+
126+
This prefix is reserved for internal use by tools that act as orchestrators in accordance with the Kubernetes Resource Model (KRM) Functions Specification. Annotations with this prefix are internal to the orchestration process and are not persisted to the manifests on the filesystem. In other words, the orchestrator tool should set these annotations when reading files from the local filesystem and remove them when writing the output of functions back to the filesystem.
127+
128+
A KRM function **must not** modify annotations with this prefix, unless otherwise specified for a given annotation. This enables orchestrator tools to add additional internal annotations, without requiring changes to existing functions.
129+
130+
### internal.config.kubernetes.io/path
131+
132+
Example: `internal.config.kubernetes.io/path: "relative/file/path.yaml"`
133+
134+
Used on: All objects
135+
136+
This annotation records the slash-delimited, OS-agnostic, relative path to the manifest file the object was loaded from. The path is relative to a fixed location on the filesystem, determined by the orchestrator tool.
137+
138+
This annotation is part of the Kubernetes Resource Model (KRM) Functions Specification, which is used by Kustomize and similar third-party tools.
139+
140+
A KRM Function **should not** modify this annotation on input objects unless it is modifying the referenced files. A KRM Function **may** include this annotation on objects it generates.
141+
142+
### internal.config.kubernetes.io/index
143+
144+
Example: `internal.config.kubernetes.io/index: "2"`
145+
146+
Used on: All objects
147+
148+
This annotation records the zero-indexed position of the YAML document that contains the object within the manifest file the object was loaded from. Note that YAML documents are separated by three dashes (`---`) and can each contain one object. When this annotation is not specified, a value of 0 is implied.
149+
150+
This annotation is part of the Kubernetes Resource Model (KRM) Functions Specification, which is used by Kustomize and similar third-party tools.
151+
152+
A KRM Function **should not** modify this annotation on input objects unless it is modifying the referenced files. A KRM Function **may** include this annotation on objects it generates.
153+
107154
### kubernetes.io/arch
108155

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

0 commit comments

Comments
 (0)