@@ -118,6 +118,26 @@ Resources that support soft delete **should** include this field.
118118Services ** may** provide a ` purge_time ` value that is inexact, but the resource
119119** must not** be purged from the system before that time.
120120
121+ ### Annotations
122+
123+ To store small amounts of arbitrary data, a ` map<string, string> annotations `
124+ field ** may** be added.
125+
126+ The ` annotations ` field ** must** use the [ Kubernetes limits] [ ] to maintain wire
127+ compatibility, and ** should** require dot-namespaced annotation keys to prevent
128+ tools from trampling over one another.
129+
130+ Examples of information that might be valuable to store in annotations include:
131+
132+ - For CI/CD, an identifier of the pipeline run or version control identifier
133+ used to propagate.
134+
135+ ** Note:** Annotations are distinct from various forms of labels. Labels can be
136+ used by server-side policies, such as IAM conditions. Annotations exist to
137+ allow client tools to store their own state information without requiring a
138+ database.
139+
140+
121141## Further reading
122142
123143- For standardized codes, see AIP-143.
@@ -135,8 +155,11 @@ Before 2023-07, `purge_time` for soft-deleted resources was also called
135155
136156## Changelog
137157
158+ - ** 2023-08-14** : Introduce the term ` annotations ` from AIP-128.
138159- ** 2023-07-13** : Introduce the term ` purge_time ` .
139160- ** 2021-04-06** : Require output only field behavior for ` uid ` and ` delete_time `
140161 fields.
141162
163+ <!-- prettier-ignore -->
142164[ declarative-friendly resources ] : ./0128.md#resources
165+ [ kubernetes limits ] : https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
0 commit comments