Add a few extra test cases for API validation of labels that would have

caught a bug that was in past versions. Also, copy the label key format
requirements from the API types.go comments into the labels doc.
This commit is contained in:
Alex Robinson
2015-02-04 22:21:34 +00:00
parent b852cd2c80
commit 6bb374ca54
2 changed files with 53 additions and 0 deletions

View File

@@ -11,6 +11,15 @@ key/value labels set on it, with at most one label with a particular key.
}
```
While there are no restrictions on the format of label values, label keys must be of the form:
```
label-key ::= prefixed-name | name
prefixed-name ::= prefix '/' name
prefix ::= DNS_SUBDOMAIN
name ::= DNS_LABEL
```
DNS_LABEL and DNS_SUBDOMAIN are defined in the [identifiers design doc](/docs/design/identifiers.md). The prefix is optional. If the prefix is not specified, the key is assumed to be private to the user. Other system components that wish to use labels must specify a prefix. The "kubernetes.io/" prefix is reserved for use by kubernetes components.
Unlike [names and UIDs](identifiers.md), labels do not provide uniqueness. In general, we expect many objects to carry the same label(s).
Via a _label selector_, the client/user can identify a set of objects. The label selector is the core grouping primitive in Kubernetes.