8 apiVersion: apiextensions.k8s.io/v1
9 kind: CustomResourceDefinition
12 controller-gen.kubebuilder.io/version: v0.7.0
13 name: cdis.cdi.kubevirt.io
15 group: cdi.kubevirt.io
26 - additionalPrinterColumns:
27 - jsonPath: .metadata.creationTimestamp
30 - jsonPath: .status.phase
36 description: CDI is the CDI Operator CRD
39 description: 'APIVersion defines the versioned schema of this representation
40 of an object. Servers should convert recognized schemas to the latest
41 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
44 description: 'Kind is a string value representing the REST resource this
45 object represents. Servers may infer this from the endpoint the client
46 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
51 description: CDISpec defines our specification for the CDI installation
54 description: certificate configuration
57 description: CA configuration CA certs are kept in the CA bundle
58 as long as they are valid
61 description: The requested 'duration' (i.e. lifetime) of the
65 description: The amount of time before the currently issued
66 certificate's `notAfter` time that we will begin to attempt
67 to renew the certificate.
71 description: Server configuration Certs are rotated and discarded
74 description: The requested 'duration' (i.e. lifetime) of the
78 description: The amount of time before the currently issued
79 certificate's `notAfter` time that we will begin to attempt
80 to renew the certificate.
84 cloneStrategyOverride:
85 description: 'Clone strategy override: should we use a host-assisted
86 copy even if snapshots are available?'
92 description: CDIConfig at CDI level
95 description: FeatureGates are a list of specific enabled feature
101 description: FilesystemOverhead describes the space reserved for
102 overhead when using Filesystem volumes. A value is between 0
103 and 1, if not defined it is 0.055 (5.5% overhead)
106 description: Global is how much space of a Filesystem volume
107 should be reserved for overhead. This value is used unless
108 overridden by a more specific value (per storageClass)
109 pattern: ^(0(?:\.\d{1,3})?|1)$
112 additionalProperties:
113 description: 'Percent is a string that can only be a value
114 between [0,1) (Note: we actually rely on reconcile to
115 reject invalid values)'
116 pattern: ^(0(?:\.\d{1,3})?|1)$
118 description: StorageClass specifies how much space of a Filesystem
119 volume should be reserved for safety. The keys are the storageClass
120 and the values are the overhead. This value overrides the
125 description: ImportProxy contains importer pod proxy configuration.
128 description: HTTPProxy is the URL http://<username>:<pswd>@<ip>:<port>
129 of the import proxy for HTTP requests. Empty means unset
130 and will not result in the import pod env var.
133 description: HTTPSProxy is the URL https://<username>:<pswd>@<ip>:<port>
134 of the import proxy for HTTPS requests. Empty means unset
135 and will not result in the import pod env var.
138 description: NoProxy is a comma-separated list of hostnames
139 and/or CIDRs for which the proxy should not be used. Empty
140 means unset and will not result in the import pod env var.
143 description: "TrustedCAProxy is the name of a ConfigMap in
144 the cdi namespace that contains a user-provided trusted
145 certificate authority (CA) bundle. The TrustedCAProxy field
146 is consumed by the import controller that is resposible
147 for coping it to a config map named trusted-ca-proxy-bundle-cm
148 in the cdi namespace. Here is an example of the ConfigMap
149 (in yaml): \n apiVersion: v1 kind: ConfigMap metadata: name:
150 trusted-ca-proxy-bundle-cm namespace: cdi data: ca.pem:
151 | -----BEGIN CERTIFICATE----- \t ... <base64 encoded
152 cert> ... \t -----END CERTIFICATE-----"
156 description: InsecureRegistries is a list of TLS disabled registries
160 podResourceRequirements:
161 description: ResourceRequirements describes the compute resource
165 additionalProperties:
169 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
170 x-kubernetes-int-or-string: true
171 description: 'Limits describes the maximum amount of compute
172 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
175 additionalProperties:
179 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
180 x-kubernetes-int-or-string: true
181 description: 'Requests describes the minimum amount of compute
182 resources required. If Requests is omitted for a container,
183 it defaults to Limits if that is explicitly specified, otherwise
184 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
188 description: Preallocation controls whether storage for DataVolumes
189 should be allocated in advance.
191 scratchSpaceStorageClass:
192 description: 'Override the storage class to used for scratch space
193 during transfer operations. The scratch space storage class
194 is determined in the following order: 1. value of scratchSpaceStorageClass,
195 if that doesn''t exist, use the default storage class, if there
196 is no default storage class, use the storage class of the DataVolume,
197 if no storage class specified, use no storage class for scratch
200 uploadProxyURLOverride:
201 description: Override the URL used when uploading to a DataVolume
205 description: PullPolicy describes a policy for if/when to pull a container
213 description: Rules on which nodes CDI infrastructure pods will be
217 description: affinity enables pod affinity/anti-affinity placement
218 expanding the types of constraints that can be expressed with
219 nodeSelector. affinity is going to be applied to the relevant
220 kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
223 description: Describes node affinity scheduling rules for
226 preferredDuringSchedulingIgnoredDuringExecution:
227 description: The scheduler will prefer to schedule pods
228 to nodes that satisfy the affinity expressions specified
229 by this field, but it may choose a node that violates
230 one or more of the expressions. The node that is most
231 preferred is the one with the greatest sum of weights,
232 i.e. for each node that meets all of the scheduling
233 requirements (resource request, requiredDuringScheduling
234 affinity expressions, etc.), compute a sum by iterating
235 through the elements of this field and adding "weight"
236 to the sum if the node matches the corresponding matchExpressions;
237 the node(s) with the highest sum are the most preferred.
239 description: An empty preferred scheduling term matches
240 all objects with implicit weight 0 (i.e. it's a no-op).
241 A null preferred scheduling term matches no objects
242 (i.e. is also a no-op).
245 description: A node selector term, associated with
246 the corresponding weight.
249 description: A list of node selector requirements
252 description: A node selector requirement is
253 a selector that contains values, a key,
254 and an operator that relates the key and
258 description: The label key that the selector
262 description: Represents a key's relationship
263 to a set of values. Valid operators
264 are In, NotIn, Exists, DoesNotExist.
268 description: An array of string values.
269 If the operator is In or NotIn, the
270 values array must be non-empty. If the
271 operator is Exists or DoesNotExist,
272 the values array must be empty. If the
273 operator is Gt or Lt, the values array
274 must have a single element, which will
275 be interpreted as an integer. This array
276 is replaced during a strategic merge
287 description: A list of node selector requirements
290 description: A node selector requirement is
291 a selector that contains values, a key,
292 and an operator that relates the key and
296 description: The label key that the selector
300 description: Represents a key's relationship
301 to a set of values. Valid operators
302 are In, NotIn, Exists, DoesNotExist.
306 description: An array of string values.
307 If the operator is In or NotIn, the
308 values array must be non-empty. If the
309 operator is Exists or DoesNotExist,
310 the values array must be empty. If the
311 operator is Gt or Lt, the values array
312 must have a single element, which will
313 be interpreted as an integer. This array
314 is replaced during a strategic merge
326 description: Weight associated with matching the
327 corresponding nodeSelectorTerm, in the range 1-100.
335 requiredDuringSchedulingIgnoredDuringExecution:
336 description: If the affinity requirements specified by
337 this field are not met at scheduling time, the pod will
338 not be scheduled onto the node. If the affinity requirements
339 specified by this field cease to be met at some point
340 during pod execution (e.g. due to an update), the system
341 may or may not try to eventually evict the pod from
345 description: Required. A list of node selector terms.
348 description: A null or empty node selector term
349 matches no objects. The requirements of them are
350 ANDed. The TopologySelectorTerm type implements
351 a subset of the NodeSelectorTerm.
354 description: A list of node selector requirements
357 description: A node selector requirement is
358 a selector that contains values, a key,
359 and an operator that relates the key and
363 description: The label key that the selector
367 description: Represents a key's relationship
368 to a set of values. Valid operators
369 are In, NotIn, Exists, DoesNotExist.
373 description: An array of string values.
374 If the operator is In or NotIn, the
375 values array must be non-empty. If the
376 operator is Exists or DoesNotExist,
377 the values array must be empty. If the
378 operator is Gt or Lt, the values array
379 must have a single element, which will
380 be interpreted as an integer. This array
381 is replaced during a strategic merge
392 description: A list of node selector requirements
395 description: A node selector requirement is
396 a selector that contains values, a key,
397 and an operator that relates the key and
401 description: The label key that the selector
405 description: Represents a key's relationship
406 to a set of values. Valid operators
407 are In, NotIn, Exists, DoesNotExist.
411 description: An array of string values.
412 If the operator is In or NotIn, the
413 values array must be non-empty. If the
414 operator is Exists or DoesNotExist,
415 the values array must be empty. If the
416 operator is Gt or Lt, the values array
417 must have a single element, which will
418 be interpreted as an integer. This array
419 is replaced during a strategic merge
436 description: Describes pod affinity scheduling rules (e.g.
437 co-locate this pod in the same node, zone, etc. as some
440 preferredDuringSchedulingIgnoredDuringExecution:
441 description: The scheduler will prefer to schedule pods
442 to nodes that satisfy the affinity expressions specified
443 by this field, but it may choose a node that violates
444 one or more of the expressions. The node that is most
445 preferred is the one with the greatest sum of weights,
446 i.e. for each node that meets all of the scheduling
447 requirements (resource request, requiredDuringScheduling
448 affinity expressions, etc.), compute a sum by iterating
449 through the elements of this field and adding "weight"
450 to the sum if the node has pods which matches the corresponding
451 podAffinityTerm; the node(s) with the highest sum are
454 description: The weights of all of the matched WeightedPodAffinityTerm
455 fields are added per-node to find the most preferred
459 description: Required. A pod affinity term, associated
460 with the corresponding weight.
463 description: A label query over a set of resources,
467 description: matchExpressions is a list
468 of label selector requirements. The requirements
471 description: A label selector requirement
472 is a selector that contains values,
473 a key, and an operator that relates
477 description: key is the label key
478 that the selector applies to.
481 description: operator represents a
482 key's relationship to a set of values.
483 Valid operators are In, NotIn, Exists
487 description: values is an array of
488 string values. If the operator is
489 In or NotIn, the values array must
490 be non-empty. If the operator is
491 Exists or DoesNotExist, the values
492 array must be empty. This array
493 is replaced during a strategic merge
504 additionalProperties:
506 description: matchLabels is a map of {key,value}
507 pairs. A single {key,value} in the matchLabels
508 map is equivalent to an element of matchExpressions,
509 whose key field is "key", the operator
510 is "In", and the values array contains
511 only "value". The requirements are ANDed.
515 description: A label query over the set of namespaces
516 that the term applies to. The term is applied
517 to the union of the namespaces selected by
518 this field and the ones listed in the namespaces
519 field. null selector and null or empty namespaces
520 list means "this pod's namespace". An empty
521 selector ({}) matches all namespaces. This
522 field is beta-level and is only honored when
523 PodAffinityNamespaceSelector feature is enabled.
526 description: matchExpressions is a list
527 of label selector requirements. The requirements
530 description: A label selector requirement
531 is a selector that contains values,
532 a key, and an operator that relates
536 description: key is the label key
537 that the selector applies to.
540 description: operator represents a
541 key's relationship to a set of values.
542 Valid operators are In, NotIn, Exists
546 description: values is an array of
547 string values. If the operator is
548 In or NotIn, the values array must
549 be non-empty. If the operator is
550 Exists or DoesNotExist, the values
551 array must be empty. This array
552 is replaced during a strategic merge
563 additionalProperties:
565 description: matchLabels is a map of {key,value}
566 pairs. A single {key,value} in the matchLabels
567 map is equivalent to an element of matchExpressions,
568 whose key field is "key", the operator
569 is "In", and the values array contains
570 only "value". The requirements are ANDed.
574 description: namespaces specifies a static list
575 of namespace names that the term applies to.
576 The term is applied to the union of the namespaces
577 listed in this field and the ones selected
578 by namespaceSelector. null or empty namespaces
579 list and null namespaceSelector means "this
585 description: This pod should be co-located (affinity)
586 or not co-located (anti-affinity) with the
587 pods matching the labelSelector in the specified
588 namespaces, where co-located is defined as
589 running on a node whose value of the label
590 with key topologyKey matches that of any node
591 on which any of the selected pods is running.
592 Empty topologyKey is not allowed.
598 description: weight associated with matching the
599 corresponding podAffinityTerm, in the range 1-100.
607 requiredDuringSchedulingIgnoredDuringExecution:
608 description: If the affinity requirements specified by
609 this field are not met at scheduling time, the pod will
610 not be scheduled onto the node. If the affinity requirements
611 specified by this field cease to be met at some point
612 during pod execution (e.g. due to a pod label update),
613 the system may or may not try to eventually evict the
614 pod from its node. When there are multiple elements,
615 the lists of nodes corresponding to each podAffinityTerm
616 are intersected, i.e. all terms must be satisfied.
618 description: Defines a set of pods (namely those matching
619 the labelSelector relative to the given namespace(s))
620 that this pod should be co-located (affinity) or not
621 co-located (anti-affinity) with, where co-located
622 is defined as running on a node whose value of the
623 label with key <topologyKey> matches that of any node
624 on which a pod of the set of pods is running
627 description: A label query over a set of resources,
631 description: matchExpressions is a list of label
632 selector requirements. The requirements are
635 description: A label selector requirement
636 is a selector that contains values, a key,
637 and an operator that relates the key and
641 description: key is the label key that
642 the selector applies to.
645 description: operator represents a key's
646 relationship to a set of values. Valid
647 operators are In, NotIn, Exists and
651 description: values is an array of string
652 values. If the operator is In or NotIn,
653 the values array must be non-empty.
654 If the operator is Exists or DoesNotExist,
655 the values array must be empty. This
656 array is replaced during a strategic
667 additionalProperties:
669 description: matchLabels is a map of {key,value}
670 pairs. A single {key,value} in the matchLabels
671 map is equivalent to an element of matchExpressions,
672 whose key field is "key", the operator is
673 "In", and the values array contains only "value".
674 The requirements are ANDed.
678 description: A label query over the set of namespaces
679 that the term applies to. The term is applied
680 to the union of the namespaces selected by this
681 field and the ones listed in the namespaces field.
682 null selector and null or empty namespaces list
683 means "this pod's namespace". An empty selector
684 ({}) matches all namespaces. This field is beta-level
685 and is only honored when PodAffinityNamespaceSelector
689 description: matchExpressions is a list of label
690 selector requirements. The requirements are
693 description: A label selector requirement
694 is a selector that contains values, a key,
695 and an operator that relates the key and
699 description: key is the label key that
700 the selector applies to.
703 description: operator represents a key's
704 relationship to a set of values. Valid
705 operators are In, NotIn, Exists and
709 description: values is an array of string
710 values. If the operator is In or NotIn,
711 the values array must be non-empty.
712 If the operator is Exists or DoesNotExist,
713 the values array must be empty. This
714 array is replaced during a strategic
725 additionalProperties:
727 description: matchLabels is a map of {key,value}
728 pairs. A single {key,value} in the matchLabels
729 map is equivalent to an element of matchExpressions,
730 whose key field is "key", the operator is
731 "In", and the values array contains only "value".
732 The requirements are ANDed.
736 description: namespaces specifies a static list
737 of namespace names that the term applies to. The
738 term is applied to the union of the namespaces
739 listed in this field and the ones selected by
740 namespaceSelector. null or empty namespaces list
741 and null namespaceSelector means "this pod's namespace"
746 description: This pod should be co-located (affinity)
747 or not co-located (anti-affinity) with the pods
748 matching the labelSelector in the specified namespaces,
749 where co-located is defined as running on a node
750 whose value of the label with key topologyKey
751 matches that of any node on which any of the selected
752 pods is running. Empty topologyKey is not allowed.
760 description: Describes pod anti-affinity scheduling rules
761 (e.g. avoid putting this pod in the same node, zone, etc.
762 as some other pod(s)).
764 preferredDuringSchedulingIgnoredDuringExecution:
765 description: The scheduler will prefer to schedule pods
766 to nodes that satisfy the anti-affinity expressions
767 specified by this field, but it may choose a node that
768 violates one or more of the expressions. The node that
769 is most preferred is the one with the greatest sum of
770 weights, i.e. for each node that meets all of the scheduling
771 requirements (resource request, requiredDuringScheduling
772 anti-affinity expressions, etc.), compute a sum by iterating
773 through the elements of this field and adding "weight"
774 to the sum if the node has pods which matches the corresponding
775 podAffinityTerm; the node(s) with the highest sum are
778 description: The weights of all of the matched WeightedPodAffinityTerm
779 fields are added per-node to find the most preferred
783 description: Required. A pod affinity term, associated
784 with the corresponding weight.
787 description: A label query over a set of resources,
791 description: matchExpressions is a list
792 of label selector requirements. The requirements
795 description: A label selector requirement
796 is a selector that contains values,
797 a key, and an operator that relates
801 description: key is the label key
802 that the selector applies to.
805 description: operator represents a
806 key's relationship to a set of values.
807 Valid operators are In, NotIn, Exists
811 description: values is an array of
812 string values. If the operator is
813 In or NotIn, the values array must
814 be non-empty. If the operator is
815 Exists or DoesNotExist, the values
816 array must be empty. This array
817 is replaced during a strategic merge
828 additionalProperties:
830 description: matchLabels is a map of {key,value}
831 pairs. A single {key,value} in the matchLabels
832 map is equivalent to an element of matchExpressions,
833 whose key field is "key", the operator
834 is "In", and the values array contains
835 only "value". The requirements are ANDed.
839 description: A label query over the set of namespaces
840 that the term applies to. The term is applied
841 to the union of the namespaces selected by
842 this field and the ones listed in the namespaces
843 field. null selector and null or empty namespaces
844 list means "this pod's namespace". An empty
845 selector ({}) matches all namespaces. This
846 field is beta-level and is only honored when
847 PodAffinityNamespaceSelector feature is enabled.
850 description: matchExpressions is a list
851 of label selector requirements. The requirements
854 description: A label selector requirement
855 is a selector that contains values,
856 a key, and an operator that relates
860 description: key is the label key
861 that the selector applies to.
864 description: operator represents a
865 key's relationship to a set of values.
866 Valid operators are In, NotIn, Exists
870 description: values is an array of
871 string values. If the operator is
872 In or NotIn, the values array must
873 be non-empty. If the operator is
874 Exists or DoesNotExist, the values
875 array must be empty. This array
876 is replaced during a strategic merge
887 additionalProperties:
889 description: matchLabels is a map of {key,value}
890 pairs. A single {key,value} in the matchLabels
891 map is equivalent to an element of matchExpressions,
892 whose key field is "key", the operator
893 is "In", and the values array contains
894 only "value". The requirements are ANDed.
898 description: namespaces specifies a static list
899 of namespace names that the term applies to.
900 The term is applied to the union of the namespaces
901 listed in this field and the ones selected
902 by namespaceSelector. null or empty namespaces
903 list and null namespaceSelector means "this
909 description: This pod should be co-located (affinity)
910 or not co-located (anti-affinity) with the
911 pods matching the labelSelector in the specified
912 namespaces, where co-located is defined as
913 running on a node whose value of the label
914 with key topologyKey matches that of any node
915 on which any of the selected pods is running.
916 Empty topologyKey is not allowed.
922 description: weight associated with matching the
923 corresponding podAffinityTerm, in the range 1-100.
931 requiredDuringSchedulingIgnoredDuringExecution:
932 description: If the anti-affinity requirements specified
933 by this field are not met at scheduling time, the pod
934 will not be scheduled onto the node. If the anti-affinity
935 requirements specified by this field cease to be met
936 at some point during pod execution (e.g. due to a pod
937 label update), the system may or may not try to eventually
938 evict the pod from its node. When there are multiple
939 elements, the lists of nodes corresponding to each podAffinityTerm
940 are intersected, i.e. all terms must be satisfied.
942 description: Defines a set of pods (namely those matching
943 the labelSelector relative to the given namespace(s))
944 that this pod should be co-located (affinity) or not
945 co-located (anti-affinity) with, where co-located
946 is defined as running on a node whose value of the
947 label with key <topologyKey> matches that of any node
948 on which a pod of the set of pods is running
951 description: A label query over a set of resources,
955 description: matchExpressions is a list of label
956 selector requirements. The requirements are
959 description: A label selector requirement
960 is a selector that contains values, a key,
961 and an operator that relates the key and
965 description: key is the label key that
966 the selector applies to.
969 description: operator represents a key's
970 relationship to a set of values. Valid
971 operators are In, NotIn, Exists and
975 description: values is an array of string
976 values. If the operator is In or NotIn,
977 the values array must be non-empty.
978 If the operator is Exists or DoesNotExist,
979 the values array must be empty. This
980 array is replaced during a strategic
991 additionalProperties:
993 description: matchLabels is a map of {key,value}
994 pairs. A single {key,value} in the matchLabels
995 map is equivalent to an element of matchExpressions,
996 whose key field is "key", the operator is
997 "In", and the values array contains only "value".
998 The requirements are ANDed.
1002 description: A label query over the set of namespaces
1003 that the term applies to. The term is applied
1004 to the union of the namespaces selected by this
1005 field and the ones listed in the namespaces field.
1006 null selector and null or empty namespaces list
1007 means "this pod's namespace". An empty selector
1008 ({}) matches all namespaces. This field is beta-level
1009 and is only honored when PodAffinityNamespaceSelector
1013 description: matchExpressions is a list of label
1014 selector requirements. The requirements are
1017 description: A label selector requirement
1018 is a selector that contains values, a key,
1019 and an operator that relates the key and
1023 description: key is the label key that
1024 the selector applies to.
1027 description: operator represents a key's
1028 relationship to a set of values. Valid
1029 operators are In, NotIn, Exists and
1033 description: values is an array of string
1034 values. If the operator is In or NotIn,
1035 the values array must be non-empty.
1036 If the operator is Exists or DoesNotExist,
1037 the values array must be empty. This
1038 array is replaced during a strategic
1049 additionalProperties:
1051 description: matchLabels is a map of {key,value}
1052 pairs. A single {key,value} in the matchLabels
1053 map is equivalent to an element of matchExpressions,
1054 whose key field is "key", the operator is
1055 "In", and the values array contains only "value".
1056 The requirements are ANDed.
1060 description: namespaces specifies a static list
1061 of namespace names that the term applies to. The
1062 term is applied to the union of the namespaces
1063 listed in this field and the ones selected by
1064 namespaceSelector. null or empty namespaces list
1065 and null namespaceSelector means "this pod's namespace"
1070 description: This pod should be co-located (affinity)
1071 or not co-located (anti-affinity) with the pods
1072 matching the labelSelector in the specified namespaces,
1073 where co-located is defined as running on a node
1074 whose value of the label with key topologyKey
1075 matches that of any node on which any of the selected
1076 pods is running. Empty topologyKey is not allowed.
1085 additionalProperties:
1087 description: 'nodeSelector is the node selector applied to the
1088 relevant kind of pods It specifies a map of key-value pairs:
1089 for the pod to be eligible to run on a node, the node must have
1090 each of the indicated key-value pairs as labels (it can have
1091 additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
1094 description: tolerations is a list of tolerations applied to the
1095 relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1096 for more info. These are additional tolerations other than default
1099 description: The pod this Toleration is attached to tolerates
1100 any taint that matches the triple <key,value,effect> using
1101 the matching operator <operator>.
1104 description: Effect indicates the taint effect to match.
1105 Empty means match all taint effects. When specified, allowed
1106 values are NoSchedule, PreferNoSchedule and NoExecute.
1109 description: Key is the taint key that the toleration applies
1110 to. Empty means match all taint keys. If the key is empty,
1111 operator must be Exists; this combination means to match
1112 all values and all keys.
1115 description: Operator represents a key's relationship to
1116 the value. Valid operators are Exists and Equal. Defaults
1117 to Equal. Exists is equivalent to wildcard for value,
1118 so that a pod can tolerate all taints of a particular
1122 description: TolerationSeconds represents the period of
1123 time the toleration (which must be of effect NoExecute,
1124 otherwise this field is ignored) tolerates the taint.
1125 By default, it is not set, which means tolerate the taint
1126 forever (do not evict). Zero and negative values will
1127 be treated as 0 (evict immediately) by the system.
1131 description: Value is the taint value the toleration matches
1132 to. If the operator is Exists, the value should be empty,
1133 otherwise just a regular string.
1139 description: CDIUninstallStrategy defines the state to leave CDI on
1143 - BlockUninstallIfWorkloadsExist
1146 description: Restrict on which nodes CDI workload pods will be scheduled
1149 description: affinity enables pod affinity/anti-affinity placement
1150 expanding the types of constraints that can be expressed with
1151 nodeSelector. affinity is going to be applied to the relevant
1152 kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
1155 description: Describes node affinity scheduling rules for
1158 preferredDuringSchedulingIgnoredDuringExecution:
1159 description: The scheduler will prefer to schedule pods
1160 to nodes that satisfy the affinity expressions specified
1161 by this field, but it may choose a node that violates
1162 one or more of the expressions. The node that is most
1163 preferred is the one with the greatest sum of weights,
1164 i.e. for each node that meets all of the scheduling
1165 requirements (resource request, requiredDuringScheduling
1166 affinity expressions, etc.), compute a sum by iterating
1167 through the elements of this field and adding "weight"
1168 to the sum if the node matches the corresponding matchExpressions;
1169 the node(s) with the highest sum are the most preferred.
1171 description: An empty preferred scheduling term matches
1172 all objects with implicit weight 0 (i.e. it's a no-op).
1173 A null preferred scheduling term matches no objects
1174 (i.e. is also a no-op).
1177 description: A node selector term, associated with
1178 the corresponding weight.
1181 description: A list of node selector requirements
1184 description: A node selector requirement is
1185 a selector that contains values, a key,
1186 and an operator that relates the key and
1190 description: The label key that the selector
1194 description: Represents a key's relationship
1195 to a set of values. Valid operators
1196 are In, NotIn, Exists, DoesNotExist.
1200 description: An array of string values.
1201 If the operator is In or NotIn, the
1202 values array must be non-empty. If the
1203 operator is Exists or DoesNotExist,
1204 the values array must be empty. If the
1205 operator is Gt or Lt, the values array
1206 must have a single element, which will
1207 be interpreted as an integer. This array
1208 is replaced during a strategic merge
1219 description: A list of node selector requirements
1222 description: A node selector requirement is
1223 a selector that contains values, a key,
1224 and an operator that relates the key and
1228 description: The label key that the selector
1232 description: Represents a key's relationship
1233 to a set of values. Valid operators
1234 are In, NotIn, Exists, DoesNotExist.
1238 description: An array of string values.
1239 If the operator is In or NotIn, the
1240 values array must be non-empty. If the
1241 operator is Exists or DoesNotExist,
1242 the values array must be empty. If the
1243 operator is Gt or Lt, the values array
1244 must have a single element, which will
1245 be interpreted as an integer. This array
1246 is replaced during a strategic merge
1258 description: Weight associated with matching the
1259 corresponding nodeSelectorTerm, in the range 1-100.
1267 requiredDuringSchedulingIgnoredDuringExecution:
1268 description: If the affinity requirements specified by
1269 this field are not met at scheduling time, the pod will
1270 not be scheduled onto the node. If the affinity requirements
1271 specified by this field cease to be met at some point
1272 during pod execution (e.g. due to an update), the system
1273 may or may not try to eventually evict the pod from
1277 description: Required. A list of node selector terms.
1280 description: A null or empty node selector term
1281 matches no objects. The requirements of them are
1282 ANDed. The TopologySelectorTerm type implements
1283 a subset of the NodeSelectorTerm.
1286 description: A list of node selector requirements
1289 description: A node selector requirement is
1290 a selector that contains values, a key,
1291 and an operator that relates the key and
1295 description: The label key that the selector
1299 description: Represents a key's relationship
1300 to a set of values. Valid operators
1301 are In, NotIn, Exists, DoesNotExist.
1305 description: An array of string values.
1306 If the operator is In or NotIn, the
1307 values array must be non-empty. If the
1308 operator is Exists or DoesNotExist,
1309 the values array must be empty. If the
1310 operator is Gt or Lt, the values array
1311 must have a single element, which will
1312 be interpreted as an integer. This array
1313 is replaced during a strategic merge
1324 description: A list of node selector requirements
1327 description: A node selector requirement is
1328 a selector that contains values, a key,
1329 and an operator that relates the key and
1333 description: The label key that the selector
1337 description: Represents a key's relationship
1338 to a set of values. Valid operators
1339 are In, NotIn, Exists, DoesNotExist.
1343 description: An array of string values.
1344 If the operator is In or NotIn, the
1345 values array must be non-empty. If the
1346 operator is Exists or DoesNotExist,
1347 the values array must be empty. If the
1348 operator is Gt or Lt, the values array
1349 must have a single element, which will
1350 be interpreted as an integer. This array
1351 is replaced during a strategic merge
1368 description: Describes pod affinity scheduling rules (e.g.
1369 co-locate this pod in the same node, zone, etc. as some
1372 preferredDuringSchedulingIgnoredDuringExecution:
1373 description: The scheduler will prefer to schedule pods
1374 to nodes that satisfy the affinity expressions specified
1375 by this field, but it may choose a node that violates
1376 one or more of the expressions. The node that is most
1377 preferred is the one with the greatest sum of weights,
1378 i.e. for each node that meets all of the scheduling
1379 requirements (resource request, requiredDuringScheduling
1380 affinity expressions, etc.), compute a sum by iterating
1381 through the elements of this field and adding "weight"
1382 to the sum if the node has pods which matches the corresponding
1383 podAffinityTerm; the node(s) with the highest sum are
1386 description: The weights of all of the matched WeightedPodAffinityTerm
1387 fields are added per-node to find the most preferred
1391 description: Required. A pod affinity term, associated
1392 with the corresponding weight.
1395 description: A label query over a set of resources,
1399 description: matchExpressions is a list
1400 of label selector requirements. The requirements
1403 description: A label selector requirement
1404 is a selector that contains values,
1405 a key, and an operator that relates
1409 description: key is the label key
1410 that the selector applies to.
1413 description: operator represents a
1414 key's relationship to a set of values.
1415 Valid operators are In, NotIn, Exists
1419 description: values is an array of
1420 string values. If the operator is
1421 In or NotIn, the values array must
1422 be non-empty. If the operator is
1423 Exists or DoesNotExist, the values
1424 array must be empty. This array
1425 is replaced during a strategic merge
1436 additionalProperties:
1438 description: matchLabels is a map of {key,value}
1439 pairs. A single {key,value} in the matchLabels
1440 map is equivalent to an element of matchExpressions,
1441 whose key field is "key", the operator
1442 is "In", and the values array contains
1443 only "value". The requirements are ANDed.
1447 description: A label query over the set of namespaces
1448 that the term applies to. The term is applied
1449 to the union of the namespaces selected by
1450 this field and the ones listed in the namespaces
1451 field. null selector and null or empty namespaces
1452 list means "this pod's namespace". An empty
1453 selector ({}) matches all namespaces. This
1454 field is beta-level and is only honored when
1455 PodAffinityNamespaceSelector feature is enabled.
1458 description: matchExpressions is a list
1459 of label selector requirements. The requirements
1462 description: A label selector requirement
1463 is a selector that contains values,
1464 a key, and an operator that relates
1468 description: key is the label key
1469 that the selector applies to.
1472 description: operator represents a
1473 key's relationship to a set of values.
1474 Valid operators are In, NotIn, Exists
1478 description: values is an array of
1479 string values. If the operator is
1480 In or NotIn, the values array must
1481 be non-empty. If the operator is
1482 Exists or DoesNotExist, the values
1483 array must be empty. This array
1484 is replaced during a strategic merge
1495 additionalProperties:
1497 description: matchLabels is a map of {key,value}
1498 pairs. A single {key,value} in the matchLabels
1499 map is equivalent to an element of matchExpressions,
1500 whose key field is "key", the operator
1501 is "In", and the values array contains
1502 only "value". The requirements are ANDed.
1506 description: namespaces specifies a static list
1507 of namespace names that the term applies to.
1508 The term is applied to the union of the namespaces
1509 listed in this field and the ones selected
1510 by namespaceSelector. null or empty namespaces
1511 list and null namespaceSelector means "this
1517 description: This pod should be co-located (affinity)
1518 or not co-located (anti-affinity) with the
1519 pods matching the labelSelector in the specified
1520 namespaces, where co-located is defined as
1521 running on a node whose value of the label
1522 with key topologyKey matches that of any node
1523 on which any of the selected pods is running.
1524 Empty topologyKey is not allowed.
1530 description: weight associated with matching the
1531 corresponding podAffinityTerm, in the range 1-100.
1539 requiredDuringSchedulingIgnoredDuringExecution:
1540 description: If the affinity requirements specified by
1541 this field are not met at scheduling time, the pod will
1542 not be scheduled onto the node. If the affinity requirements
1543 specified by this field cease to be met at some point
1544 during pod execution (e.g. due to a pod label update),
1545 the system may or may not try to eventually evict the
1546 pod from its node. When there are multiple elements,
1547 the lists of nodes corresponding to each podAffinityTerm
1548 are intersected, i.e. all terms must be satisfied.
1550 description: Defines a set of pods (namely those matching
1551 the labelSelector relative to the given namespace(s))
1552 that this pod should be co-located (affinity) or not
1553 co-located (anti-affinity) with, where co-located
1554 is defined as running on a node whose value of the
1555 label with key <topologyKey> matches that of any node
1556 on which a pod of the set of pods is running
1559 description: A label query over a set of resources,
1563 description: matchExpressions is a list of label
1564 selector requirements. The requirements are
1567 description: A label selector requirement
1568 is a selector that contains values, a key,
1569 and an operator that relates the key and
1573 description: key is the label key that
1574 the selector applies to.
1577 description: operator represents a key's
1578 relationship to a set of values. Valid
1579 operators are In, NotIn, Exists and
1583 description: values is an array of string
1584 values. If the operator is In or NotIn,
1585 the values array must be non-empty.
1586 If the operator is Exists or DoesNotExist,
1587 the values array must be empty. This
1588 array is replaced during a strategic
1599 additionalProperties:
1601 description: matchLabels is a map of {key,value}
1602 pairs. A single {key,value} in the matchLabels
1603 map is equivalent to an element of matchExpressions,
1604 whose key field is "key", the operator is
1605 "In", and the values array contains only "value".
1606 The requirements are ANDed.
1610 description: A label query over the set of namespaces
1611 that the term applies to. The term is applied
1612 to the union of the namespaces selected by this
1613 field and the ones listed in the namespaces field.
1614 null selector and null or empty namespaces list
1615 means "this pod's namespace". An empty selector
1616 ({}) matches all namespaces. This field is beta-level
1617 and is only honored when PodAffinityNamespaceSelector
1621 description: matchExpressions is a list of label
1622 selector requirements. The requirements are
1625 description: A label selector requirement
1626 is a selector that contains values, a key,
1627 and an operator that relates the key and
1631 description: key is the label key that
1632 the selector applies to.
1635 description: operator represents a key's
1636 relationship to a set of values. Valid
1637 operators are In, NotIn, Exists and
1641 description: values is an array of string
1642 values. If the operator is In or NotIn,
1643 the values array must be non-empty.
1644 If the operator is Exists or DoesNotExist,
1645 the values array must be empty. This
1646 array is replaced during a strategic
1657 additionalProperties:
1659 description: matchLabels is a map of {key,value}
1660 pairs. A single {key,value} in the matchLabels
1661 map is equivalent to an element of matchExpressions,
1662 whose key field is "key", the operator is
1663 "In", and the values array contains only "value".
1664 The requirements are ANDed.
1668 description: namespaces specifies a static list
1669 of namespace names that the term applies to. The
1670 term is applied to the union of the namespaces
1671 listed in this field and the ones selected by
1672 namespaceSelector. null or empty namespaces list
1673 and null namespaceSelector means "this pod's namespace"
1678 description: This pod should be co-located (affinity)
1679 or not co-located (anti-affinity) with the pods
1680 matching the labelSelector in the specified namespaces,
1681 where co-located is defined as running on a node
1682 whose value of the label with key topologyKey
1683 matches that of any node on which any of the selected
1684 pods is running. Empty topologyKey is not allowed.
1692 description: Describes pod anti-affinity scheduling rules
1693 (e.g. avoid putting this pod in the same node, zone, etc.
1694 as some other pod(s)).
1696 preferredDuringSchedulingIgnoredDuringExecution:
1697 description: The scheduler will prefer to schedule pods
1698 to nodes that satisfy the anti-affinity expressions
1699 specified by this field, but it may choose a node that
1700 violates one or more of the expressions. The node that
1701 is most preferred is the one with the greatest sum of
1702 weights, i.e. for each node that meets all of the scheduling
1703 requirements (resource request, requiredDuringScheduling
1704 anti-affinity expressions, etc.), compute a sum by iterating
1705 through the elements of this field and adding "weight"
1706 to the sum if the node has pods which matches the corresponding
1707 podAffinityTerm; the node(s) with the highest sum are
1710 description: The weights of all of the matched WeightedPodAffinityTerm
1711 fields are added per-node to find the most preferred
1715 description: Required. A pod affinity term, associated
1716 with the corresponding weight.
1719 description: A label query over a set of resources,
1723 description: matchExpressions is a list
1724 of label selector requirements. The requirements
1727 description: A label selector requirement
1728 is a selector that contains values,
1729 a key, and an operator that relates
1733 description: key is the label key
1734 that the selector applies to.
1737 description: operator represents a
1738 key's relationship to a set of values.
1739 Valid operators are In, NotIn, Exists
1743 description: values is an array of
1744 string values. If the operator is
1745 In or NotIn, the values array must
1746 be non-empty. If the operator is
1747 Exists or DoesNotExist, the values
1748 array must be empty. This array
1749 is replaced during a strategic merge
1760 additionalProperties:
1762 description: matchLabels is a map of {key,value}
1763 pairs. A single {key,value} in the matchLabels
1764 map is equivalent to an element of matchExpressions,
1765 whose key field is "key", the operator
1766 is "In", and the values array contains
1767 only "value". The requirements are ANDed.
1771 description: A label query over the set of namespaces
1772 that the term applies to. The term is applied
1773 to the union of the namespaces selected by
1774 this field and the ones listed in the namespaces
1775 field. null selector and null or empty namespaces
1776 list means "this pod's namespace". An empty
1777 selector ({}) matches all namespaces. This
1778 field is beta-level and is only honored when
1779 PodAffinityNamespaceSelector feature is enabled.
1782 description: matchExpressions is a list
1783 of label selector requirements. The requirements
1786 description: A label selector requirement
1787 is a selector that contains values,
1788 a key, and an operator that relates
1792 description: key is the label key
1793 that the selector applies to.
1796 description: operator represents a
1797 key's relationship to a set of values.
1798 Valid operators are In, NotIn, Exists
1802 description: values is an array of
1803 string values. If the operator is
1804 In or NotIn, the values array must
1805 be non-empty. If the operator is
1806 Exists or DoesNotExist, the values
1807 array must be empty. This array
1808 is replaced during a strategic merge
1819 additionalProperties:
1821 description: matchLabels is a map of {key,value}
1822 pairs. A single {key,value} in the matchLabels
1823 map is equivalent to an element of matchExpressions,
1824 whose key field is "key", the operator
1825 is "In", and the values array contains
1826 only "value". The requirements are ANDed.
1830 description: namespaces specifies a static list
1831 of namespace names that the term applies to.
1832 The term is applied to the union of the namespaces
1833 listed in this field and the ones selected
1834 by namespaceSelector. null or empty namespaces
1835 list and null namespaceSelector means "this
1841 description: This pod should be co-located (affinity)
1842 or not co-located (anti-affinity) with the
1843 pods matching the labelSelector in the specified
1844 namespaces, where co-located is defined as
1845 running on a node whose value of the label
1846 with key topologyKey matches that of any node
1847 on which any of the selected pods is running.
1848 Empty topologyKey is not allowed.
1854 description: weight associated with matching the
1855 corresponding podAffinityTerm, in the range 1-100.
1863 requiredDuringSchedulingIgnoredDuringExecution:
1864 description: If the anti-affinity requirements specified
1865 by this field are not met at scheduling time, the pod
1866 will not be scheduled onto the node. If the anti-affinity
1867 requirements specified by this field cease to be met
1868 at some point during pod execution (e.g. due to a pod
1869 label update), the system may or may not try to eventually
1870 evict the pod from its node. When there are multiple
1871 elements, the lists of nodes corresponding to each podAffinityTerm
1872 are intersected, i.e. all terms must be satisfied.
1874 description: Defines a set of pods (namely those matching
1875 the labelSelector relative to the given namespace(s))
1876 that this pod should be co-located (affinity) or not
1877 co-located (anti-affinity) with, where co-located
1878 is defined as running on a node whose value of the
1879 label with key <topologyKey> matches that of any node
1880 on which a pod of the set of pods is running
1883 description: A label query over a set of resources,
1887 description: matchExpressions is a list of label
1888 selector requirements. The requirements are
1891 description: A label selector requirement
1892 is a selector that contains values, a key,
1893 and an operator that relates the key and
1897 description: key is the label key that
1898 the selector applies to.
1901 description: operator represents a key's
1902 relationship to a set of values. Valid
1903 operators are In, NotIn, Exists and
1907 description: values is an array of string
1908 values. If the operator is In or NotIn,
1909 the values array must be non-empty.
1910 If the operator is Exists or DoesNotExist,
1911 the values array must be empty. This
1912 array is replaced during a strategic
1923 additionalProperties:
1925 description: matchLabels is a map of {key,value}
1926 pairs. A single {key,value} in the matchLabels
1927 map is equivalent to an element of matchExpressions,
1928 whose key field is "key", the operator is
1929 "In", and the values array contains only "value".
1930 The requirements are ANDed.
1934 description: A label query over the set of namespaces
1935 that the term applies to. The term is applied
1936 to the union of the namespaces selected by this
1937 field and the ones listed in the namespaces field.
1938 null selector and null or empty namespaces list
1939 means "this pod's namespace". An empty selector
1940 ({}) matches all namespaces. This field is beta-level
1941 and is only honored when PodAffinityNamespaceSelector
1945 description: matchExpressions is a list of label
1946 selector requirements. The requirements are
1949 description: A label selector requirement
1950 is a selector that contains values, a key,
1951 and an operator that relates the key and
1955 description: key is the label key that
1956 the selector applies to.
1959 description: operator represents a key's
1960 relationship to a set of values. Valid
1961 operators are In, NotIn, Exists and
1965 description: values is an array of string
1966 values. If the operator is In or NotIn,
1967 the values array must be non-empty.
1968 If the operator is Exists or DoesNotExist,
1969 the values array must be empty. This
1970 array is replaced during a strategic
1981 additionalProperties:
1983 description: matchLabels is a map of {key,value}
1984 pairs. A single {key,value} in the matchLabels
1985 map is equivalent to an element of matchExpressions,
1986 whose key field is "key", the operator is
1987 "In", and the values array contains only "value".
1988 The requirements are ANDed.
1992 description: namespaces specifies a static list
1993 of namespace names that the term applies to. The
1994 term is applied to the union of the namespaces
1995 listed in this field and the ones selected by
1996 namespaceSelector. null or empty namespaces list
1997 and null namespaceSelector means "this pod's namespace"
2002 description: This pod should be co-located (affinity)
2003 or not co-located (anti-affinity) with the pods
2004 matching the labelSelector in the specified namespaces,
2005 where co-located is defined as running on a node
2006 whose value of the label with key topologyKey
2007 matches that of any node on which any of the selected
2008 pods is running. Empty topologyKey is not allowed.
2017 additionalProperties:
2019 description: 'nodeSelector is the node selector applied to the
2020 relevant kind of pods It specifies a map of key-value pairs:
2021 for the pod to be eligible to run on a node, the node must have
2022 each of the indicated key-value pairs as labels (it can have
2023 additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
2026 description: tolerations is a list of tolerations applied to the
2027 relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2028 for more info. These are additional tolerations other than default
2031 description: The pod this Toleration is attached to tolerates
2032 any taint that matches the triple <key,value,effect> using
2033 the matching operator <operator>.
2036 description: Effect indicates the taint effect to match.
2037 Empty means match all taint effects. When specified, allowed
2038 values are NoSchedule, PreferNoSchedule and NoExecute.
2041 description: Key is the taint key that the toleration applies
2042 to. Empty means match all taint keys. If the key is empty,
2043 operator must be Exists; this combination means to match
2044 all values and all keys.
2047 description: Operator represents a key's relationship to
2048 the value. Valid operators are Exists and Equal. Defaults
2049 to Equal. Exists is equivalent to wildcard for value,
2050 so that a pod can tolerate all taints of a particular
2054 description: TolerationSeconds represents the period of
2055 time the toleration (which must be of effect NoExecute,
2056 otherwise this field is ignored) tolerates the taint.
2057 By default, it is not set, which means tolerate the taint
2058 forever (do not evict). Zero and negative values will
2059 be treated as 0 (evict immediately) by the system.
2063 description: Value is the taint value the toleration matches
2064 to. If the operator is Exists, the value should be empty,
2065 otherwise just a regular string.
2072 description: CDIStatus defines the status of the installation
2075 description: A list of current conditions of the resource
2077 description: Condition represents the state of the operator's reconciliation
2093 description: ConditionType is the state of the operator's reconciliation
2102 description: The observed version of the resource
2105 description: The version of the resource as defined by the operator
2108 description: Phase is the current phase of the deployment
2111 description: The desired version of the resource
2120 - additionalPrinterColumns:
2121 - jsonPath: .metadata.creationTimestamp
2124 - jsonPath: .status.phase
2130 description: CDI is the CDI Operator CRD
2133 description: 'APIVersion defines the versioned schema of this representation
2134 of an object. Servers should convert recognized schemas to the latest
2135 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2138 description: 'Kind is a string value representing the REST resource this
2139 object represents. Servers may infer this from the endpoint the client
2140 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2145 description: CDISpec defines our specification for the CDI installation
2148 description: certificate configuration
2151 description: CA configuration CA certs are kept in the CA bundle
2152 as long as they are valid
2155 description: The requested 'duration' (i.e. lifetime) of the
2159 description: The amount of time before the currently issued
2160 certificate's `notAfter` time that we will begin to attempt
2161 to renew the certificate.
2165 description: Server configuration Certs are rotated and discarded
2168 description: The requested 'duration' (i.e. lifetime) of the
2172 description: The amount of time before the currently issued
2173 certificate's `notAfter` time that we will begin to attempt
2174 to renew the certificate.
2178 cloneStrategyOverride:
2179 description: 'Clone strategy override: should we use a host-assisted
2180 copy even if snapshots are available?'
2186 description: CDIConfig at CDI level
2189 description: FeatureGates are a list of specific enabled feature
2195 description: FilesystemOverhead describes the space reserved for
2196 overhead when using Filesystem volumes. A value is between 0
2197 and 1, if not defined it is 0.055 (5.5% overhead)
2200 description: Global is how much space of a Filesystem volume
2201 should be reserved for overhead. This value is used unless
2202 overridden by a more specific value (per storageClass)
2203 pattern: ^(0(?:\.\d{1,3})?|1)$
2206 additionalProperties:
2207 description: 'Percent is a string that can only be a value
2208 between [0,1) (Note: we actually rely on reconcile to
2209 reject invalid values)'
2210 pattern: ^(0(?:\.\d{1,3})?|1)$
2212 description: StorageClass specifies how much space of a Filesystem
2213 volume should be reserved for safety. The keys are the storageClass
2214 and the values are the overhead. This value overrides the
2219 description: ImportProxy contains importer pod proxy configuration.
2222 description: HTTPProxy is the URL http://<username>:<pswd>@<ip>:<port>
2223 of the import proxy for HTTP requests. Empty means unset
2224 and will not result in the import pod env var.
2227 description: HTTPSProxy is the URL https://<username>:<pswd>@<ip>:<port>
2228 of the import proxy for HTTPS requests. Empty means unset
2229 and will not result in the import pod env var.
2232 description: NoProxy is a comma-separated list of hostnames
2233 and/or CIDRs for which the proxy should not be used. Empty
2234 means unset and will not result in the import pod env var.
2237 description: "TrustedCAProxy is the name of a ConfigMap in
2238 the cdi namespace that contains a user-provided trusted
2239 certificate authority (CA) bundle. The TrustedCAProxy field
2240 is consumed by the import controller that is resposible
2241 for coping it to a config map named trusted-ca-proxy-bundle-cm
2242 in the cdi namespace. Here is an example of the ConfigMap
2243 (in yaml): \n apiVersion: v1 kind: ConfigMap metadata: name:
2244 trusted-ca-proxy-bundle-cm namespace: cdi data: ca.pem:
2245 | -----BEGIN CERTIFICATE----- \t ... <base64 encoded
2246 cert> ... \t -----END CERTIFICATE-----"
2250 description: InsecureRegistries is a list of TLS disabled registries
2254 podResourceRequirements:
2255 description: ResourceRequirements describes the compute resource
2259 additionalProperties:
2263 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2264 x-kubernetes-int-or-string: true
2265 description: 'Limits describes the maximum amount of compute
2266 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
2269 additionalProperties:
2273 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2274 x-kubernetes-int-or-string: true
2275 description: 'Requests describes the minimum amount of compute
2276 resources required. If Requests is omitted for a container,
2277 it defaults to Limits if that is explicitly specified, otherwise
2278 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
2282 description: Preallocation controls whether storage for DataVolumes
2283 should be allocated in advance.
2285 scratchSpaceStorageClass:
2286 description: 'Override the storage class to used for scratch space
2287 during transfer operations. The scratch space storage class
2288 is determined in the following order: 1. value of scratchSpaceStorageClass,
2289 if that doesn''t exist, use the default storage class, if there
2290 is no default storage class, use the storage class of the DataVolume,
2291 if no storage class specified, use no storage class for scratch
2294 uploadProxyURLOverride:
2295 description: Override the URL used when uploading to a DataVolume
2299 description: PullPolicy describes a policy for if/when to pull a container
2307 description: Rules on which nodes CDI infrastructure pods will be
2311 description: affinity enables pod affinity/anti-affinity placement
2312 expanding the types of constraints that can be expressed with
2313 nodeSelector. affinity is going to be applied to the relevant
2314 kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
2317 description: Describes node affinity scheduling rules for
2320 preferredDuringSchedulingIgnoredDuringExecution:
2321 description: The scheduler will prefer to schedule pods
2322 to nodes that satisfy the affinity expressions specified
2323 by this field, but it may choose a node that violates
2324 one or more of the expressions. The node that is most
2325 preferred is the one with the greatest sum of weights,
2326 i.e. for each node that meets all of the scheduling
2327 requirements (resource request, requiredDuringScheduling
2328 affinity expressions, etc.), compute a sum by iterating
2329 through the elements of this field and adding "weight"
2330 to the sum if the node matches the corresponding matchExpressions;
2331 the node(s) with the highest sum are the most preferred.
2333 description: An empty preferred scheduling term matches
2334 all objects with implicit weight 0 (i.e. it's a no-op).
2335 A null preferred scheduling term matches no objects
2336 (i.e. is also a no-op).
2339 description: A node selector term, associated with
2340 the corresponding weight.
2343 description: A list of node selector requirements
2346 description: A node selector requirement is
2347 a selector that contains values, a key,
2348 and an operator that relates the key and
2352 description: The label key that the selector
2356 description: Represents a key's relationship
2357 to a set of values. Valid operators
2358 are In, NotIn, Exists, DoesNotExist.
2362 description: An array of string values.
2363 If the operator is In or NotIn, the
2364 values array must be non-empty. If the
2365 operator is Exists or DoesNotExist,
2366 the values array must be empty. If the
2367 operator is Gt or Lt, the values array
2368 must have a single element, which will
2369 be interpreted as an integer. This array
2370 is replaced during a strategic merge
2381 description: A list of node selector requirements
2384 description: A node selector requirement is
2385 a selector that contains values, a key,
2386 and an operator that relates the key and
2390 description: The label key that the selector
2394 description: Represents a key's relationship
2395 to a set of values. Valid operators
2396 are In, NotIn, Exists, DoesNotExist.
2400 description: An array of string values.
2401 If the operator is In or NotIn, the
2402 values array must be non-empty. If the
2403 operator is Exists or DoesNotExist,
2404 the values array must be empty. If the
2405 operator is Gt or Lt, the values array
2406 must have a single element, which will
2407 be interpreted as an integer. This array
2408 is replaced during a strategic merge
2420 description: Weight associated with matching the
2421 corresponding nodeSelectorTerm, in the range 1-100.
2429 requiredDuringSchedulingIgnoredDuringExecution:
2430 description: If the affinity requirements specified by
2431 this field are not met at scheduling time, the pod will
2432 not be scheduled onto the node. If the affinity requirements
2433 specified by this field cease to be met at some point
2434 during pod execution (e.g. due to an update), the system
2435 may or may not try to eventually evict the pod from
2439 description: Required. A list of node selector terms.
2442 description: A null or empty node selector term
2443 matches no objects. The requirements of them are
2444 ANDed. The TopologySelectorTerm type implements
2445 a subset of the NodeSelectorTerm.
2448 description: A list of node selector requirements
2451 description: A node selector requirement is
2452 a selector that contains values, a key,
2453 and an operator that relates the key and
2457 description: The label key that the selector
2461 description: Represents a key's relationship
2462 to a set of values. Valid operators
2463 are In, NotIn, Exists, DoesNotExist.
2467 description: An array of string values.
2468 If the operator is In or NotIn, the
2469 values array must be non-empty. If the
2470 operator is Exists or DoesNotExist,
2471 the values array must be empty. If the
2472 operator is Gt or Lt, the values array
2473 must have a single element, which will
2474 be interpreted as an integer. This array
2475 is replaced during a strategic merge
2486 description: A list of node selector requirements
2489 description: A node selector requirement is
2490 a selector that contains values, a key,
2491 and an operator that relates the key and
2495 description: The label key that the selector
2499 description: Represents a key's relationship
2500 to a set of values. Valid operators
2501 are In, NotIn, Exists, DoesNotExist.
2505 description: An array of string values.
2506 If the operator is In or NotIn, the
2507 values array must be non-empty. If the
2508 operator is Exists or DoesNotExist,
2509 the values array must be empty. If the
2510 operator is Gt or Lt, the values array
2511 must have a single element, which will
2512 be interpreted as an integer. This array
2513 is replaced during a strategic merge
2530 description: Describes pod affinity scheduling rules (e.g.
2531 co-locate this pod in the same node, zone, etc. as some
2534 preferredDuringSchedulingIgnoredDuringExecution:
2535 description: The scheduler will prefer to schedule pods
2536 to nodes that satisfy the affinity expressions specified
2537 by this field, but it may choose a node that violates
2538 one or more of the expressions. The node that is most
2539 preferred is the one with the greatest sum of weights,
2540 i.e. for each node that meets all of the scheduling
2541 requirements (resource request, requiredDuringScheduling
2542 affinity expressions, etc.), compute a sum by iterating
2543 through the elements of this field and adding "weight"
2544 to the sum if the node has pods which matches the corresponding
2545 podAffinityTerm; the node(s) with the highest sum are
2548 description: The weights of all of the matched WeightedPodAffinityTerm
2549 fields are added per-node to find the most preferred
2553 description: Required. A pod affinity term, associated
2554 with the corresponding weight.
2557 description: A label query over a set of resources,
2561 description: matchExpressions is a list
2562 of label selector requirements. The requirements
2565 description: A label selector requirement
2566 is a selector that contains values,
2567 a key, and an operator that relates
2571 description: key is the label key
2572 that the selector applies to.
2575 description: operator represents a
2576 key's relationship to a set of values.
2577 Valid operators are In, NotIn, Exists
2581 description: values is an array of
2582 string values. If the operator is
2583 In or NotIn, the values array must
2584 be non-empty. If the operator is
2585 Exists or DoesNotExist, the values
2586 array must be empty. This array
2587 is replaced during a strategic merge
2598 additionalProperties:
2600 description: matchLabels is a map of {key,value}
2601 pairs. A single {key,value} in the matchLabels
2602 map is equivalent to an element of matchExpressions,
2603 whose key field is "key", the operator
2604 is "In", and the values array contains
2605 only "value". The requirements are ANDed.
2609 description: A label query over the set of namespaces
2610 that the term applies to. The term is applied
2611 to the union of the namespaces selected by
2612 this field and the ones listed in the namespaces
2613 field. null selector and null or empty namespaces
2614 list means "this pod's namespace". An empty
2615 selector ({}) matches all namespaces. This
2616 field is beta-level and is only honored when
2617 PodAffinityNamespaceSelector feature is enabled.
2620 description: matchExpressions is a list
2621 of label selector requirements. The requirements
2624 description: A label selector requirement
2625 is a selector that contains values,
2626 a key, and an operator that relates
2630 description: key is the label key
2631 that the selector applies to.
2634 description: operator represents a
2635 key's relationship to a set of values.
2636 Valid operators are In, NotIn, Exists
2640 description: values is an array of
2641 string values. If the operator is
2642 In or NotIn, the values array must
2643 be non-empty. If the operator is
2644 Exists or DoesNotExist, the values
2645 array must be empty. This array
2646 is replaced during a strategic merge
2657 additionalProperties:
2659 description: matchLabels is a map of {key,value}
2660 pairs. A single {key,value} in the matchLabels
2661 map is equivalent to an element of matchExpressions,
2662 whose key field is "key", the operator
2663 is "In", and the values array contains
2664 only "value". The requirements are ANDed.
2668 description: namespaces specifies a static list
2669 of namespace names that the term applies to.
2670 The term is applied to the union of the namespaces
2671 listed in this field and the ones selected
2672 by namespaceSelector. null or empty namespaces
2673 list and null namespaceSelector means "this
2679 description: This pod should be co-located (affinity)
2680 or not co-located (anti-affinity) with the
2681 pods matching the labelSelector in the specified
2682 namespaces, where co-located is defined as
2683 running on a node whose value of the label
2684 with key topologyKey matches that of any node
2685 on which any of the selected pods is running.
2686 Empty topologyKey is not allowed.
2692 description: weight associated with matching the
2693 corresponding podAffinityTerm, in the range 1-100.
2701 requiredDuringSchedulingIgnoredDuringExecution:
2702 description: If the affinity requirements specified by
2703 this field are not met at scheduling time, the pod will
2704 not be scheduled onto the node. If the affinity requirements
2705 specified by this field cease to be met at some point
2706 during pod execution (e.g. due to a pod label update),
2707 the system may or may not try to eventually evict the
2708 pod from its node. When there are multiple elements,
2709 the lists of nodes corresponding to each podAffinityTerm
2710 are intersected, i.e. all terms must be satisfied.
2712 description: Defines a set of pods (namely those matching
2713 the labelSelector relative to the given namespace(s))
2714 that this pod should be co-located (affinity) or not
2715 co-located (anti-affinity) with, where co-located
2716 is defined as running on a node whose value of the
2717 label with key <topologyKey> matches that of any node
2718 on which a pod of the set of pods is running
2721 description: A label query over a set of resources,
2725 description: matchExpressions is a list of label
2726 selector requirements. The requirements are
2729 description: A label selector requirement
2730 is a selector that contains values, a key,
2731 and an operator that relates the key and
2735 description: key is the label key that
2736 the selector applies to.
2739 description: operator represents a key's
2740 relationship to a set of values. Valid
2741 operators are In, NotIn, Exists and
2745 description: values is an array of string
2746 values. If the operator is In or NotIn,
2747 the values array must be non-empty.
2748 If the operator is Exists or DoesNotExist,
2749 the values array must be empty. This
2750 array is replaced during a strategic
2761 additionalProperties:
2763 description: matchLabels is a map of {key,value}
2764 pairs. A single {key,value} in the matchLabels
2765 map is equivalent to an element of matchExpressions,
2766 whose key field is "key", the operator is
2767 "In", and the values array contains only "value".
2768 The requirements are ANDed.
2772 description: A label query over the set of namespaces
2773 that the term applies to. The term is applied
2774 to the union of the namespaces selected by this
2775 field and the ones listed in the namespaces field.
2776 null selector and null or empty namespaces list
2777 means "this pod's namespace". An empty selector
2778 ({}) matches all namespaces. This field is beta-level
2779 and is only honored when PodAffinityNamespaceSelector
2783 description: matchExpressions is a list of label
2784 selector requirements. The requirements are
2787 description: A label selector requirement
2788 is a selector that contains values, a key,
2789 and an operator that relates the key and
2793 description: key is the label key that
2794 the selector applies to.
2797 description: operator represents a key's
2798 relationship to a set of values. Valid
2799 operators are In, NotIn, Exists and
2803 description: values is an array of string
2804 values. If the operator is In or NotIn,
2805 the values array must be non-empty.
2806 If the operator is Exists or DoesNotExist,
2807 the values array must be empty. This
2808 array is replaced during a strategic
2819 additionalProperties:
2821 description: matchLabels is a map of {key,value}
2822 pairs. A single {key,value} in the matchLabels
2823 map is equivalent to an element of matchExpressions,
2824 whose key field is "key", the operator is
2825 "In", and the values array contains only "value".
2826 The requirements are ANDed.
2830 description: namespaces specifies a static list
2831 of namespace names that the term applies to. The
2832 term is applied to the union of the namespaces
2833 listed in this field and the ones selected by
2834 namespaceSelector. null or empty namespaces list
2835 and null namespaceSelector means "this pod's namespace"
2840 description: This pod should be co-located (affinity)
2841 or not co-located (anti-affinity) with the pods
2842 matching the labelSelector in the specified namespaces,
2843 where co-located is defined as running on a node
2844 whose value of the label with key topologyKey
2845 matches that of any node on which any of the selected
2846 pods is running. Empty topologyKey is not allowed.
2854 description: Describes pod anti-affinity scheduling rules
2855 (e.g. avoid putting this pod in the same node, zone, etc.
2856 as some other pod(s)).
2858 preferredDuringSchedulingIgnoredDuringExecution:
2859 description: The scheduler will prefer to schedule pods
2860 to nodes that satisfy the anti-affinity expressions
2861 specified by this field, but it may choose a node that
2862 violates one or more of the expressions. The node that
2863 is most preferred is the one with the greatest sum of
2864 weights, i.e. for each node that meets all of the scheduling
2865 requirements (resource request, requiredDuringScheduling
2866 anti-affinity expressions, etc.), compute a sum by iterating
2867 through the elements of this field and adding "weight"
2868 to the sum if the node has pods which matches the corresponding
2869 podAffinityTerm; the node(s) with the highest sum are
2872 description: The weights of all of the matched WeightedPodAffinityTerm
2873 fields are added per-node to find the most preferred
2877 description: Required. A pod affinity term, associated
2878 with the corresponding weight.
2881 description: A label query over a set of resources,
2885 description: matchExpressions is a list
2886 of label selector requirements. The requirements
2889 description: A label selector requirement
2890 is a selector that contains values,
2891 a key, and an operator that relates
2895 description: key is the label key
2896 that the selector applies to.
2899 description: operator represents a
2900 key's relationship to a set of values.
2901 Valid operators are In, NotIn, Exists
2905 description: values is an array of
2906 string values. If the operator is
2907 In or NotIn, the values array must
2908 be non-empty. If the operator is
2909 Exists or DoesNotExist, the values
2910 array must be empty. This array
2911 is replaced during a strategic merge
2922 additionalProperties:
2924 description: matchLabels is a map of {key,value}
2925 pairs. A single {key,value} in the matchLabels
2926 map is equivalent to an element of matchExpressions,
2927 whose key field is "key", the operator
2928 is "In", and the values array contains
2929 only "value". The requirements are ANDed.
2933 description: A label query over the set of namespaces
2934 that the term applies to. The term is applied
2935 to the union of the namespaces selected by
2936 this field and the ones listed in the namespaces
2937 field. null selector and null or empty namespaces
2938 list means "this pod's namespace". An empty
2939 selector ({}) matches all namespaces. This
2940 field is beta-level and is only honored when
2941 PodAffinityNamespaceSelector feature is enabled.
2944 description: matchExpressions is a list
2945 of label selector requirements. The requirements
2948 description: A label selector requirement
2949 is a selector that contains values,
2950 a key, and an operator that relates
2954 description: key is the label key
2955 that the selector applies to.
2958 description: operator represents a
2959 key's relationship to a set of values.
2960 Valid operators are In, NotIn, Exists
2964 description: values is an array of
2965 string values. If the operator is
2966 In or NotIn, the values array must
2967 be non-empty. If the operator is
2968 Exists or DoesNotExist, the values
2969 array must be empty. This array
2970 is replaced during a strategic merge
2981 additionalProperties:
2983 description: matchLabels is a map of {key,value}
2984 pairs. A single {key,value} in the matchLabels
2985 map is equivalent to an element of matchExpressions,
2986 whose key field is "key", the operator
2987 is "In", and the values array contains
2988 only "value". The requirements are ANDed.
2992 description: namespaces specifies a static list
2993 of namespace names that the term applies to.
2994 The term is applied to the union of the namespaces
2995 listed in this field and the ones selected
2996 by namespaceSelector. null or empty namespaces
2997 list and null namespaceSelector means "this
3003 description: This pod should be co-located (affinity)
3004 or not co-located (anti-affinity) with the
3005 pods matching the labelSelector in the specified
3006 namespaces, where co-located is defined as
3007 running on a node whose value of the label
3008 with key topologyKey matches that of any node
3009 on which any of the selected pods is running.
3010 Empty topologyKey is not allowed.
3016 description: weight associated with matching the
3017 corresponding podAffinityTerm, in the range 1-100.
3025 requiredDuringSchedulingIgnoredDuringExecution:
3026 description: If the anti-affinity requirements specified
3027 by this field are not met at scheduling time, the pod
3028 will not be scheduled onto the node. If the anti-affinity
3029 requirements specified by this field cease to be met
3030 at some point during pod execution (e.g. due to a pod
3031 label update), the system may or may not try to eventually
3032 evict the pod from its node. When there are multiple
3033 elements, the lists of nodes corresponding to each podAffinityTerm
3034 are intersected, i.e. all terms must be satisfied.
3036 description: Defines a set of pods (namely those matching
3037 the labelSelector relative to the given namespace(s))
3038 that this pod should be co-located (affinity) or not
3039 co-located (anti-affinity) with, where co-located
3040 is defined as running on a node whose value of the
3041 label with key <topologyKey> matches that of any node
3042 on which a pod of the set of pods is running
3045 description: A label query over a set of resources,
3049 description: matchExpressions is a list of label
3050 selector requirements. The requirements are
3053 description: A label selector requirement
3054 is a selector that contains values, a key,
3055 and an operator that relates the key and
3059 description: key is the label key that
3060 the selector applies to.
3063 description: operator represents a key's
3064 relationship to a set of values. Valid
3065 operators are In, NotIn, Exists and
3069 description: values is an array of string
3070 values. If the operator is In or NotIn,
3071 the values array must be non-empty.
3072 If the operator is Exists or DoesNotExist,
3073 the values array must be empty. This
3074 array is replaced during a strategic
3085 additionalProperties:
3087 description: matchLabels is a map of {key,value}
3088 pairs. A single {key,value} in the matchLabels
3089 map is equivalent to an element of matchExpressions,
3090 whose key field is "key", the operator is
3091 "In", and the values array contains only "value".
3092 The requirements are ANDed.
3096 description: A label query over the set of namespaces
3097 that the term applies to. The term is applied
3098 to the union of the namespaces selected by this
3099 field and the ones listed in the namespaces field.
3100 null selector and null or empty namespaces list
3101 means "this pod's namespace". An empty selector
3102 ({}) matches all namespaces. This field is beta-level
3103 and is only honored when PodAffinityNamespaceSelector
3107 description: matchExpressions is a list of label
3108 selector requirements. The requirements are
3111 description: A label selector requirement
3112 is a selector that contains values, a key,
3113 and an operator that relates the key and
3117 description: key is the label key that
3118 the selector applies to.
3121 description: operator represents a key's
3122 relationship to a set of values. Valid
3123 operators are In, NotIn, Exists and
3127 description: values is an array of string
3128 values. If the operator is In or NotIn,
3129 the values array must be non-empty.
3130 If the operator is Exists or DoesNotExist,
3131 the values array must be empty. This
3132 array is replaced during a strategic
3143 additionalProperties:
3145 description: matchLabels is a map of {key,value}
3146 pairs. A single {key,value} in the matchLabels
3147 map is equivalent to an element of matchExpressions,
3148 whose key field is "key", the operator is
3149 "In", and the values array contains only "value".
3150 The requirements are ANDed.
3154 description: namespaces specifies a static list
3155 of namespace names that the term applies to. The
3156 term is applied to the union of the namespaces
3157 listed in this field and the ones selected by
3158 namespaceSelector. null or empty namespaces list
3159 and null namespaceSelector means "this pod's namespace"
3164 description: This pod should be co-located (affinity)
3165 or not co-located (anti-affinity) with the pods
3166 matching the labelSelector in the specified namespaces,
3167 where co-located is defined as running on a node
3168 whose value of the label with key topologyKey
3169 matches that of any node on which any of the selected
3170 pods is running. Empty topologyKey is not allowed.
3179 additionalProperties:
3181 description: 'nodeSelector is the node selector applied to the
3182 relevant kind of pods It specifies a map of key-value pairs:
3183 for the pod to be eligible to run on a node, the node must have
3184 each of the indicated key-value pairs as labels (it can have
3185 additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
3188 description: tolerations is a list of tolerations applied to the
3189 relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3190 for more info. These are additional tolerations other than default
3193 description: The pod this Toleration is attached to tolerates
3194 any taint that matches the triple <key,value,effect> using
3195 the matching operator <operator>.
3198 description: Effect indicates the taint effect to match.
3199 Empty means match all taint effects. When specified, allowed
3200 values are NoSchedule, PreferNoSchedule and NoExecute.
3203 description: Key is the taint key that the toleration applies
3204 to. Empty means match all taint keys. If the key is empty,
3205 operator must be Exists; this combination means to match
3206 all values and all keys.
3209 description: Operator represents a key's relationship to
3210 the value. Valid operators are Exists and Equal. Defaults
3211 to Equal. Exists is equivalent to wildcard for value,
3212 so that a pod can tolerate all taints of a particular
3216 description: TolerationSeconds represents the period of
3217 time the toleration (which must be of effect NoExecute,
3218 otherwise this field is ignored) tolerates the taint.
3219 By default, it is not set, which means tolerate the taint
3220 forever (do not evict). Zero and negative values will
3221 be treated as 0 (evict immediately) by the system.
3225 description: Value is the taint value the toleration matches
3226 to. If the operator is Exists, the value should be empty,
3227 otherwise just a regular string.
3233 description: PriorityClass of the CDI control plane
3236 description: CDIUninstallStrategy defines the state to leave CDI on
3240 - BlockUninstallIfWorkloadsExist
3243 description: Restrict on which nodes CDI workload pods will be scheduled
3246 description: affinity enables pod affinity/anti-affinity placement
3247 expanding the types of constraints that can be expressed with
3248 nodeSelector. affinity is going to be applied to the relevant
3249 kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
3252 description: Describes node affinity scheduling rules for
3255 preferredDuringSchedulingIgnoredDuringExecution:
3256 description: The scheduler will prefer to schedule pods
3257 to nodes that satisfy the affinity expressions specified
3258 by this field, but it may choose a node that violates
3259 one or more of the expressions. The node that is most
3260 preferred is the one with the greatest sum of weights,
3261 i.e. for each node that meets all of the scheduling
3262 requirements (resource request, requiredDuringScheduling
3263 affinity expressions, etc.), compute a sum by iterating
3264 through the elements of this field and adding "weight"
3265 to the sum if the node matches the corresponding matchExpressions;
3266 the node(s) with the highest sum are the most preferred.
3268 description: An empty preferred scheduling term matches
3269 all objects with implicit weight 0 (i.e. it's a no-op).
3270 A null preferred scheduling term matches no objects
3271 (i.e. is also a no-op).
3274 description: A node selector term, associated with
3275 the corresponding weight.
3278 description: A list of node selector requirements
3281 description: A node selector requirement is
3282 a selector that contains values, a key,
3283 and an operator that relates the key and
3287 description: The label key that the selector
3291 description: Represents a key's relationship
3292 to a set of values. Valid operators
3293 are In, NotIn, Exists, DoesNotExist.
3297 description: An array of string values.
3298 If the operator is In or NotIn, the
3299 values array must be non-empty. If the
3300 operator is Exists or DoesNotExist,
3301 the values array must be empty. If the
3302 operator is Gt or Lt, the values array
3303 must have a single element, which will
3304 be interpreted as an integer. This array
3305 is replaced during a strategic merge
3316 description: A list of node selector requirements
3319 description: A node selector requirement is
3320 a selector that contains values, a key,
3321 and an operator that relates the key and
3325 description: The label key that the selector
3329 description: Represents a key's relationship
3330 to a set of values. Valid operators
3331 are In, NotIn, Exists, DoesNotExist.
3335 description: An array of string values.
3336 If the operator is In or NotIn, the
3337 values array must be non-empty. If the
3338 operator is Exists or DoesNotExist,
3339 the values array must be empty. If the
3340 operator is Gt or Lt, the values array
3341 must have a single element, which will
3342 be interpreted as an integer. This array
3343 is replaced during a strategic merge
3355 description: Weight associated with matching the
3356 corresponding nodeSelectorTerm, in the range 1-100.
3364 requiredDuringSchedulingIgnoredDuringExecution:
3365 description: If the affinity requirements specified by
3366 this field are not met at scheduling time, the pod will
3367 not be scheduled onto the node. If the affinity requirements
3368 specified by this field cease to be met at some point
3369 during pod execution (e.g. due to an update), the system
3370 may or may not try to eventually evict the pod from
3374 description: Required. A list of node selector terms.
3377 description: A null or empty node selector term
3378 matches no objects. The requirements of them are
3379 ANDed. The TopologySelectorTerm type implements
3380 a subset of the NodeSelectorTerm.
3383 description: A list of node selector requirements
3386 description: A node selector requirement is
3387 a selector that contains values, a key,
3388 and an operator that relates the key and
3392 description: The label key that the selector
3396 description: Represents a key's relationship
3397 to a set of values. Valid operators
3398 are In, NotIn, Exists, DoesNotExist.
3402 description: An array of string values.
3403 If the operator is In or NotIn, the
3404 values array must be non-empty. If the
3405 operator is Exists or DoesNotExist,
3406 the values array must be empty. If the
3407 operator is Gt or Lt, the values array
3408 must have a single element, which will
3409 be interpreted as an integer. This array
3410 is replaced during a strategic merge
3421 description: A list of node selector requirements
3424 description: A node selector requirement is
3425 a selector that contains values, a key,
3426 and an operator that relates the key and
3430 description: The label key that the selector
3434 description: Represents a key's relationship
3435 to a set of values. Valid operators
3436 are In, NotIn, Exists, DoesNotExist.
3440 description: An array of string values.
3441 If the operator is In or NotIn, the
3442 values array must be non-empty. If the
3443 operator is Exists or DoesNotExist,
3444 the values array must be empty. If the
3445 operator is Gt or Lt, the values array
3446 must have a single element, which will
3447 be interpreted as an integer. This array
3448 is replaced during a strategic merge
3465 description: Describes pod affinity scheduling rules (e.g.
3466 co-locate this pod in the same node, zone, etc. as some
3469 preferredDuringSchedulingIgnoredDuringExecution:
3470 description: The scheduler will prefer to schedule pods
3471 to nodes that satisfy the affinity expressions specified
3472 by this field, but it may choose a node that violates
3473 one or more of the expressions. The node that is most
3474 preferred is the one with the greatest sum of weights,
3475 i.e. for each node that meets all of the scheduling
3476 requirements (resource request, requiredDuringScheduling
3477 affinity expressions, etc.), compute a sum by iterating
3478 through the elements of this field and adding "weight"
3479 to the sum if the node has pods which matches the corresponding
3480 podAffinityTerm; the node(s) with the highest sum are
3483 description: The weights of all of the matched WeightedPodAffinityTerm
3484 fields are added per-node to find the most preferred
3488 description: Required. A pod affinity term, associated
3489 with the corresponding weight.
3492 description: A label query over a set of resources,
3496 description: matchExpressions is a list
3497 of label selector requirements. The requirements
3500 description: A label selector requirement
3501 is a selector that contains values,
3502 a key, and an operator that relates
3506 description: key is the label key
3507 that the selector applies to.
3510 description: operator represents a
3511 key's relationship to a set of values.
3512 Valid operators are In, NotIn, Exists
3516 description: values is an array of
3517 string values. If the operator is
3518 In or NotIn, the values array must
3519 be non-empty. If the operator is
3520 Exists or DoesNotExist, the values
3521 array must be empty. This array
3522 is replaced during a strategic merge
3533 additionalProperties:
3535 description: matchLabels is a map of {key,value}
3536 pairs. A single {key,value} in the matchLabels
3537 map is equivalent to an element of matchExpressions,
3538 whose key field is "key", the operator
3539 is "In", and the values array contains
3540 only "value". The requirements are ANDed.
3544 description: A label query over the set of namespaces
3545 that the term applies to. The term is applied
3546 to the union of the namespaces selected by
3547 this field and the ones listed in the namespaces
3548 field. null selector and null or empty namespaces
3549 list means "this pod's namespace". An empty
3550 selector ({}) matches all namespaces. This
3551 field is beta-level and is only honored when
3552 PodAffinityNamespaceSelector feature is enabled.
3555 description: matchExpressions is a list
3556 of label selector requirements. The requirements
3559 description: A label selector requirement
3560 is a selector that contains values,
3561 a key, and an operator that relates
3565 description: key is the label key
3566 that the selector applies to.
3569 description: operator represents a
3570 key's relationship to a set of values.
3571 Valid operators are In, NotIn, Exists
3575 description: values is an array of
3576 string values. If the operator is
3577 In or NotIn, the values array must
3578 be non-empty. If the operator is
3579 Exists or DoesNotExist, the values
3580 array must be empty. This array
3581 is replaced during a strategic merge
3592 additionalProperties:
3594 description: matchLabels is a map of {key,value}
3595 pairs. A single {key,value} in the matchLabels
3596 map is equivalent to an element of matchExpressions,
3597 whose key field is "key", the operator
3598 is "In", and the values array contains
3599 only "value". The requirements are ANDed.
3603 description: namespaces specifies a static list
3604 of namespace names that the term applies to.
3605 The term is applied to the union of the namespaces
3606 listed in this field and the ones selected
3607 by namespaceSelector. null or empty namespaces
3608 list and null namespaceSelector means "this
3614 description: This pod should be co-located (affinity)
3615 or not co-located (anti-affinity) with the
3616 pods matching the labelSelector in the specified
3617 namespaces, where co-located is defined as
3618 running on a node whose value of the label
3619 with key topologyKey matches that of any node
3620 on which any of the selected pods is running.
3621 Empty topologyKey is not allowed.
3627 description: weight associated with matching the
3628 corresponding podAffinityTerm, in the range 1-100.
3636 requiredDuringSchedulingIgnoredDuringExecution:
3637 description: If the affinity requirements specified by
3638 this field are not met at scheduling time, the pod will
3639 not be scheduled onto the node. If the affinity requirements
3640 specified by this field cease to be met at some point
3641 during pod execution (e.g. due to a pod label update),
3642 the system may or may not try to eventually evict the
3643 pod from its node. When there are multiple elements,
3644 the lists of nodes corresponding to each podAffinityTerm
3645 are intersected, i.e. all terms must be satisfied.
3647 description: Defines a set of pods (namely those matching
3648 the labelSelector relative to the given namespace(s))
3649 that this pod should be co-located (affinity) or not
3650 co-located (anti-affinity) with, where co-located
3651 is defined as running on a node whose value of the
3652 label with key <topologyKey> matches that of any node
3653 on which a pod of the set of pods is running
3656 description: A label query over a set of resources,
3660 description: matchExpressions is a list of label
3661 selector requirements. The requirements are
3664 description: A label selector requirement
3665 is a selector that contains values, a key,
3666 and an operator that relates the key and
3670 description: key is the label key that
3671 the selector applies to.
3674 description: operator represents a key's
3675 relationship to a set of values. Valid
3676 operators are In, NotIn, Exists and
3680 description: values is an array of string
3681 values. If the operator is In or NotIn,
3682 the values array must be non-empty.
3683 If the operator is Exists or DoesNotExist,
3684 the values array must be empty. This
3685 array is replaced during a strategic
3696 additionalProperties:
3698 description: matchLabels is a map of {key,value}
3699 pairs. A single {key,value} in the matchLabels
3700 map is equivalent to an element of matchExpressions,
3701 whose key field is "key", the operator is
3702 "In", and the values array contains only "value".
3703 The requirements are ANDed.
3707 description: A label query over the set of namespaces
3708 that the term applies to. The term is applied
3709 to the union of the namespaces selected by this
3710 field and the ones listed in the namespaces field.
3711 null selector and null or empty namespaces list
3712 means "this pod's namespace". An empty selector
3713 ({}) matches all namespaces. This field is beta-level
3714 and is only honored when PodAffinityNamespaceSelector
3718 description: matchExpressions is a list of label
3719 selector requirements. The requirements are
3722 description: A label selector requirement
3723 is a selector that contains values, a key,
3724 and an operator that relates the key and
3728 description: key is the label key that
3729 the selector applies to.
3732 description: operator represents a key's
3733 relationship to a set of values. Valid
3734 operators are In, NotIn, Exists and
3738 description: values is an array of string
3739 values. If the operator is In or NotIn,
3740 the values array must be non-empty.
3741 If the operator is Exists or DoesNotExist,
3742 the values array must be empty. This
3743 array is replaced during a strategic
3754 additionalProperties:
3756 description: matchLabels is a map of {key,value}
3757 pairs. A single {key,value} in the matchLabels
3758 map is equivalent to an element of matchExpressions,
3759 whose key field is "key", the operator is
3760 "In", and the values array contains only "value".
3761 The requirements are ANDed.
3765 description: namespaces specifies a static list
3766 of namespace names that the term applies to. The
3767 term is applied to the union of the namespaces
3768 listed in this field and the ones selected by
3769 namespaceSelector. null or empty namespaces list
3770 and null namespaceSelector means "this pod's namespace"
3775 description: This pod should be co-located (affinity)
3776 or not co-located (anti-affinity) with the pods
3777 matching the labelSelector in the specified namespaces,
3778 where co-located is defined as running on a node
3779 whose value of the label with key topologyKey
3780 matches that of any node on which any of the selected
3781 pods is running. Empty topologyKey is not allowed.
3789 description: Describes pod anti-affinity scheduling rules
3790 (e.g. avoid putting this pod in the same node, zone, etc.
3791 as some other pod(s)).
3793 preferredDuringSchedulingIgnoredDuringExecution:
3794 description: The scheduler will prefer to schedule pods
3795 to nodes that satisfy the anti-affinity expressions
3796 specified by this field, but it may choose a node that
3797 violates one or more of the expressions. The node that
3798 is most preferred is the one with the greatest sum of
3799 weights, i.e. for each node that meets all of the scheduling
3800 requirements (resource request, requiredDuringScheduling
3801 anti-affinity expressions, etc.), compute a sum by iterating
3802 through the elements of this field and adding "weight"
3803 to the sum if the node has pods which matches the corresponding
3804 podAffinityTerm; the node(s) with the highest sum are
3807 description: The weights of all of the matched WeightedPodAffinityTerm
3808 fields are added per-node to find the most preferred
3812 description: Required. A pod affinity term, associated
3813 with the corresponding weight.
3816 description: A label query over a set of resources,
3820 description: matchExpressions is a list
3821 of label selector requirements. The requirements
3824 description: A label selector requirement
3825 is a selector that contains values,
3826 a key, and an operator that relates
3830 description: key is the label key
3831 that the selector applies to.
3834 description: operator represents a
3835 key's relationship to a set of values.
3836 Valid operators are In, NotIn, Exists
3840 description: values is an array of
3841 string values. If the operator is
3842 In or NotIn, the values array must
3843 be non-empty. If the operator is
3844 Exists or DoesNotExist, the values
3845 array must be empty. This array
3846 is replaced during a strategic merge
3857 additionalProperties:
3859 description: matchLabels is a map of {key,value}
3860 pairs. A single {key,value} in the matchLabels
3861 map is equivalent to an element of matchExpressions,
3862 whose key field is "key", the operator
3863 is "In", and the values array contains
3864 only "value". The requirements are ANDed.
3868 description: A label query over the set of namespaces
3869 that the term applies to. The term is applied
3870 to the union of the namespaces selected by
3871 this field and the ones listed in the namespaces
3872 field. null selector and null or empty namespaces
3873 list means "this pod's namespace". An empty
3874 selector ({}) matches all namespaces. This
3875 field is beta-level and is only honored when
3876 PodAffinityNamespaceSelector feature is enabled.
3879 description: matchExpressions is a list
3880 of label selector requirements. The requirements
3883 description: A label selector requirement
3884 is a selector that contains values,
3885 a key, and an operator that relates
3889 description: key is the label key
3890 that the selector applies to.
3893 description: operator represents a
3894 key's relationship to a set of values.
3895 Valid operators are In, NotIn, Exists
3899 description: values is an array of
3900 string values. If the operator is
3901 In or NotIn, the values array must
3902 be non-empty. If the operator is
3903 Exists or DoesNotExist, the values
3904 array must be empty. This array
3905 is replaced during a strategic merge
3916 additionalProperties:
3918 description: matchLabels is a map of {key,value}
3919 pairs. A single {key,value} in the matchLabels
3920 map is equivalent to an element of matchExpressions,
3921 whose key field is "key", the operator
3922 is "In", and the values array contains
3923 only "value". The requirements are ANDed.
3927 description: namespaces specifies a static list
3928 of namespace names that the term applies to.
3929 The term is applied to the union of the namespaces
3930 listed in this field and the ones selected
3931 by namespaceSelector. null or empty namespaces
3932 list and null namespaceSelector means "this
3938 description: This pod should be co-located (affinity)
3939 or not co-located (anti-affinity) with the
3940 pods matching the labelSelector in the specified
3941 namespaces, where co-located is defined as
3942 running on a node whose value of the label
3943 with key topologyKey matches that of any node
3944 on which any of the selected pods is running.
3945 Empty topologyKey is not allowed.
3951 description: weight associated with matching the
3952 corresponding podAffinityTerm, in the range 1-100.
3960 requiredDuringSchedulingIgnoredDuringExecution:
3961 description: If the anti-affinity requirements specified
3962 by this field are not met at scheduling time, the pod
3963 will not be scheduled onto the node. If the anti-affinity
3964 requirements specified by this field cease to be met
3965 at some point during pod execution (e.g. due to a pod
3966 label update), the system may or may not try to eventually
3967 evict the pod from its node. When there are multiple
3968 elements, the lists of nodes corresponding to each podAffinityTerm
3969 are intersected, i.e. all terms must be satisfied.
3971 description: Defines a set of pods (namely those matching
3972 the labelSelector relative to the given namespace(s))
3973 that this pod should be co-located (affinity) or not
3974 co-located (anti-affinity) with, where co-located
3975 is defined as running on a node whose value of the
3976 label with key <topologyKey> matches that of any node
3977 on which a pod of the set of pods is running
3980 description: A label query over a set of resources,
3984 description: matchExpressions is a list of label
3985 selector requirements. The requirements are
3988 description: A label selector requirement
3989 is a selector that contains values, a key,
3990 and an operator that relates the key and
3994 description: key is the label key that
3995 the selector applies to.
3998 description: operator represents a key's
3999 relationship to a set of values. Valid
4000 operators are In, NotIn, Exists and
4004 description: values is an array of string
4005 values. If the operator is In or NotIn,
4006 the values array must be non-empty.
4007 If the operator is Exists or DoesNotExist,
4008 the values array must be empty. This
4009 array is replaced during a strategic
4020 additionalProperties:
4022 description: matchLabels is a map of {key,value}
4023 pairs. A single {key,value} in the matchLabels
4024 map is equivalent to an element of matchExpressions,
4025 whose key field is "key", the operator is
4026 "In", and the values array contains only "value".
4027 The requirements are ANDed.
4031 description: A label query over the set of namespaces
4032 that the term applies to. The term is applied
4033 to the union of the namespaces selected by this
4034 field and the ones listed in the namespaces field.
4035 null selector and null or empty namespaces list
4036 means "this pod's namespace". An empty selector
4037 ({}) matches all namespaces. This field is beta-level
4038 and is only honored when PodAffinityNamespaceSelector
4042 description: matchExpressions is a list of label
4043 selector requirements. The requirements are
4046 description: A label selector requirement
4047 is a selector that contains values, a key,
4048 and an operator that relates the key and
4052 description: key is the label key that
4053 the selector applies to.
4056 description: operator represents a key's
4057 relationship to a set of values. Valid
4058 operators are In, NotIn, Exists and
4062 description: values is an array of string
4063 values. If the operator is In or NotIn,
4064 the values array must be non-empty.
4065 If the operator is Exists or DoesNotExist,
4066 the values array must be empty. This
4067 array is replaced during a strategic
4078 additionalProperties:
4080 description: matchLabels is a map of {key,value}
4081 pairs. A single {key,value} in the matchLabels
4082 map is equivalent to an element of matchExpressions,
4083 whose key field is "key", the operator is
4084 "In", and the values array contains only "value".
4085 The requirements are ANDed.
4089 description: namespaces specifies a static list
4090 of namespace names that the term applies to. The
4091 term is applied to the union of the namespaces
4092 listed in this field and the ones selected by
4093 namespaceSelector. null or empty namespaces list
4094 and null namespaceSelector means "this pod's namespace"
4099 description: This pod should be co-located (affinity)
4100 or not co-located (anti-affinity) with the pods
4101 matching the labelSelector in the specified namespaces,
4102 where co-located is defined as running on a node
4103 whose value of the label with key topologyKey
4104 matches that of any node on which any of the selected
4105 pods is running. Empty topologyKey is not allowed.
4114 additionalProperties:
4116 description: 'nodeSelector is the node selector applied to the
4117 relevant kind of pods It specifies a map of key-value pairs:
4118 for the pod to be eligible to run on a node, the node must have
4119 each of the indicated key-value pairs as labels (it can have
4120 additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
4123 description: tolerations is a list of tolerations applied to the
4124 relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4125 for more info. These are additional tolerations other than default
4128 description: The pod this Toleration is attached to tolerates
4129 any taint that matches the triple <key,value,effect> using
4130 the matching operator <operator>.
4133 description: Effect indicates the taint effect to match.
4134 Empty means match all taint effects. When specified, allowed
4135 values are NoSchedule, PreferNoSchedule and NoExecute.
4138 description: Key is the taint key that the toleration applies
4139 to. Empty means match all taint keys. If the key is empty,
4140 operator must be Exists; this combination means to match
4141 all values and all keys.
4144 description: Operator represents a key's relationship to
4145 the value. Valid operators are Exists and Equal. Defaults
4146 to Equal. Exists is equivalent to wildcard for value,
4147 so that a pod can tolerate all taints of a particular
4151 description: TolerationSeconds represents the period of
4152 time the toleration (which must be of effect NoExecute,
4153 otherwise this field is ignored) tolerates the taint.
4154 By default, it is not set, which means tolerate the taint
4155 forever (do not evict). Zero and negative values will
4156 be treated as 0 (evict immediately) by the system.
4160 description: Value is the taint value the toleration matches
4161 to. If the operator is Exists, the value should be empty,
4162 otherwise just a regular string.
4169 description: CDIStatus defines the status of the installation
4172 description: A list of current conditions of the resource
4174 description: Condition represents the state of the operator's reconciliation
4190 description: ConditionType is the state of the operator's reconciliation
4199 description: The observed version of the resource
4202 description: The version of the resource as defined by the operator
4205 description: Phase is the current phase of the deployment
4208 description: The desired version of the resource
4218 apiVersion: rbac.authorization.k8s.io/v1
4222 operator.cdi.kubevirt.io: ""
4223 name: cdi-operator-cluster
4226 - rbac.authorization.k8s.io
4228 - clusterrolebindings
4233 - security.openshift.io
4235 - securitycontextconstraints
4253 - apiextensions.k8s.io
4255 - customresourcedefinitions
4260 - upload.cdi.kubevirt.io
4266 - admissionregistration.k8s.io
4268 - validatingwebhookconfigurations
4269 - mutatingwebhookconfigurations
4273 - apiregistration.k8s.io
4279 - authorization.k8s.io
4281 - subjectaccessreviews
4295 - persistentvolumeclaims
4335 - persistentvolumeclaims
4347 - persistentvolumeclaims/finalizers
4349 - volumesnapshots/finalizers
4387 - route.openshift.io
4395 - config.openshift.io
4409 - snapshot.storage.k8s.io
4415 - apiextensions.k8s.io
4417 - customresourcedefinitions
4431 - image.openshift.io
4447 - persistentvolumeclaims
4459 apiVersion: rbac.authorization.k8s.io/v1
4460 kind: ClusterRoleBinding
4463 operator.cdi.kubevirt.io: ""
4466 apiGroup: rbac.authorization.k8s.io
4468 name: cdi-operator-cluster
4470 - kind: ServiceAccount
4475 kind: ServiceAccount
4478 operator.cdi.kubevirt.io: ""
4482 apiVersion: rbac.authorization.k8s.io/v1
4486 app.kubernetes.io/component: storage
4487 app.kubernetes.io/managed-by: cdi-operator
4493 - rbac.authorization.k8s.io
4513 - deployments/finalizers
4517 - route.openshift.io
4520 - routes/custom-host
4524 - config.openshift.io
4532 - monitoring.coreos.com
4545 apiVersion: rbac.authorization.k8s.io/v1
4549 app.kubernetes.io/component: storage
4550 app.kubernetes.io/managed-by: cdi-operator
4555 apiGroup: rbac.authorization.k8s.io
4559 - kind: ServiceAccount
4568 operator.cdi.kubevirt.io: ""
4569 prometheus.cdi.kubevirt.io: "true"
4577 operator.cdi.kubevirt.io: ""
4583 operator.cdi.kubevirt.io: ""
4584 prometheus.cdi.kubevirt.io: "true"
4588 - name: DEPLOY_CLUSTER_RESOURCES
4590 - name: OPERATOR_VERSION
4592 - name: CONTROLLER_IMAGE
4593 value: quay.io/kubevirt/cdi-controller:v1.44.1
4594 - name: IMPORTER_IMAGE
4595 value: quay.io/kubevirt/cdi-importer:v1.44.1
4596 - name: CLONER_IMAGE
4597 value: quay.io/kubevirt/cdi-cloner:v1.44.1
4598 - name: APISERVER_IMAGE
4599 value: quay.io/kubevirt/cdi-apiserver:v1.44.1
4600 - name: UPLOAD_SERVER_IMAGE
4601 value: quay.io/kubevirt/cdi-uploadserver:v1.44.1
4602 - name: UPLOAD_PROXY_IMAGE
4603 value: quay.io/kubevirt/cdi-uploadproxy:v1.44.1
4608 - name: MONITORING_NAMESPACE
4609 image: quay.io/kubevirt/cdi-operator:v1.44.1
4610 imagePullPolicy: IfNotPresent
4613 - containerPort: 8080
4621 kubernetes.io/os: linux
4624 serviceAccountName: cdi-operator
4626 - key: CriticalAddonsOnly
4633 operator.cdi.kubevirt.io: ""
4634 name: cdi-operator-leader-election-helper