- Config [imageregistry.operator.openshift.io/v1]
- Specification
- .spec
- .spec.affinity
- .spec.affinity.nodeAffinity
- .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- .spec.affinity.podAffinity
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- .spec.affinity.podAntiAffinity
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- .spec.proxy
- .spec.requests
- .spec.requests.read
- .spec.requests.write
- .spec.resources
- .spec.routes
- .spec.routes[]
- .spec.storage
- .spec.storage.azure
- .spec.storage.emptyDir
- .spec.storage.gcs
- .spec.storage.ibmcos
- .spec.storage.pvc
- .spec.storage.s3
- .spec.storage.s3.cloudFront
- .spec.storage.s3.cloudFront.privateKey
- .spec.storage.swift
- .spec.tolerations
- .spec.tolerations[]
- .status
- .status.conditions
- .status.conditions[]
- .status.generations
- .status.generations[]
- .status.storage
- .status.storage.azure
- .status.storage.emptyDir
- .status.storage.gcs
- .status.storage.ibmcos
- .status.storage.pvc
- .status.storage.s3
- .status.storage.s3.cloudFront
- .status.storage.s3.cloudFront.privateKey
- .status.storage.swift
- API endpoints
- Specification
Config [imageregistry.operator.openshift.io/v1]
Description
Config is the configuration object for a registry instance managed by the registry operator
Type
object
Required
metadata
spec
Specification
Property | Type | Description |
---|---|---|
|
| APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| ImageRegistrySpec defines the specs for the running registry. |
|
| ImageRegistryStatus reports image registry operational status. |
.spec
Description
ImageRegistrySpec defines the specs for the running registry.
Type
object
Required
managementState
replicas
Property | Type | Description |
---|---|---|
|
| affinity is a group of node affinity scheduling rules for the image registry pod(s). |
|
| defaultRoute indicates whether an external facing route for the registry should be created using the default generated hostname. |
|
| disableRedirect controls whether to route all data through the Registry, rather than redirecting to the backend. |
|
| httpSecret is the value needed by the registry to secure uploads, generated by default. |
|
| logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for their operands. Valid values are: “Normal”, “Debug”, “Trace”, “TraceAll”. Defaults to “Normal”. |
|
| logging is deprecated, use logLevel instead. |
|
| managementState indicates whether and how the operator should manage the component |
|
| nodeSelector defines the node selection constraints for the registry pod. |
|
| unsupportedConfigOverrides holds a sparse config that will override any previously set options. It only needs to be the fields to override it will end up overlaying in the following order: 1. hardcoded defaults 2. observedConfig 3. unsupportedConfigOverrides |
.spec.affinity
Description
affinity is a group of node affinity scheduling rules for the image registry pod(s).
Type
object
Property | Type | Description |
---|---|---|
|
| Describes node affinity scheduling rules for the pod. |
|
| Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). |
|
| Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). |
.spec.affinity.nodeAffinity
Description
Describes node affinity scheduling rules for the pod.
Type
object
Property | Type | Description |
---|---|---|
|
| The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. |
|
| An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it’s a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). |
|
| If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. |
.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
Description
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
Type
array
.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
Description
An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it’s a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
Type
object
Required
preference
weight
Property | Type | Description |
---|---|---|
|
| A node selector term, associated with the corresponding weight. |
|
| Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. |
.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
Description
A node selector term, associated with the corresponding weight.
Type
object
Property | Type | Description |
---|---|---|
|
| A list of node selector requirements by node’s labels. |
|
| A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| A list of node selector requirements by node’s fields. |
|
| A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
Description
A list of node selector requirements by node’s labels.
Type
array
.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
Description
A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| The label key that the selector applies to. |
|
| Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
|
| An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. |
.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
Description
A list of node selector requirements by node’s fields.
Type
array
.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
Description
A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| The label key that the selector applies to. |
|
| Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
|
| An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. |
.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
Description
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
Type
object
Required
nodeSelectorTerms
Property | Type | Description |
---|---|---|
|
| Required. A list of node selector terms. The terms are ORed. |
|
| A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. |
.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
Description
Required. A list of node selector terms. The terms are ORed.
Type
array
.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
Description
A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
Type
object
Property | Type | Description |
---|---|---|
|
| A list of node selector requirements by node’s labels. |
|
| A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| A list of node selector requirements by node’s fields. |
|
| A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
Description
A list of node selector requirements by node’s labels.
Type
array
.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
Description
A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| The label key that the selector applies to. |
|
| Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
|
| An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. |
.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
Description
A list of node selector requirements by node’s fields.
Type
array
.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
Description
A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| The label key that the selector applies to. |
|
| Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
|
| An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. |
.spec.affinity.podAffinity
Description
Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
Type
object
Property | Type | Description |
---|---|---|
|
| The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. |
|
| The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) |
|
| If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. |
|
| Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running |
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
Description
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
Type
array
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
Description
The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
Type
object
Required
podAffinityTerm
weight
Property | Type | Description |
---|---|---|
|
| Required. A pod affinity term, associated with the corresponding weight. |
|
| weight associated with matching the corresponding podAffinityTerm, in the range 1-100. |
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
Description
Required. A pod affinity term, associated with the corresponding weight.
Type
object
Required
topologyKey
Property | Type | Description |
---|---|---|
|
| A label query over a set of resources, in this case pods. |
|
| A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled. |
|
| namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace” |
|
| This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
Description
A label query over a set of resources, in this case pods.
Type
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. |
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
Description
A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
Type
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. |
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array
.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
Description
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
Type
array
.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
Description
Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
Type
object
Required
topologyKey
Property | Type | Description |
---|---|---|
|
| A label query over a set of resources, in this case pods. |
|
| A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled. |
|
| namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace” |
|
| This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
Description
A label query over a set of resources, in this case pods.
Type
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. |
.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array
.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
Description
A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
Type
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. |
.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array
.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
.spec.affinity.podAntiAffinity
Description
Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
Type
object
Property | Type | Description |
---|---|---|
|
| The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. |
|
| The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) |
|
| If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. |
|
| Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running |
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
Description
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
Type
array
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
Description
The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
Type
object
Required
podAffinityTerm
weight
Property | Type | Description |
---|---|---|
|
| Required. A pod affinity term, associated with the corresponding weight. |
|
| weight associated with matching the corresponding podAffinityTerm, in the range 1-100. |
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
Description
Required. A pod affinity term, associated with the corresponding weight.
Type
object
Required
topologyKey
Property | Type | Description |
---|---|---|
|
| A label query over a set of resources, in this case pods. |
|
| A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled. |
|
| namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace” |
|
| This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
Description
A label query over a set of resources, in this case pods.
Type
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. |
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
Description
A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
Type
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. |
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array
.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
Description
If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
Type
array
.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
Description
Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
Type
object
Required
topologyKey
Property | Type | Description |
---|---|---|
|
| A label query over a set of resources, in this case pods. |
|
| A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled. |
|
| namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace” |
|
| This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
Description
A label query over a set of resources, in this case pods.
Type
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. |
.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array
.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
Description
A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
Type
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed. |
.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array
.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
key
operator
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
.spec.proxy
Description
proxy defines the proxy to be used when calling master api, upstream registries, etc.
Type
object
Property | Type | Description |
---|---|---|
|
| http defines the proxy to be used by the image registry when accessing HTTP endpoints. |
|
| https defines the proxy to be used by the image registry when accessing HTTPS endpoints. |
|
| noProxy defines a comma-separated list of host names that shouldn’t go through any proxy. |
.spec.requests
Description
requests controls how many parallel requests a given registry instance will handle before queuing additional requests.
Type
object
Property | Type | Description |
---|---|---|
|
| read defines limits for image registry’s reads. |
|
| write defines limits for image registry’s writes. |
.spec.requests.read
Description
read defines limits for image registry’s reads.
Type
object
Property | Type | Description |
---|---|---|
|
| maxInQueue sets the maximum queued api requests to the registry. |
|
| maxRunning sets the maximum in flight api requests to the registry. |
|
| maxWaitInQueue sets the maximum time a request can wait in the queue before being rejected. |
.spec.requests.write
Description
write defines limits for image registry’s writes.
Type
object
Property | Type | Description |
---|---|---|
|
| maxInQueue sets the maximum queued api requests to the registry. |
|
| maxRunning sets the maximum in flight api requests to the registry. |
|
| maxWaitInQueue sets the maximum time a request can wait in the queue before being rejected. |
.spec.resources
Description
resources defines the resource requests+limits for the registry pod.
Type
object
Property | Type | Description |
---|---|---|
|
| Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
| Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
.spec.routes
Description
routes defines additional external facing routes which should be created for the registry.
Type
array
.spec.routes[]
Description
ImageRegistryConfigRoute holds information on external route access to image registry.
Type
object
Required
name
Property | Type | Description |
---|---|---|
|
| hostname for the route. |
|
| name of the route to be created. |
|
| secretName points to secret containing the certificates to be used by the route. |
.spec.storage
Description
storage details for configuring registry storage, e.g. S3 bucket coordinates.
Type
object
Property | Type | Description |
---|---|---|
|
| azure represents configuration that uses Azure Blob Storage. |
|
| emptyDir represents ephemeral storage on the pod’s host node. WARNING: this storage cannot be used with more than 1 replica and is not suitable for production use. When the pod is removed from a node for any reason, the data in the emptyDir is deleted forever. |
|
| gcs represents configuration that uses Google Cloud Storage. |
|
| ibmcos represents configuration that uses IBM Cloud Object Storage. |
|
| managementState indicates if the operator manages the underlying storage unit. If Managed the operator will remove the storage when this operator gets Removed. |
|
| pvc represents configuration that uses a PersistentVolumeClaim. |
|
| s3 represents configuration that uses Amazon Simple Storage Service. |
|
| swift represents configuration that uses OpenStack Object Storage. |
.spec.storage.azure
Description
azure represents configuration that uses Azure Blob Storage.
Type
object
Property | Type | Description |
---|---|---|
|
| accountName defines the account to be used by the registry. |
|
| cloudName is the name of the Azure cloud environment to be used by the registry. If empty, the operator will set it based on the infrastructure object. |
|
| container defines Azure’s container to be used by registry. |
.spec.storage.emptyDir
Description
emptyDir represents ephemeral storage on the pod’s host node. WARNING: this storage cannot be used with more than 1 replica and is not suitable for production use. When the pod is removed from a node for any reason, the data in the emptyDir is deleted forever.
Type
object
.spec.storage.gcs
Description
gcs represents configuration that uses Google Cloud Storage.
Type
object
Property | Type | Description |
---|---|---|
|
| bucket is the bucket name in which you want to store the registry’s data. Optional, will be generated if not provided. |
|
| keyID is the KMS key ID to use for encryption. Optional, buckets are encrypted by default on GCP. This allows for the use of a custom encryption key. |
|
| projectID is the Project ID of the GCP project that this bucket should be associated with. |
|
| region is the GCS location in which your bucket exists. Optional, will be set based on the installed GCS Region. |
.spec.storage.ibmcos
Description
ibmcos represents configuration that uses IBM Cloud Object Storage.
Type
object
Property | Type | Description |
---|---|---|
|
| bucket is the bucket name in which you want to store the registry’s data. Optional, will be generated if not provided. |
|
| location is the IBM Cloud location in which your bucket exists. Optional, will be set based on the installed IBM Cloud location. |
|
| resourceGroupName is the name of the IBM Cloud resource group that this bucket and its service instance is associated with. Optional, will be set based on the installed IBM Cloud resource group. |
|
| resourceKeyCRN is the CRN of the IBM Cloud resource key that is created for the service instance. Commonly referred as a service credential and must contain HMAC type credentials. Optional, will be computed if not provided. |
|
| serviceInstanceCRN is the CRN of the IBM Cloud Object Storage service instance that this bucket is associated with. Optional, will be computed if not provided. |
.spec.storage.pvc
Description
pvc represents configuration that uses a PersistentVolumeClaim.
Type
object
Property | Type | Description |
---|---|---|
|
| claim defines the Persisent Volume Claim’s name to be used. |
.spec.storage.s3
Description
s3 represents configuration that uses Amazon Simple Storage Service.
Type
object
Property | Type | Description |
---|---|---|
|
| bucket is the bucket name in which you want to store the registry’s data. Optional, will be generated if not provided. |
|
| cloudFront configures Amazon Cloudfront as the storage middleware in a registry. |
|
| encrypt specifies whether the registry stores the image in encrypted format or not. Optional, defaults to false. |
|
| keyID is the KMS key ID to use for encryption. Optional, Encrypt must be true, or this parameter is ignored. |
|
| region is the AWS region in which your bucket exists. Optional, will be set based on the installed AWS Region. |
|
| regionEndpoint is the endpoint for S3 compatible storage services. Optional, defaults based on the Region that is provided. |
|
| virtualHostedStyle enables using S3 virtual hosted style bucket paths with a custom RegionEndpoint Optional, defaults to false. |
.spec.storage.s3.cloudFront
Description
cloudFront configures Amazon Cloudfront as the storage middleware in a registry.
Type
object
Required
baseURL
keypairID
privateKey
Property | Type | Description |
---|---|---|
|
| baseURL contains the SCHEME://HOST[/PATH] at which Cloudfront is served. |
|
| duration is the duration of the Cloudfront session. |
|
| keypairID is key pair ID provided by AWS. |
|
| privateKey points to secret containing the private key, provided by AWS. |
.spec.storage.s3.cloudFront.privateKey
Description
privateKey points to secret containing the private key, provided by AWS.
Type
object
Required
key
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
| Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? |
|
| Specify whether the Secret or its key must be defined |
.spec.storage.swift
Description
swift represents configuration that uses OpenStack Object Storage.
Type
object
Property | Type | Description |
---|---|---|
|
| authURL defines the URL for obtaining an authentication token. |
|
| authVersion specifies the OpenStack Auth’s version. |
|
| container defines the name of Swift container where to store the registry’s data. |
|
| domain specifies Openstack’s domain name for Identity v3 API. |
|
| domainID specifies Openstack’s domain id for Identity v3 API. |
|
| regionName defines Openstack’s region in which container exists. |
|
| tenant defines Openstack tenant name to be used by registry. |
|
| tenant defines Openstack tenant id to be used by registry. |
.spec.tolerations
Description
tolerations defines the tolerations for the registry pod.
Type
array
.spec.tolerations[]
Description
The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
Type
object
Property | Type | Description |
---|---|---|
|
| Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. |
|
| Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. |
|
| Operator represents a key’s relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. |
|
| TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. |
|
| Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. |
.status
Description
ImageRegistryStatus reports image registry operational status.
Type
object
Required
storage
storageManaged
Property | Type | Description |
---|---|---|
|
| conditions is a list of conditions and their status |
|
| OperatorCondition is just the standard condition fields. |
|
| generations are used to determine when an item needs to be reconciled or has changed in a way that needs a reaction. |
|
| GenerationStatus keeps track of the generation for a given resource so that decisions about forced updates can be made. |
|
| observedGeneration is the last generation change you’ve dealt with |
|
| readyReplicas indicates how many replicas are ready and at the desired state |
|
| storage indicates the current applied storage configuration of the registry. |
|
| storageManaged is deprecated, please refer to Storage.managementState |
|
| version is the level this availability applies to |
.status.conditions
Description
conditions is a list of conditions and their status
Type
array
.status.conditions[]
Description
OperatorCondition is just the standard condition fields.
Type
object
Property | Type | Description |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
.status.generations
Description
generations are used to determine when an item needs to be reconciled or has changed in a way that needs a reaction.
Type
array
.status.generations[]
Description
GenerationStatus keeps track of the generation for a given resource so that decisions about forced updates can be made.
Type
object
Property | Type | Description |
---|---|---|
|
| group is the group of the thing you’re tracking |
|
| hash is an optional field set for resources without generation that are content sensitive like secrets and configmaps |
|
| lastGeneration is the last generation of the workload controller involved |
|
| name is the name of the thing you’re tracking |
|
| namespace is where the thing you’re tracking is |
|
| resource is the resource type of the thing you’re tracking |
.status.storage
Description
storage indicates the current applied storage configuration of the registry.
Type
object
Property | Type | Description |
---|---|---|
|
| azure represents configuration that uses Azure Blob Storage. |
|
| emptyDir represents ephemeral storage on the pod’s host node. WARNING: this storage cannot be used with more than 1 replica and is not suitable for production use. When the pod is removed from a node for any reason, the data in the emptyDir is deleted forever. |
|
| gcs represents configuration that uses Google Cloud Storage. |
|
| ibmcos represents configuration that uses IBM Cloud Object Storage. |
|
| managementState indicates if the operator manages the underlying storage unit. If Managed the operator will remove the storage when this operator gets Removed. |
|
| pvc represents configuration that uses a PersistentVolumeClaim. |
|
| s3 represents configuration that uses Amazon Simple Storage Service. |
|
| swift represents configuration that uses OpenStack Object Storage. |
.status.storage.azure
Description
azure represents configuration that uses Azure Blob Storage.
Type
object
Property | Type | Description |
---|---|---|
|
| accountName defines the account to be used by the registry. |
|
| cloudName is the name of the Azure cloud environment to be used by the registry. If empty, the operator will set it based on the infrastructure object. |
|
| container defines Azure’s container to be used by registry. |
.status.storage.emptyDir
Description
emptyDir represents ephemeral storage on the pod’s host node. WARNING: this storage cannot be used with more than 1 replica and is not suitable for production use. When the pod is removed from a node for any reason, the data in the emptyDir is deleted forever.
Type
object
.status.storage.gcs
Description
gcs represents configuration that uses Google Cloud Storage.
Type
object
Property | Type | Description |
---|---|---|
|
| bucket is the bucket name in which you want to store the registry’s data. Optional, will be generated if not provided. |
|
| keyID is the KMS key ID to use for encryption. Optional, buckets are encrypted by default on GCP. This allows for the use of a custom encryption key. |
|
| projectID is the Project ID of the GCP project that this bucket should be associated with. |
|
| region is the GCS location in which your bucket exists. Optional, will be set based on the installed GCS Region. |
.status.storage.ibmcos
Description
ibmcos represents configuration that uses IBM Cloud Object Storage.
Type
object
Property | Type | Description |
---|---|---|
|
| bucket is the bucket name in which you want to store the registry’s data. Optional, will be generated if not provided. |
|
| location is the IBM Cloud location in which your bucket exists. Optional, will be set based on the installed IBM Cloud location. |
|
| resourceGroupName is the name of the IBM Cloud resource group that this bucket and its service instance is associated with. Optional, will be set based on the installed IBM Cloud resource group. |
|
| resourceKeyCRN is the CRN of the IBM Cloud resource key that is created for the service instance. Commonly referred as a service credential and must contain HMAC type credentials. Optional, will be computed if not provided. |
|
| serviceInstanceCRN is the CRN of the IBM Cloud Object Storage service instance that this bucket is associated with. Optional, will be computed if not provided. |
.status.storage.pvc
Description
pvc represents configuration that uses a PersistentVolumeClaim.
Type
object
Property | Type | Description |
---|---|---|
|
| claim defines the Persisent Volume Claim’s name to be used. |
.status.storage.s3
Description
s3 represents configuration that uses Amazon Simple Storage Service.
Type
object
Property | Type | Description |
---|---|---|
|
| bucket is the bucket name in which you want to store the registry’s data. Optional, will be generated if not provided. |
|
| cloudFront configures Amazon Cloudfront as the storage middleware in a registry. |
|
| encrypt specifies whether the registry stores the image in encrypted format or not. Optional, defaults to false. |
|
| keyID is the KMS key ID to use for encryption. Optional, Encrypt must be true, or this parameter is ignored. |
|
| region is the AWS region in which your bucket exists. Optional, will be set based on the installed AWS Region. |
|
| regionEndpoint is the endpoint for S3 compatible storage services. Optional, defaults based on the Region that is provided. |
|
| virtualHostedStyle enables using S3 virtual hosted style bucket paths with a custom RegionEndpoint Optional, defaults to false. |
.status.storage.s3.cloudFront
Description
cloudFront configures Amazon Cloudfront as the storage middleware in a registry.
Type
object
Required
baseURL
keypairID
privateKey
Property | Type | Description |
---|---|---|
|
| baseURL contains the SCHEME://HOST[/PATH] at which Cloudfront is served. |
|
| duration is the duration of the Cloudfront session. |
|
| keypairID is key pair ID provided by AWS. |
|
| privateKey points to secret containing the private key, provided by AWS. |
.status.storage.s3.cloudFront.privateKey
Description
privateKey points to secret containing the private key, provided by AWS.
Type
object
Required
key
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
| Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? |
|
| Specify whether the Secret or its key must be defined |
.status.storage.swift
Description
swift represents configuration that uses OpenStack Object Storage.
Type
object
Property | Type | Description |
---|---|---|
|
| authURL defines the URL for obtaining an authentication token. |
|
| authVersion specifies the OpenStack Auth’s version. |
|
| container defines the name of Swift container where to store the registry’s data. |
|
| domain specifies Openstack’s domain name for Identity v3 API. |
|
| domainID specifies Openstack’s domain id for Identity v3 API. |
|
| regionName defines Openstack’s region in which container exists. |
|
| tenant defines Openstack tenant name to be used by registry. |
|
| tenant defines Openstack tenant id to be used by registry. |
API endpoints
The following API endpoints are available:
/apis/imageregistry.operator.openshift.io/v1/configs
DELETE
: delete collection of ConfigGET
: list objects of kind ConfigPOST
: create a Config
/apis/imageregistry.operator.openshift.io/v1/configs/{name}
DELETE
: delete a ConfigGET
: read the specified ConfigPATCH
: partially update the specified ConfigPUT
: replace the specified Config
/apis/imageregistry.operator.openshift.io/v1/configs/{name}/status
GET
: read status of the specified ConfigPATCH
: partially update status of the specified ConfigPUT
: replace status of the specified Config
/apis/imageregistry.operator.openshift.io/v1/configs
Parameter | Type | Description |
---|---|---|
|
| If ‘true’, then the output is pretty printed. |
HTTP method
DELETE
Description
delete collection of Config
Parameter | Type | Description |
---|---|---|
|
| allowWatchBookmarks requests watch events with type “BOOKMARK”. Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server’s discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. |
|
| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the “next key”. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. |
|
| A selector to restrict the list of returned objects by their fields. Defaults to everything. |
|
| A selector to restrict the list of returned objects by their labels. Defaults to everything. |
|
| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. |
|
| resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset |
|
| resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset |
|
| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. |
|
| Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion. |
HTTP code | Reponse body |
---|---|
200 - OK | Status_v2 schema |
401 - Unauthorized | Empty |
HTTP method
GET
Description
list objects of kind Config
Parameter | Type | Description |
---|---|---|
|
| allowWatchBookmarks requests watch events with type “BOOKMARK”. Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server’s discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. |
|
| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the “next key”. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. |
|
| A selector to restrict the list of returned objects by their fields. Defaults to everything. |
|
| A selector to restrict the list of returned objects by their labels. Defaults to everything. |
|
| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. |
|
| resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset |
|
| resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset |
|
| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. |
|
| Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion. |
HTTP code | Reponse body |
---|---|
200 - OK | ConfigList schema |
401 - Unauthorized | Empty |
HTTP method
POST
Description
create a Config
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. |
Parameter | Type | Description |
---|---|---|
| Config schema |
HTTP code | Reponse body |
---|---|
200 - OK | Config schema |
201 - Created | Config schema |
202 - Accepted | Config schema |
401 - Unauthorized | Empty |
/apis/imageregistry.operator.openshift.io/v1/configs/{name}
Parameter | Type | Description |
---|---|---|
|
| name of the Config |
Parameter | Type | Description |
---|---|---|
|
| If ‘true’, then the output is pretty printed. |
HTTP method
DELETE
Description
delete a Config
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately. |
|
| Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the “orphan” finalizer will be added to/removed from the object’s finalizers list. Either this field or PropagationPolicy may be set, but not both. |
|
| Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: ‘Orphan’ - orphan the dependents; ‘Background’ - allow the garbage collector to delete the dependents in the background; ‘Foreground’ - a cascading policy that deletes all dependents in the foreground. |
Parameter | Type | Description |
---|---|---|
| DeleteOptions_v2 schema |
HTTP code | Reponse body |
---|---|
200 - OK | Status_v2 schema |
202 - Accepted | Status_v2 schema |
401 - Unauthorized | Empty |
HTTP method
GET
Description
read the specified Config
Parameter | Type | Description |
---|---|---|
|
| resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset |
HTTP code | Reponse body |
---|---|
200 - OK | Config schema |
401 - Unauthorized | Empty |
HTTP method
PATCH
Description
partially update the specified Config
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. |
Parameter | Type | Description |
---|---|---|
| Patch schema |
HTTP code | Reponse body |
---|---|
200 - OK | Config schema |
401 - Unauthorized | Empty |
HTTP method
PUT
Description
replace the specified Config
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. |
Parameter | Type | Description |
---|---|---|
| Config schema |
HTTP code | Reponse body |
---|---|
200 - OK | Config schema |
201 - Created | Config schema |
401 - Unauthorized | Empty |
/apis/imageregistry.operator.openshift.io/v1/configs/{name}/status
Parameter | Type | Description |
---|---|---|
|
| name of the Config |
Parameter | Type | Description |
---|---|---|
|
| If ‘true’, then the output is pretty printed. |
HTTP method
GET
Description
read status of the specified Config
Parameter | Type | Description |
---|---|---|
|
| resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset |
HTTP code | Reponse body |
---|---|
200 - OK | Config schema |
401 - Unauthorized | Empty |
HTTP method
PATCH
Description
partially update status of the specified Config
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. |
Parameter | Type | Description |
---|---|---|
| Patch schema |
HTTP code | Reponse body |
---|---|
200 - OK | Config schema |
401 - Unauthorized | Empty |
HTTP method
PUT
Description
replace status of the specified Config
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. |
Parameter | Type | Description |
---|---|---|
| Config schema |
HTTP code | Reponse body |
---|---|
200 - OK | Config schema |
201 - Created | Config schema |
401 - Unauthorized | Empty |