1299 lines
88 KiB
YAML
1299 lines
88 KiB
YAML
|
|
apiVersion: apiextensions.k8s.io/v1
|
||
|
|
kind: CustomResourceDefinition
|
||
|
|
metadata:
|
||
|
|
annotations:
|
||
|
|
controller-gen.kubebuilder.io/version: v0.16.3
|
||
|
|
name: quayregistries.quay.redhat.com
|
||
|
|
spec:
|
||
|
|
group: quay.redhat.com
|
||
|
|
names:
|
||
|
|
kind: QuayRegistry
|
||
|
|
listKind: QuayRegistryList
|
||
|
|
plural: quayregistries
|
||
|
|
singular: quayregistry
|
||
|
|
scope: Namespaced
|
||
|
|
versions:
|
||
|
|
- additionalPrinterColumns:
|
||
|
|
- jsonPath: .status.currentVersion
|
||
|
|
name: Version
|
||
|
|
type: string
|
||
|
|
- jsonPath: .status.registryEndpoint
|
||
|
|
name: Endpoint
|
||
|
|
type: string
|
||
|
|
- jsonPath: .status.conditions[?(@.type=="Available")].status
|
||
|
|
name: Available
|
||
|
|
type: string
|
||
|
|
- jsonPath: .metadata.creationTimestamp
|
||
|
|
name: Age
|
||
|
|
type: date
|
||
|
|
name: v1
|
||
|
|
schema:
|
||
|
|
openAPIV3Schema:
|
||
|
|
description: QuayRegistry is the Schema for the quayregistries API.
|
||
|
|
properties:
|
||
|
|
apiVersion:
|
||
|
|
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
|
||
|
|
type: string
|
||
|
|
kind:
|
||
|
|
description: |-
|
||
|
|
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
|
||
|
|
type: string
|
||
|
|
metadata:
|
||
|
|
type: object
|
||
|
|
spec:
|
||
|
|
description: QuayRegistrySpec defines the desired state of QuayRegistry.
|
||
|
|
properties:
|
||
|
|
components:
|
||
|
|
description: Components declare how the Operator should handle backing
|
||
|
|
Quay services.
|
||
|
|
items:
|
||
|
|
description: Component describes how the Operator should handle
|
||
|
|
a backing Quay service.
|
||
|
|
properties:
|
||
|
|
kind:
|
||
|
|
description: Kind is the unique name of this type of component.
|
||
|
|
enum:
|
||
|
|
- quay
|
||
|
|
- postgres
|
||
|
|
- clair
|
||
|
|
- clairpostgres
|
||
|
|
- redis
|
||
|
|
- horizontalpodautoscaler
|
||
|
|
- objectstorage
|
||
|
|
- route
|
||
|
|
- mirror
|
||
|
|
- monitoring
|
||
|
|
- tls
|
||
|
|
type: string
|
||
|
|
managed:
|
||
|
|
description: |-
|
||
|
|
Managed indicates whether or not the Operator is responsible for the lifecycle of this component.
|
||
|
|
Default is true.
|
||
|
|
type: boolean
|
||
|
|
overrides:
|
||
|
|
description: Overrides holds information regarding component
|
||
|
|
specific configurations.
|
||
|
|
properties:
|
||
|
|
affinity:
|
||
|
|
description: Affinity is a group of affinity scheduling
|
||
|
|
rules.
|
||
|
|
properties:
|
||
|
|
nodeAffinity:
|
||
|
|
description: Describes node affinity scheduling rules
|
||
|
|
for the pod.
|
||
|
|
properties:
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
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).
|
||
|
|
properties:
|
||
|
|
preference:
|
||
|
|
description: A node selector term, associated
|
||
|
|
with the corresponding weight.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: A list of node selector requirements
|
||
|
|
by node's labels.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
||
|
|
that relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: The label key that
|
||
|
|
the selector applies to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
Represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchFields:
|
||
|
|
description: A list of node selector requirements
|
||
|
|
by node's fields.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
||
|
|
that relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: The label key that
|
||
|
|
the selector applies to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
Represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
weight:
|
||
|
|
description: Weight associated with matching
|
||
|
|
the corresponding nodeSelectorTerm, in the
|
||
|
|
range 1-100.
|
||
|
|
format: int32
|
||
|
|
type: integer
|
||
|
|
required:
|
||
|
|
- preference
|
||
|
|
- weight
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
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.
|
||
|
|
properties:
|
||
|
|
nodeSelectorTerms:
|
||
|
|
description: Required. A list of node selector
|
||
|
|
terms. The terms are ORed.
|
||
|
|
items:
|
||
|
|
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.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: A list of node selector requirements
|
||
|
|
by node's labels.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
||
|
|
that relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: The label key that
|
||
|
|
the selector applies to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
Represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchFields:
|
||
|
|
description: A list of node selector requirements
|
||
|
|
by node's fields.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
||
|
|
that relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: The label key that
|
||
|
|
the selector applies to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
Represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- nodeSelectorTerms
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
type: object
|
||
|
|
podAffinity:
|
||
|
|
description: Describes pod affinity scheduling rules
|
||
|
|
(e.g. co-locate this pod in the same node, zone, etc.
|
||
|
|
as some other pod(s)).
|
||
|
|
properties:
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
description: The weights of all of the matched
|
||
|
|
WeightedPodAffinityTerm fields are added per-node
|
||
|
|
to find the most preferred node(s)
|
||
|
|
properties:
|
||
|
|
podAffinityTerm:
|
||
|
|
description: Required. A pod affinity term,
|
||
|
|
associated with the corresponding weight.
|
||
|
|
properties:
|
||
|
|
labelSelector:
|
||
|
|
description: A label query over a set
|
||
|
|
of resources, in this case pods.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: matchExpressions is a
|
||
|
|
list of label selector requirements.
|
||
|
|
The requirements are ANDed.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
|
relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: key is the label
|
||
|
|
key that the selector applies
|
||
|
|
to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
operator represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchLabels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
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.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: matchExpressions is a
|
||
|
|
list of label selector requirements.
|
||
|
|
The requirements are ANDed.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
|
relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: key is the label
|
||
|
|
key that the selector applies
|
||
|
|
to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
operator represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchLabels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
namespaces:
|
||
|
|
description: |-
|
||
|
|
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".
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
topologyKey:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: string
|
||
|
|
required:
|
||
|
|
- topologyKey
|
||
|
|
type: object
|
||
|
|
weight:
|
||
|
|
description: |-
|
||
|
|
weight associated with matching the corresponding podAffinityTerm,
|
||
|
|
in the range 1-100.
|
||
|
|
format: int32
|
||
|
|
type: integer
|
||
|
|
required:
|
||
|
|
- podAffinityTerm
|
||
|
|
- weight
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
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
|
||
|
|
properties:
|
||
|
|
labelSelector:
|
||
|
|
description: A label query over a set of resources,
|
||
|
|
in this case pods.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: matchExpressions is a list
|
||
|
|
of label selector requirements. The
|
||
|
|
requirements are ANDed.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
|
relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: key is the label key
|
||
|
|
that the selector applies to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
operator represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchLabels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
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.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: matchExpressions is a list
|
||
|
|
of label selector requirements. The
|
||
|
|
requirements are ANDed.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
|
relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: key is the label key
|
||
|
|
that the selector applies to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
operator represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchLabels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
namespaces:
|
||
|
|
description: |-
|
||
|
|
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".
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
topologyKey:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: string
|
||
|
|
required:
|
||
|
|
- topologyKey
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
type: object
|
||
|
|
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)).
|
||
|
|
properties:
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
description: The weights of all of the matched
|
||
|
|
WeightedPodAffinityTerm fields are added per-node
|
||
|
|
to find the most preferred node(s)
|
||
|
|
properties:
|
||
|
|
podAffinityTerm:
|
||
|
|
description: Required. A pod affinity term,
|
||
|
|
associated with the corresponding weight.
|
||
|
|
properties:
|
||
|
|
labelSelector:
|
||
|
|
description: A label query over a set
|
||
|
|
of resources, in this case pods.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: matchExpressions is a
|
||
|
|
list of label selector requirements.
|
||
|
|
The requirements are ANDed.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
|
relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: key is the label
|
||
|
|
key that the selector applies
|
||
|
|
to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
operator represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchLabels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
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.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: matchExpressions is a
|
||
|
|
list of label selector requirements.
|
||
|
|
The requirements are ANDed.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
|
relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: key is the label
|
||
|
|
key that the selector applies
|
||
|
|
to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
operator represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchLabels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
namespaces:
|
||
|
|
description: |-
|
||
|
|
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".
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
topologyKey:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: string
|
||
|
|
required:
|
||
|
|
- topologyKey
|
||
|
|
type: object
|
||
|
|
weight:
|
||
|
|
description: |-
|
||
|
|
weight associated with matching the corresponding podAffinityTerm,
|
||
|
|
in the range 1-100.
|
||
|
|
format: int32
|
||
|
|
type: integer
|
||
|
|
required:
|
||
|
|
- podAffinityTerm
|
||
|
|
- weight
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
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
|
||
|
|
properties:
|
||
|
|
labelSelector:
|
||
|
|
description: A label query over a set of resources,
|
||
|
|
in this case pods.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: matchExpressions is a list
|
||
|
|
of label selector requirements. The
|
||
|
|
requirements are ANDed.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
|
relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: key is the label key
|
||
|
|
that the selector applies to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
operator represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchLabels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
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.
|
||
|
|
properties:
|
||
|
|
matchExpressions:
|
||
|
|
description: matchExpressions is a list
|
||
|
|
of label selector requirements. The
|
||
|
|
requirements are ANDed.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
|
relates the key and values.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: key is the label key
|
||
|
|
that the selector applies to.
|
||
|
|
type: string
|
||
|
|
operator:
|
||
|
|
description: |-
|
||
|
|
operator represents a key's relationship to a set of values.
|
||
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
||
|
|
type: string
|
||
|
|
values:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
- operator
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
matchLabels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
namespaces:
|
||
|
|
description: |-
|
||
|
|
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".
|
||
|
|
items:
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
topologyKey:
|
||
|
|
description: |-
|
||
|
|
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.
|
||
|
|
type: string
|
||
|
|
required:
|
||
|
|
- topologyKey
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
annotations:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
env:
|
||
|
|
items:
|
||
|
|
description: EnvVar represents an environment variable
|
||
|
|
present in a Container.
|
||
|
|
properties:
|
||
|
|
name:
|
||
|
|
description: Name of the environment variable. Must
|
||
|
|
be a C_IDENTIFIER.
|
||
|
|
type: string
|
||
|
|
value:
|
||
|
|
description: |-
|
||
|
|
Variable references $(VAR_NAME) are expanded
|
||
|
|
using the previously defined environment variables in the container and
|
||
|
|
any service environment variables. If a variable cannot be resolved,
|
||
|
|
the reference in the input string will be unchanged. Double $$ are reduced
|
||
|
|
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
||
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
||
|
|
Escaped references will never be expanded, regardless of whether the variable
|
||
|
|
exists or not.
|
||
|
|
Defaults to "".
|
||
|
|
type: string
|
||
|
|
valueFrom:
|
||
|
|
description: Source for the environment variable's
|
||
|
|
value. Cannot be used if value is not empty.
|
||
|
|
properties:
|
||
|
|
configMapKeyRef:
|
||
|
|
description: Selects a key of a ConfigMap.
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: The key to select.
|
||
|
|
type: string
|
||
|
|
name:
|
||
|
|
description: |-
|
||
|
|
Name of the referent.
|
||
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||
|
|
type: string
|
||
|
|
optional:
|
||
|
|
description: Specify whether the ConfigMap
|
||
|
|
or its key must be defined
|
||
|
|
type: boolean
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
fieldRef:
|
||
|
|
description: |-
|
||
|
|
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
|
||
|
|
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
|
||
|
|
properties:
|
||
|
|
apiVersion:
|
||
|
|
description: Version of the schema the FieldPath
|
||
|
|
is written in terms of, defaults to "v1".
|
||
|
|
type: string
|
||
|
|
fieldPath:
|
||
|
|
description: Path of the field to select in
|
||
|
|
the specified API version.
|
||
|
|
type: string
|
||
|
|
required:
|
||
|
|
- fieldPath
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
resourceFieldRef:
|
||
|
|
description: |-
|
||
|
|
Selects a resource of the container: only resources limits and requests
|
||
|
|
(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
|
||
|
|
properties:
|
||
|
|
containerName:
|
||
|
|
description: 'Container name: required for
|
||
|
|
volumes, optional for env vars'
|
||
|
|
type: string
|
||
|
|
divisor:
|
||
|
|
anyOf:
|
||
|
|
- type: integer
|
||
|
|
- type: string
|
||
|
|
description: Specifies the output format of
|
||
|
|
the exposed resources, defaults to "1"
|
||
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||
|
|
x-kubernetes-int-or-string: true
|
||
|
|
resource:
|
||
|
|
description: 'Required: resource to select'
|
||
|
|
type: string
|
||
|
|
required:
|
||
|
|
- resource
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
secretKeyRef:
|
||
|
|
description: Selects a key of a secret in the
|
||
|
|
pod's namespace
|
||
|
|
properties:
|
||
|
|
key:
|
||
|
|
description: The key of the secret to select
|
||
|
|
from. Must be a valid secret key.
|
||
|
|
type: string
|
||
|
|
name:
|
||
|
|
description: |-
|
||
|
|
Name of the referent.
|
||
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||
|
|
type: string
|
||
|
|
optional:
|
||
|
|
description: Specify whether the Secret or
|
||
|
|
its key must be defined
|
||
|
|
type: boolean
|
||
|
|
required:
|
||
|
|
- key
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
type: object
|
||
|
|
required:
|
||
|
|
- name
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
labels:
|
||
|
|
additionalProperties:
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
replicas:
|
||
|
|
format: int32
|
||
|
|
minimum: 0
|
||
|
|
nullable: true
|
||
|
|
type: integer
|
||
|
|
resources:
|
||
|
|
description: Resources describes the resource limits and
|
||
|
|
requests for a component.
|
||
|
|
properties:
|
||
|
|
limits:
|
||
|
|
additionalProperties:
|
||
|
|
anyOf:
|
||
|
|
- type: integer
|
||
|
|
- type: string
|
||
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||
|
|
x-kubernetes-int-or-string: true
|
||
|
|
description: ResourceList is a set of (resource name,
|
||
|
|
quantity) pairs.
|
||
|
|
type: object
|
||
|
|
requests:
|
||
|
|
additionalProperties:
|
||
|
|
anyOf:
|
||
|
|
- type: integer
|
||
|
|
- type: string
|
||
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||
|
|
x-kubernetes-int-or-string: true
|
||
|
|
description: ResourceList is a set of (resource name,
|
||
|
|
quantity) pairs.
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
securityContext:
|
||
|
|
description: |-
|
||
|
|
SecurityContext holds security configuration that will be applied to a container.
|
||
|
|
Some fields are present in both SecurityContext and PodSecurityContext. When both
|
||
|
|
are set, the values in SecurityContext take precedence.
|
||
|
|
properties:
|
||
|
|
allowPrivilegeEscalation:
|
||
|
|
description: |-
|
||
|
|
AllowPrivilegeEscalation controls whether a process can gain more
|
||
|
|
privileges than its parent process. This bool directly controls if
|
||
|
|
the no_new_privs flag will be set on the container process.
|
||
|
|
AllowPrivilegeEscalation is true always when the container is:
|
||
|
|
1) run as Privileged
|
||
|
|
2) has CAP_SYS_ADMIN
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
type: boolean
|
||
|
|
capabilities:
|
||
|
|
description: |-
|
||
|
|
The capabilities to add/drop when running containers.
|
||
|
|
Defaults to the default set of capabilities granted by the container runtime.
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
properties:
|
||
|
|
add:
|
||
|
|
description: Added capabilities
|
||
|
|
items:
|
||
|
|
description: Capability represent POSIX capabilities
|
||
|
|
type
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
drop:
|
||
|
|
description: Removed capabilities
|
||
|
|
items:
|
||
|
|
description: Capability represent POSIX capabilities
|
||
|
|
type
|
||
|
|
type: string
|
||
|
|
type: array
|
||
|
|
type: object
|
||
|
|
privileged:
|
||
|
|
description: |-
|
||
|
|
Run container in privileged mode.
|
||
|
|
Processes in privileged containers are essentially equivalent to root on the host.
|
||
|
|
Defaults to false.
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
type: boolean
|
||
|
|
procMount:
|
||
|
|
description: |-
|
||
|
|
procMount denotes the type of proc mount to use for the containers.
|
||
|
|
The default is DefaultProcMount which uses the container runtime defaults for
|
||
|
|
readonly paths and masked paths.
|
||
|
|
This requires the ProcMountType feature flag to be enabled.
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
type: string
|
||
|
|
readOnlyRootFilesystem:
|
||
|
|
description: |-
|
||
|
|
Whether this container has a read-only root filesystem.
|
||
|
|
Default is false.
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
type: boolean
|
||
|
|
runAsGroup:
|
||
|
|
description: |-
|
||
|
|
The GID to run the entrypoint of the container process.
|
||
|
|
Uses runtime default if unset.
|
||
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
||
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
format: int64
|
||
|
|
type: integer
|
||
|
|
runAsNonRoot:
|
||
|
|
description: |-
|
||
|
|
Indicates that the container must run as a non-root user.
|
||
|
|
If true, the Kubelet will validate the image at runtime to ensure that it
|
||
|
|
does not run as UID 0 (root) and fail to start the container if it does.
|
||
|
|
If unset or false, no such validation will be performed.
|
||
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
||
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
||
|
|
type: boolean
|
||
|
|
runAsUser:
|
||
|
|
description: |-
|
||
|
|
The UID to run the entrypoint of the container process.
|
||
|
|
Defaults to user specified in image metadata if unspecified.
|
||
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
||
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
format: int64
|
||
|
|
type: integer
|
||
|
|
seLinuxOptions:
|
||
|
|
description: |-
|
||
|
|
The SELinux context to be applied to the container.
|
||
|
|
If unspecified, the container runtime will allocate a random SELinux context for each
|
||
|
|
container. May also be set in PodSecurityContext. If set in both SecurityContext and
|
||
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
properties:
|
||
|
|
level:
|
||
|
|
description: Level is SELinux level label that applies
|
||
|
|
to the container.
|
||
|
|
type: string
|
||
|
|
role:
|
||
|
|
description: Role is a SELinux role label that applies
|
||
|
|
to the container.
|
||
|
|
type: string
|
||
|
|
type:
|
||
|
|
description: Type is a SELinux type label that applies
|
||
|
|
to the container.
|
||
|
|
type: string
|
||
|
|
user:
|
||
|
|
description: User is a SELinux user label that applies
|
||
|
|
to the container.
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
seccompProfile:
|
||
|
|
description: |-
|
||
|
|
The seccomp options to use by this container. If seccomp options are
|
||
|
|
provided at both the pod & container level, the container options
|
||
|
|
override the pod options.
|
||
|
|
Note that this field cannot be set when spec.os.name is windows.
|
||
|
|
properties:
|
||
|
|
localhostProfile:
|
||
|
|
description: |-
|
||
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
||
|
|
The profile must be preconfigured on the node to work.
|
||
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
||
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
||
|
|
type: string
|
||
|
|
type:
|
||
|
|
description: |-
|
||
|
|
type indicates which kind of seccomp profile will be applied.
|
||
|
|
Valid options are:
|
||
|
|
|
||
|
|
Localhost - a profile defined in a file on the node should be used.
|
||
|
|
RuntimeDefault - the container runtime default profile should be used.
|
||
|
|
Unconfined - no profile should be applied.
|
||
|
|
type: string
|
||
|
|
required:
|
||
|
|
- type
|
||
|
|
type: object
|
||
|
|
windowsOptions:
|
||
|
|
description: |-
|
||
|
|
The Windows specific settings applied to all containers.
|
||
|
|
If unspecified, the options from the PodSecurityContext will be used.
|
||
|
|
If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
|
||
|
|
Note that this field cannot be set when spec.os.name is linux.
|
||
|
|
properties:
|
||
|
|
gmsaCredentialSpec:
|
||
|
|
description: |-
|
||
|
|
GMSACredentialSpec is where the GMSA admission webhook
|
||
|
|
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
||
|
|
GMSA credential spec named by the GMSACredentialSpecName field.
|
||
|
|
type: string
|
||
|
|
gmsaCredentialSpecName:
|
||
|
|
description: GMSACredentialSpecName is the name
|
||
|
|
of the GMSA credential spec to use.
|
||
|
|
type: string
|
||
|
|
hostProcess:
|
||
|
|
description: |-
|
||
|
|
HostProcess determines if a container should be run as a 'Host Process' container.
|
||
|
|
All of a Pod's containers must have the same effective HostProcess value
|
||
|
|
(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
|
||
|
|
In addition, if HostProcess is true then HostNetwork must also be set to true.
|
||
|
|
type: boolean
|
||
|
|
runAsUserName:
|
||
|
|
description: |-
|
||
|
|
The UserName in Windows to run the entrypoint of the container process.
|
||
|
|
Defaults to the user specified in image metadata if unspecified.
|
||
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
||
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
storageClassName:
|
||
|
|
description: StorageClassName is the name of the StorageClass
|
||
|
|
to use for the PVC.
|
||
|
|
type: string
|
||
|
|
tls:
|
||
|
|
description: TLSOverride describes TLS configuration overrides
|
||
|
|
for managed PostgreSQL components.
|
||
|
|
properties:
|
||
|
|
enabled:
|
||
|
|
type: boolean
|
||
|
|
secretRef:
|
||
|
|
description: |-
|
||
|
|
LocalObjectReference contains enough information to let you locate the
|
||
|
|
referenced object inside the same namespace.
|
||
|
|
properties:
|
||
|
|
name:
|
||
|
|
description: |-
|
||
|
|
Name of the referent.
|
||
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
required:
|
||
|
|
- enabled
|
||
|
|
type: object
|
||
|
|
volumeSize:
|
||
|
|
anyOf:
|
||
|
|
- type: integer
|
||
|
|
- type: string
|
||
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||
|
|
x-kubernetes-int-or-string: true
|
||
|
|
type: object
|
||
|
|
secretRef:
|
||
|
|
description: |-
|
||
|
|
SecretRef references a Kubernetes Secret for this component. For the TLS component,
|
||
|
|
this references a `kubernetes.io/tls` Secret containing `tls.crt` and `tls.key`.
|
||
|
|
The operator watches the Secret and triggers rolling restarts when its contents change.
|
||
|
|
Only valid when managed is false.
|
||
|
|
properties:
|
||
|
|
name:
|
||
|
|
description: |-
|
||
|
|
Name of the referent.
|
||
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
x-kubernetes-map-type: atomic
|
||
|
|
required:
|
||
|
|
- kind
|
||
|
|
- managed
|
||
|
|
type: object
|
||
|
|
x-kubernetes-validations:
|
||
|
|
- message: cannot set overrides on unmanaged component
|
||
|
|
rule: self.managed || !has(self.overrides)
|
||
|
|
- message: secretRef cannot be set on a managed component
|
||
|
|
rule: '!self.managed || !has(self.secretRef)'
|
||
|
|
- message: secretRef.name must not be empty
|
||
|
|
rule: '!has(self.secretRef) || self.secretRef.name.size() != 0'
|
||
|
|
- message: tls.secretRef requires tls.enabled to be true
|
||
|
|
rule: '!has(self.overrides) || !has(self.overrides.tls) || !has(self.overrides.tls.secretRef)
|
||
|
|
|| self.overrides.tls.enabled'
|
||
|
|
- message: tls.secretRef.name must not be empty
|
||
|
|
rule: '!has(self.overrides) || !has(self.overrides.tls) || !has(self.overrides.tls.secretRef)
|
||
|
|
|| self.overrides.tls.secretRef.name.size() != 0'
|
||
|
|
type: array
|
||
|
|
configBundleSecret:
|
||
|
|
description: |-
|
||
|
|
ConfigBundleSecret is the name of the Kubernetes `Secret` in the same namespace
|
||
|
|
which contains the base Quay config and extra certs.
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
status:
|
||
|
|
description: QuayRegistryStatus defines the observed state of QuayRegistry.
|
||
|
|
properties:
|
||
|
|
conditions:
|
||
|
|
description: Conditions represent the conditions that a QuayRegistry
|
||
|
|
can have.
|
||
|
|
items:
|
||
|
|
description: |-
|
||
|
|
Condition is a single condition of a QuayRegistry.
|
||
|
|
Conditions should follow the "abnormal-true" principle in order to only bring the attention of users to "broken" states.
|
||
|
|
Example: a condition of `type: "Ready", status: "True"" is less useful and should be omitted whereas `type: "NotReady", status: "True"`
|
||
|
|
is more useful when trying to monitor when something is wrong.
|
||
|
|
properties:
|
||
|
|
lastTransitionTime:
|
||
|
|
format: date-time
|
||
|
|
type: string
|
||
|
|
lastUpdateTime:
|
||
|
|
format: date-time
|
||
|
|
type: string
|
||
|
|
message:
|
||
|
|
type: string
|
||
|
|
reason:
|
||
|
|
type: string
|
||
|
|
status:
|
||
|
|
type: string
|
||
|
|
type:
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
type: array
|
||
|
|
currentVersion:
|
||
|
|
description: CurrentVersion is the actual version of Quay that is
|
||
|
|
actively deployed.
|
||
|
|
type: string
|
||
|
|
lastUpdated:
|
||
|
|
description: LastUpdate is the timestamp when the Operator last processed
|
||
|
|
this instance.
|
||
|
|
type: string
|
||
|
|
observedGeneration:
|
||
|
|
description: ObservedGeneration is the most recent generation observed
|
||
|
|
by the controller.
|
||
|
|
format: int64
|
||
|
|
type: integer
|
||
|
|
registryEndpoint:
|
||
|
|
description: RegistryEndpoint is the external access point for the
|
||
|
|
Quay registry.
|
||
|
|
type: string
|
||
|
|
type: object
|
||
|
|
type: object
|
||
|
|
served: true
|
||
|
|
storage: true
|
||
|
|
subresources:
|
||
|
|
status: {}
|