1apiVersion: v1
2kind: Namespace
3metadata:
4 labels:
5 cdi.kubevirt.io: ""
6 name: cdi
7---
8apiVersion: apiextensions.k8s.io/v1
9kind: CustomResourceDefinition
10metadata:
11 annotations:
12 controller-gen.kubebuilder.io/version: v0.14.0
13 name: cdis.cdi.kubevirt.io
14spec:
15 group: cdi.kubevirt.io
16 names:
17 kind: CDI
18 listKind: CDIList
19 plural: cdis
20 shortNames:
21 - cdi
22 - cdis
23 singular: cdi
24 scope: Cluster
25 versions:
26 - additionalPrinterColumns:
27 - jsonPath: .metadata.creationTimestamp
28 name: Age
29 type: date
30 - jsonPath: .status.phase
31 name: Phase
32 type: string
33 name: v1alpha1
34 schema:
35 openAPIV3Schema:
36 description: CDI is the CDI Operator CRD
37 properties:
38 apiVersion:
39 description: |-
40 APIVersion defines the versioned schema of this representation of an object.
41 Servers should convert recognized schemas to the latest internal value, and
42 may reject unrecognized values.
43 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
44 type: string
45 kind:
46 description: |-
47 Kind is a string value representing the REST resource this object represents.
48 Servers may infer this from the endpoint the client submits requests to.
49 Cannot be updated.
50 In CamelCase.
51 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
52 type: string
53 metadata:
54 type: object
55 spec:
56 description: CDISpec defines our specification for the CDI installation
57 properties:
58 certConfig:
59 description: certificate configuration
60 properties:
61 ca:
62 description: |-
63 CA configuration
64 CA certs are kept in the CA bundle as long as they are valid
65 properties:
66 duration:
67 description: The requested 'duration' (i.e. lifetime) of the
68 Certificate.
69 type: string
70 renewBefore:
71 description: |-
72 The amount of time before the currently issued certificate's `notAfter`
73 time that we will begin to attempt to renew the certificate.
74 type: string
75 type: object
76 client:
77 description: |-
78 Client configuration
79 Certs are rotated and discarded
80 properties:
81 duration:
82 description: The requested 'duration' (i.e. lifetime) of the
83 Certificate.
84 type: string
85 renewBefore:
86 description: |-
87 The amount of time before the currently issued certificate's `notAfter`
88 time that we will begin to attempt to renew the certificate.
89 type: string
90 type: object
91 server:
92 description: |-
93 Server configuration
94 Certs are rotated and discarded
95 properties:
96 duration:
97 description: The requested 'duration' (i.e. lifetime) of the
98 Certificate.
99 type: string
100 renewBefore:
101 description: |-
102 The amount of time before the currently issued certificate's `notAfter`
103 time that we will begin to attempt to renew the certificate.
104 type: string
105 type: object
106 type: object
107 cloneStrategyOverride:
108 description: 'Clone strategy override: should we use a host-assisted
109 copy even if snapshots are available?'
110 enum:
111 - copy
112 - snapshot
113 - csi-clone
114 type: string
115 config:
116 description: CDIConfig at CDI level
117 properties:
118 dataVolumeTTLSeconds:
119 description: DataVolumeTTLSeconds is the time in seconds after
120 DataVolume completion it can be garbage collected. Disabled
121 by default.
122 format: int32
123 type: integer
124 featureGates:
125 description: FeatureGates are a list of specific enabled feature
126 gates
127 items:
128 type: string
129 type: array
130 filesystemOverhead:
131 description: FilesystemOverhead describes the space reserved for
132 overhead when using Filesystem volumes. A value is between 0
133 and 1, if not defined it is 0.055 (5.5% overhead)
134 properties:
135 global:
136 description: Global is how much space of a Filesystem volume
137 should be reserved for overhead. This value is used unless
138 overridden by a more specific value (per storageClass)
139 pattern: ^(0(?:\.\d{1,3})?|1)$
140 type: string
141 storageClass:
142 additionalProperties:
143 description: |-
144 Percent is a string that can only be a value between [0,1)
145 (Note: we actually rely on reconcile to reject invalid values)
146 pattern: ^(0(?:\.\d{1,3})?|1)$
147 type: string
148 description: StorageClass specifies how much space of a Filesystem
149 volume should be reserved for safety. The keys are the storageClass
150 and the values are the overhead. This value overrides the
151 global value
152 type: object
153 type: object
154 imagePullSecrets:
155 description: The imagePullSecrets used to pull the container images
156 items:
157 description: |-
158 LocalObjectReference contains enough information to let you locate the
159 referenced object inside the same namespace.
160 properties:
161 name:
162 default: ""
163 description: |-
164 Name of the referent.
165 This field is effectively required, but due to backwards compatibility is
166 allowed to be empty. Instances of this type with an empty value here are
167 almost certainly wrong.
168 TODO: Add other useful fields. apiVersion, kind, uid?
169 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
170 TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
171 type: string
172 type: object
173 x-kubernetes-map-type: atomic
174 type: array
175 importProxy:
176 description: ImportProxy contains importer pod proxy configuration.
177 properties:
178 HTTPProxy:
179 description: HTTPProxy is the URL http://<username>:<pswd>@<ip>:<port>
180 of the import proxy for HTTP requests. Empty means unset
181 and will not result in the import pod env var.
182 type: string
183 HTTPSProxy:
184 description: HTTPSProxy is the URL https://<username>:<pswd>@<ip>:<port>
185 of the import proxy for HTTPS requests. Empty means unset
186 and will not result in the import pod env var.
187 type: string
188 noProxy:
189 description: NoProxy is a comma-separated list of hostnames
190 and/or CIDRs for which the proxy should not be used. Empty
191 means unset and will not result in the import pod env var.
192 type: string
193 trustedCAProxy:
194 description: "TrustedCAProxy is the name of a ConfigMap in
195 the cdi namespace that contains a user-provided trusted
196 certificate authority (CA) bundle.\nThe TrustedCAProxy ConfigMap
197 is consumed by the DataImportCron controller for creating
198 cronjobs, and by the import controller referring a copy
199 of the ConfigMap in the import namespace.\nHere is an example
200 of the ConfigMap (in yaml):\n\n\napiVersion: v1\nkind: ConfigMap\nmetadata:\n
201 \ name: my-ca-proxy-cm\n namespace: cdi\ndata:\n ca.pem:
202 |\n -----BEGIN CERTIFICATE-----\n\t ... <base64 encoded
203 cert> ...\n\t -----END CERTIFICATE-----"
204 type: string
205 type: object
206 insecureRegistries:
207 description: InsecureRegistries is a list of TLS disabled registries
208 items:
209 type: string
210 type: array
211 logVerbosity:
212 description: LogVerbosity overrides the default verbosity level
213 used to initialize loggers
214 format: int32
215 type: integer
216 podResourceRequirements:
217 description: ResourceRequirements describes the compute resource
218 requirements.
219 properties:
220 claims:
221 description: |-
222 Claims lists the names of resources, defined in spec.resourceClaims,
223 that are used by this container.
224
225
226 This is an alpha field and requires enabling the
227 DynamicResourceAllocation feature gate.
228
229
230 This field is immutable. It can only be set for containers.
231 items:
232 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
233 properties:
234 name:
235 description: |-
236 Name must match the name of one entry in pod.spec.resourceClaims of
237 the Pod where this field is used. It makes that resource available
238 inside a container.
239 type: string
240 required:
241 - name
242 type: object
243 type: array
244 x-kubernetes-list-map-keys:
245 - name
246 x-kubernetes-list-type: map
247 limits:
248 additionalProperties:
249 anyOf:
250 - type: integer
251 - type: string
252 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
253 x-kubernetes-int-or-string: true
254 description: |-
255 Limits describes the maximum amount of compute resources allowed.
256 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
257 type: object
258 requests:
259 additionalProperties:
260 anyOf:
261 - type: integer
262 - type: string
263 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
264 x-kubernetes-int-or-string: true
265 description: |-
266 Requests describes the minimum amount of compute resources required.
267 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
268 otherwise to an implementation-defined value. Requests cannot exceed Limits.
269 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
270 type: object
271 type: object
272 preallocation:
273 description: Preallocation controls whether storage for DataVolumes
274 should be allocated in advance.
275 type: boolean
276 scratchSpaceStorageClass:
277 description: 'Override the storage class to used for scratch space
278 during transfer operations. The scratch space storage class
279 is determined in the following order: 1. value of scratchSpaceStorageClass,
280 if that doesn''t exist, use the default storage class, if there
281 is no default storage class, use the storage class of the DataVolume,
282 if no storage class specified, use no storage class for scratch
283 space'
284 type: string
285 tlsSecurityProfile:
286 description: TLSSecurityProfile is used by operators to apply
287 cluster-wide TLS security settings to operands.
288 properties:
289 custom:
290 description: |-
291 custom is a user-defined TLS security profile. Be extremely careful using a custom
292 profile as invalid configurations can be catastrophic. An example custom profile
293 looks like this:
294
295
296 ciphers:
297 - ECDHE-ECDSA-CHACHA20-POLY1305
298 - ECDHE-RSA-CHACHA20-POLY1305
299 - ECDHE-RSA-AES128-GCM-SHA256
300 - ECDHE-ECDSA-AES128-GCM-SHA256
301 minTLSVersion: VersionTLS11
302 nullable: true
303 properties:
304 ciphers:
305 description: |-
306 ciphers is used to specify the cipher algorithms that are negotiated
307 during the TLS handshake. Operators may remove entries their operands
308 do not support. For example, to use DES-CBC3-SHA (yaml):
309
310
311 ciphers:
312 - DES-CBC3-SHA
313 items:
314 type: string
315 type: array
316 minTLSVersion:
317 description: |-
318 minTLSVersion is used to specify the minimal version of the TLS protocol
319 that is negotiated during the TLS handshake. For example, to use TLS
320 versions 1.1, 1.2 and 1.3 (yaml):
321
322
323 minTLSVersion: VersionTLS11
324
325
326 NOTE: currently the highest minTLSVersion allowed is VersionTLS12
327 enum:
328 - VersionTLS10
329 - VersionTLS11
330 - VersionTLS12
331 - VersionTLS13
332 type: string
333 required:
334 - ciphers
335 - minTLSVersion
336 type: object
337 intermediate:
338 description: |-
339 intermediate is a TLS security profile based on:
340
341
342 https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29
343
344
345 and looks like this (yaml):
346
347
348 ciphers:
349 - TLS_AES_128_GCM_SHA256
350 - TLS_AES_256_GCM_SHA384
351 - TLS_CHACHA20_POLY1305_SHA256
352 - ECDHE-ECDSA-AES128-GCM-SHA256
353 - ECDHE-RSA-AES128-GCM-SHA256
354 - ECDHE-ECDSA-AES256-GCM-SHA384
355 - ECDHE-RSA-AES256-GCM-SHA384
356 - ECDHE-ECDSA-CHACHA20-POLY1305
357 - ECDHE-RSA-CHACHA20-POLY1305
358 - DHE-RSA-AES128-GCM-SHA256
359 - DHE-RSA-AES256-GCM-SHA384
360 minTLSVersion: VersionTLS12
361 nullable: true
362 type: object
363 modern:
364 description: |-
365 modern is a TLS security profile based on:
366
367
368 https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
369
370
371 and looks like this (yaml):
372
373
374 ciphers:
375 - TLS_AES_128_GCM_SHA256
376 - TLS_AES_256_GCM_SHA384
377 - TLS_CHACHA20_POLY1305_SHA256
378 minTLSVersion: VersionTLS13
379
380
381 NOTE: Currently unsupported.
382 nullable: true
383 type: object
384 old:
385 description: |-
386 old is a TLS security profile based on:
387
388
389 https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility
390
391
392 and looks like this (yaml):
393
394
395 ciphers:
396 - TLS_AES_128_GCM_SHA256
397 - TLS_AES_256_GCM_SHA384
398 - TLS_CHACHA20_POLY1305_SHA256
399 - ECDHE-ECDSA-AES128-GCM-SHA256
400 - ECDHE-RSA-AES128-GCM-SHA256
401 - ECDHE-ECDSA-AES256-GCM-SHA384
402 - ECDHE-RSA-AES256-GCM-SHA384
403 - ECDHE-ECDSA-CHACHA20-POLY1305
404 - ECDHE-RSA-CHACHA20-POLY1305
405 - DHE-RSA-AES128-GCM-SHA256
406 - DHE-RSA-AES256-GCM-SHA384
407 - DHE-RSA-CHACHA20-POLY1305
408 - ECDHE-ECDSA-AES128-SHA256
409 - ECDHE-RSA-AES128-SHA256
410 - ECDHE-ECDSA-AES128-SHA
411 - ECDHE-RSA-AES128-SHA
412 - ECDHE-ECDSA-AES256-SHA384
413 - ECDHE-RSA-AES256-SHA384
414 - ECDHE-ECDSA-AES256-SHA
415 - ECDHE-RSA-AES256-SHA
416 - DHE-RSA-AES128-SHA256
417 - DHE-RSA-AES256-SHA256
418 - AES128-GCM-SHA256
419 - AES256-GCM-SHA384
420 - AES128-SHA256
421 - AES256-SHA256
422 - AES128-SHA
423 - AES256-SHA
424 - DES-CBC3-SHA
425 minTLSVersion: VersionTLS10
426 nullable: true
427 type: object
428 type:
429 description: |-
430 type is one of Old, Intermediate, Modern or Custom. Custom provides
431 the ability to specify individual TLS security profile parameters.
432 Old, Intermediate and Modern are TLS security profiles based on:
433
434
435 https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations
436
437
438 The profiles are intent based, so they may change over time as new ciphers are developed and existing ciphers
439 are found to be insecure. Depending on precisely which ciphers are available to a process, the list may be
440 reduced.
441
442
443 Note that the Modern profile is currently not supported because it is not
444 yet well adopted by common software libraries.
445 enum:
446 - Old
447 - Intermediate
448 - Modern
449 - Custom
450 type: string
451 type: object
452 uploadProxyURLOverride:
453 description: Override the URL used when uploading to a DataVolume
454 type: string
455 type: object
456 customizeComponents:
457 description: CustomizeComponents defines patches for components deployed
458 by the CDI operator.
459 properties:
460 flags:
461 description: Configure the value used for deployment and daemonset
462 resources
463 properties:
464 api:
465 additionalProperties:
466 type: string
467 type: object
468 controller:
469 additionalProperties:
470 type: string
471 type: object
472 uploadProxy:
473 additionalProperties:
474 type: string
475 type: object
476 type: object
477 patches:
478 items:
479 description: CustomizeComponentsPatch defines a patch for some
480 resource.
481 properties:
482 patch:
483 type: string
484 resourceName:
485 minLength: 1
486 type: string
487 resourceType:
488 minLength: 1
489 type: string
490 type:
491 description: PatchType defines the patch type.
492 type: string
493 required:
494 - patch
495 - resourceName
496 - resourceType
497 - type
498 type: object
499 type: array
500 x-kubernetes-list-type: atomic
501 type: object
502 imagePullPolicy:
503 description: PullPolicy describes a policy for if/when to pull a container
504 image
505 enum:
506 - Always
507 - IfNotPresent
508 - Never
509 type: string
510 infra:
511 description: Selectors and tolerations that should apply to cdi infrastructure
512 components
513 properties:
514 affinity:
515 description: |-
516 affinity enables pod affinity/anti-affinity placement expanding the types of constraints
517 that can be expressed with nodeSelector.
518 affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
519 See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
520 properties:
521 nodeAffinity:
522 description: Describes node affinity scheduling rules for
523 the pod.
524 properties:
525 preferredDuringSchedulingIgnoredDuringExecution:
526 description: |-
527 The scheduler will prefer to schedule pods to nodes that satisfy
528 the affinity expressions specified by this field, but it may choose
529 a node that violates one or more of the expressions. The node that is
530 most preferred is the one with the greatest sum of weights, i.e.
531 for each node that meets all of the scheduling requirements (resource
532 request, requiredDuringScheduling affinity expressions, etc.),
533 compute a sum by iterating through the elements of this field and adding
534 "weight" to the sum if the node matches the corresponding matchExpressions; the
535 node(s) with the highest sum are the most preferred.
536 items:
537 description: |-
538 An empty preferred scheduling term matches all objects with implicit weight 0
539 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
540 properties:
541 preference:
542 description: A node selector term, associated with
543 the corresponding weight.
544 properties:
545 matchExpressions:
546 description: A list of node selector requirements
547 by node's labels.
548 items:
549 description: |-
550 A node selector requirement is a selector that contains values, a key, and an operator
551 that relates the key and values.
552 properties:
553 key:
554 description: The label key that the selector
555 applies to.
556 type: string
557 operator:
558 description: |-
559 Represents a key's relationship to a set of values.
560 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
561 type: string
562 values:
563 description: |-
564 An array of string values. If the operator is In or NotIn,
565 the values array must be non-empty. If the operator is Exists or DoesNotExist,
566 the values array must be empty. If the operator is Gt or Lt, the values
567 array must have a single element, which will be interpreted as an integer.
568 This array is replaced during a strategic merge patch.
569 items:
570 type: string
571 type: array
572 x-kubernetes-list-type: atomic
573 required:
574 - key
575 - operator
576 type: object
577 type: array
578 x-kubernetes-list-type: atomic
579 matchFields:
580 description: A list of node selector requirements
581 by node's fields.
582 items:
583 description: |-
584 A node selector requirement is a selector that contains values, a key, and an operator
585 that relates the key and values.
586 properties:
587 key:
588 description: The label key that the selector
589 applies to.
590 type: string
591 operator:
592 description: |-
593 Represents a key's relationship to a set of values.
594 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
595 type: string
596 values:
597 description: |-
598 An array of string values. If the operator is In or NotIn,
599 the values array must be non-empty. If the operator is Exists or DoesNotExist,
600 the values array must be empty. If the operator is Gt or Lt, the values
601 array must have a single element, which will be interpreted as an integer.
602 This array is replaced during a strategic merge patch.
603 items:
604 type: string
605 type: array
606 x-kubernetes-list-type: atomic
607 required:
608 - key
609 - operator
610 type: object
611 type: array
612 x-kubernetes-list-type: atomic
613 type: object
614 x-kubernetes-map-type: atomic
615 weight:
616 description: Weight associated with matching the
617 corresponding nodeSelectorTerm, in the range 1-100.
618 format: int32
619 type: integer
620 required:
621 - preference
622 - weight
623 type: object
624 type: array
625 x-kubernetes-list-type: atomic
626 requiredDuringSchedulingIgnoredDuringExecution:
627 description: |-
628 If the affinity requirements specified by this field are not met at
629 scheduling time, the pod will not be scheduled onto the node.
630 If the affinity requirements specified by this field cease to be met
631 at some point during pod execution (e.g. due to an update), the system
632 may or may not try to eventually evict the pod from its node.
633 properties:
634 nodeSelectorTerms:
635 description: Required. A list of node selector terms.
636 The terms are ORed.
637 items:
638 description: |-
639 A null or empty node selector term matches no objects. The requirements of
640 them are ANDed.
641 The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
642 properties:
643 matchExpressions:
644 description: A list of node selector requirements
645 by node's labels.
646 items:
647 description: |-
648 A node selector requirement is a selector that contains values, a key, and an operator
649 that relates the key and values.
650 properties:
651 key:
652 description: The label key that the selector
653 applies to.
654 type: string
655 operator:
656 description: |-
657 Represents a key's relationship to a set of values.
658 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
659 type: string
660 values:
661 description: |-
662 An array of string values. If the operator is In or NotIn,
663 the values array must be non-empty. If the operator is Exists or DoesNotExist,
664 the values array must be empty. If the operator is Gt or Lt, the values
665 array must have a single element, which will be interpreted as an integer.
666 This array is replaced during a strategic merge patch.
667 items:
668 type: string
669 type: array
670 x-kubernetes-list-type: atomic
671 required:
672 - key
673 - operator
674 type: object
675 type: array
676 x-kubernetes-list-type: atomic
677 matchFields:
678 description: A list of node selector requirements
679 by node's fields.
680 items:
681 description: |-
682 A node selector requirement is a selector that contains values, a key, and an operator
683 that relates the key and values.
684 properties:
685 key:
686 description: The label key that the selector
687 applies to.
688 type: string
689 operator:
690 description: |-
691 Represents a key's relationship to a set of values.
692 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
693 type: string
694 values:
695 description: |-
696 An array of string values. If the operator is In or NotIn,
697 the values array must be non-empty. If the operator is Exists or DoesNotExist,
698 the values array must be empty. If the operator is Gt or Lt, the values
699 array must have a single element, which will be interpreted as an integer.
700 This array is replaced during a strategic merge patch.
701 items:
702 type: string
703 type: array
704 x-kubernetes-list-type: atomic
705 required:
706 - key
707 - operator
708 type: object
709 type: array
710 x-kubernetes-list-type: atomic
711 type: object
712 x-kubernetes-map-type: atomic
713 type: array
714 x-kubernetes-list-type: atomic
715 required:
716 - nodeSelectorTerms
717 type: object
718 x-kubernetes-map-type: atomic
719 type: object
720 podAffinity:
721 description: Describes pod affinity scheduling rules (e.g.
722 co-locate this pod in the same node, zone, etc. as some
723 other pod(s)).
724 properties:
725 preferredDuringSchedulingIgnoredDuringExecution:
726 description: |-
727 The scheduler will prefer to schedule pods to nodes that satisfy
728 the affinity expressions specified by this field, but it may choose
729 a node that violates one or more of the expressions. The node that is
730 most preferred is the one with the greatest sum of weights, i.e.
731 for each node that meets all of the scheduling requirements (resource
732 request, requiredDuringScheduling affinity expressions, etc.),
733 compute a sum by iterating through the elements of this field and adding
734 "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
735 node(s) with the highest sum are the most preferred.
736 items:
737 description: The weights of all of the matched WeightedPodAffinityTerm
738 fields are added per-node to find the most preferred
739 node(s)
740 properties:
741 podAffinityTerm:
742 description: Required. A pod affinity term, associated
743 with the corresponding weight.
744 properties:
745 labelSelector:
746 description: |-
747 A label query over a set of resources, in this case pods.
748 If it's null, this PodAffinityTerm matches with no Pods.
749 properties:
750 matchExpressions:
751 description: matchExpressions is a list
752 of label selector requirements. The requirements
753 are ANDed.
754 items:
755 description: |-
756 A label selector requirement is a selector that contains values, a key, and an operator that
757 relates the key and values.
758 properties:
759 key:
760 description: key is the label key
761 that the selector applies to.
762 type: string
763 operator:
764 description: |-
765 operator represents a key's relationship to a set of values.
766 Valid operators are In, NotIn, Exists and DoesNotExist.
767 type: string
768 values:
769 description: |-
770 values is an array of string values. If the operator is In or NotIn,
771 the values array must be non-empty. If the operator is Exists or DoesNotExist,
772 the values array must be empty. This array is replaced during a strategic
773 merge patch.
774 items:
775 type: string
776 type: array
777 x-kubernetes-list-type: atomic
778 required:
779 - key
780 - operator
781 type: object
782 type: array
783 x-kubernetes-list-type: atomic
784 matchLabels:
785 additionalProperties:
786 type: string
787 description: |-
788 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
789 map is equivalent to an element of matchExpressions, whose key field is "key", the
790 operator is "In", and the values array contains only "value". The requirements are ANDed.
791 type: object
792 type: object
793 x-kubernetes-map-type: atomic
794 matchLabelKeys:
795 description: |-
796 MatchLabelKeys is a set of pod label keys to select which pods will
797 be taken into consideration. The keys are used to lookup values from the
798 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
799 to select the group of existing pods which pods will be taken into consideration
800 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
801 pod labels will be ignored. The default value is empty.
802 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
803 Also, matchLabelKeys cannot be set when labelSelector isn't set.
804 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
805 items:
806 type: string
807 type: array
808 x-kubernetes-list-type: atomic
809 mismatchLabelKeys:
810 description: |-
811 MismatchLabelKeys is a set of pod label keys to select which pods will
812 be taken into consideration. The keys are used to lookup values from the
813 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
814 to select the group of existing pods which pods will be taken into consideration
815 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
816 pod labels will be ignored. The default value is empty.
817 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
818 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
819 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
820 items:
821 type: string
822 type: array
823 x-kubernetes-list-type: atomic
824 namespaceSelector:
825 description: |-
826 A label query over the set of namespaces that the term applies to.
827 The term is applied to the union of the namespaces selected by this field
828 and the ones listed in the namespaces field.
829 null selector and null or empty namespaces list means "this pod's namespace".
830 An empty selector ({}) matches all namespaces.
831 properties:
832 matchExpressions:
833 description: matchExpressions is a list
834 of label selector requirements. The requirements
835 are ANDed.
836 items:
837 description: |-
838 A label selector requirement is a selector that contains values, a key, and an operator that
839 relates the key and values.
840 properties:
841 key:
842 description: key is the label key
843 that the selector applies to.
844 type: string
845 operator:
846 description: |-
847 operator represents a key's relationship to a set of values.
848 Valid operators are In, NotIn, Exists and DoesNotExist.
849 type: string
850 values:
851 description: |-
852 values is an array of string values. If the operator is In or NotIn,
853 the values array must be non-empty. If the operator is Exists or DoesNotExist,
854 the values array must be empty. This array is replaced during a strategic
855 merge patch.
856 items:
857 type: string
858 type: array
859 x-kubernetes-list-type: atomic
860 required:
861 - key
862 - operator
863 type: object
864 type: array
865 x-kubernetes-list-type: atomic
866 matchLabels:
867 additionalProperties:
868 type: string
869 description: |-
870 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
871 map is equivalent to an element of matchExpressions, whose key field is "key", the
872 operator is "In", and the values array contains only "value". The requirements are ANDed.
873 type: object
874 type: object
875 x-kubernetes-map-type: atomic
876 namespaces:
877 description: |-
878 namespaces specifies a static list of namespace names that the term applies to.
879 The term is applied to the union of the namespaces listed in this field
880 and the ones selected by namespaceSelector.
881 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
882 items:
883 type: string
884 type: array
885 x-kubernetes-list-type: atomic
886 topologyKey:
887 description: |-
888 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
889 the labelSelector in the specified namespaces, where co-located is defined as running on a node
890 whose value of the label with key topologyKey matches that of any node on which any of the
891 selected pods is running.
892 Empty topologyKey is not allowed.
893 type: string
894 required:
895 - topologyKey
896 type: object
897 weight:
898 description: |-
899 weight associated with matching the corresponding podAffinityTerm,
900 in the range 1-100.
901 format: int32
902 type: integer
903 required:
904 - podAffinityTerm
905 - weight
906 type: object
907 type: array
908 x-kubernetes-list-type: atomic
909 requiredDuringSchedulingIgnoredDuringExecution:
910 description: |-
911 If the affinity requirements specified by this field are not met at
912 scheduling time, the pod will not be scheduled onto the node.
913 If the affinity requirements specified by this field cease to be met
914 at some point during pod execution (e.g. due to a pod label update), the
915 system may or may not try to eventually evict the pod from its node.
916 When there are multiple elements, the lists of nodes corresponding to each
917 podAffinityTerm are intersected, i.e. all terms must be satisfied.
918 items:
919 description: |-
920 Defines a set of pods (namely those matching the labelSelector
921 relative to the given namespace(s)) that this pod should be
922 co-located (affinity) or not co-located (anti-affinity) with,
923 where co-located is defined as running on a node whose value of
924 the label with key <topologyKey> matches that of any node on which
925 a pod of the set of pods is running
926 properties:
927 labelSelector:
928 description: |-
929 A label query over a set of resources, in this case pods.
930 If it's null, this PodAffinityTerm matches with no Pods.
931 properties:
932 matchExpressions:
933 description: matchExpressions is a list of label
934 selector requirements. The requirements are
935 ANDed.
936 items:
937 description: |-
938 A label selector requirement is a selector that contains values, a key, and an operator that
939 relates the key and values.
940 properties:
941 key:
942 description: key is the label key that
943 the selector applies to.
944 type: string
945 operator:
946 description: |-
947 operator represents a key's relationship to a set of values.
948 Valid operators are In, NotIn, Exists and DoesNotExist.
949 type: string
950 values:
951 description: |-
952 values is an array of string values. If the operator is In or NotIn,
953 the values array must be non-empty. If the operator is Exists or DoesNotExist,
954 the values array must be empty. This array is replaced during a strategic
955 merge patch.
956 items:
957 type: string
958 type: array
959 x-kubernetes-list-type: atomic
960 required:
961 - key
962 - operator
963 type: object
964 type: array
965 x-kubernetes-list-type: atomic
966 matchLabels:
967 additionalProperties:
968 type: string
969 description: |-
970 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
971 map is equivalent to an element of matchExpressions, whose key field is "key", the
972 operator is "In", and the values array contains only "value". The requirements are ANDed.
973 type: object
974 type: object
975 x-kubernetes-map-type: atomic
976 matchLabelKeys:
977 description: |-
978 MatchLabelKeys is a set of pod label keys to select which pods will
979 be taken into consideration. The keys are used to lookup values from the
980 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
981 to select the group of existing pods which pods will be taken into consideration
982 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
983 pod labels will be ignored. The default value is empty.
984 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
985 Also, matchLabelKeys cannot be set when labelSelector isn't set.
986 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
987 items:
988 type: string
989 type: array
990 x-kubernetes-list-type: atomic
991 mismatchLabelKeys:
992 description: |-
993 MismatchLabelKeys is a set of pod label keys to select which pods will
994 be taken into consideration. The keys are used to lookup values from the
995 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
996 to select the group of existing pods which pods will be taken into consideration
997 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
998 pod labels will be ignored. The default value is empty.
999 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
1000 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
1001 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
1002 items:
1003 type: string
1004 type: array
1005 x-kubernetes-list-type: atomic
1006 namespaceSelector:
1007 description: |-
1008 A label query over the set of namespaces that the term applies to.
1009 The term is applied to the union of the namespaces selected by this field
1010 and the ones listed in the namespaces field.
1011 null selector and null or empty namespaces list means "this pod's namespace".
1012 An empty selector ({}) matches all namespaces.
1013 properties:
1014 matchExpressions:
1015 description: matchExpressions is a list of label
1016 selector requirements. The requirements are
1017 ANDed.
1018 items:
1019 description: |-
1020 A label selector requirement is a selector that contains values, a key, and an operator that
1021 relates the key and values.
1022 properties:
1023 key:
1024 description: key is the label key that
1025 the selector applies to.
1026 type: string
1027 operator:
1028 description: |-
1029 operator represents a key's relationship to a set of values.
1030 Valid operators are In, NotIn, Exists and DoesNotExist.
1031 type: string
1032 values:
1033 description: |-
1034 values is an array of string values. If the operator is In or NotIn,
1035 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1036 the values array must be empty. This array is replaced during a strategic
1037 merge patch.
1038 items:
1039 type: string
1040 type: array
1041 x-kubernetes-list-type: atomic
1042 required:
1043 - key
1044 - operator
1045 type: object
1046 type: array
1047 x-kubernetes-list-type: atomic
1048 matchLabels:
1049 additionalProperties:
1050 type: string
1051 description: |-
1052 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1053 map is equivalent to an element of matchExpressions, whose key field is "key", the
1054 operator is "In", and the values array contains only "value". The requirements are ANDed.
1055 type: object
1056 type: object
1057 x-kubernetes-map-type: atomic
1058 namespaces:
1059 description: |-
1060 namespaces specifies a static list of namespace names that the term applies to.
1061 The term is applied to the union of the namespaces listed in this field
1062 and the ones selected by namespaceSelector.
1063 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
1064 items:
1065 type: string
1066 type: array
1067 x-kubernetes-list-type: atomic
1068 topologyKey:
1069 description: |-
1070 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
1071 the labelSelector in the specified namespaces, where co-located is defined as running on a node
1072 whose value of the label with key topologyKey matches that of any node on which any of the
1073 selected pods is running.
1074 Empty topologyKey is not allowed.
1075 type: string
1076 required:
1077 - topologyKey
1078 type: object
1079 type: array
1080 x-kubernetes-list-type: atomic
1081 type: object
1082 podAntiAffinity:
1083 description: Describes pod anti-affinity scheduling rules
1084 (e.g. avoid putting this pod in the same node, zone, etc.
1085 as some other pod(s)).
1086 properties:
1087 preferredDuringSchedulingIgnoredDuringExecution:
1088 description: |-
1089 The scheduler will prefer to schedule pods to nodes that satisfy
1090 the anti-affinity expressions specified by this field, but it may choose
1091 a node that violates one or more of the expressions. The node that is
1092 most preferred is the one with the greatest sum of weights, i.e.
1093 for each node that meets all of the scheduling requirements (resource
1094 request, requiredDuringScheduling anti-affinity expressions, etc.),
1095 compute a sum by iterating through the elements of this field and adding
1096 "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
1097 node(s) with the highest sum are the most preferred.
1098 items:
1099 description: The weights of all of the matched WeightedPodAffinityTerm
1100 fields are added per-node to find the most preferred
1101 node(s)
1102 properties:
1103 podAffinityTerm:
1104 description: Required. A pod affinity term, associated
1105 with the corresponding weight.
1106 properties:
1107 labelSelector:
1108 description: |-
1109 A label query over a set of resources, in this case pods.
1110 If it's null, this PodAffinityTerm matches with no Pods.
1111 properties:
1112 matchExpressions:
1113 description: matchExpressions is a list
1114 of label selector requirements. The requirements
1115 are ANDed.
1116 items:
1117 description: |-
1118 A label selector requirement is a selector that contains values, a key, and an operator that
1119 relates the key and values.
1120 properties:
1121 key:
1122 description: key is the label key
1123 that the selector applies to.
1124 type: string
1125 operator:
1126 description: |-
1127 operator represents a key's relationship to a set of values.
1128 Valid operators are In, NotIn, Exists and DoesNotExist.
1129 type: string
1130 values:
1131 description: |-
1132 values is an array of string values. If the operator is In or NotIn,
1133 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1134 the values array must be empty. This array is replaced during a strategic
1135 merge patch.
1136 items:
1137 type: string
1138 type: array
1139 x-kubernetes-list-type: atomic
1140 required:
1141 - key
1142 - operator
1143 type: object
1144 type: array
1145 x-kubernetes-list-type: atomic
1146 matchLabels:
1147 additionalProperties:
1148 type: string
1149 description: |-
1150 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1151 map is equivalent to an element of matchExpressions, whose key field is "key", the
1152 operator is "In", and the values array contains only "value". The requirements are ANDed.
1153 type: object
1154 type: object
1155 x-kubernetes-map-type: atomic
1156 matchLabelKeys:
1157 description: |-
1158 MatchLabelKeys is a set of pod label keys to select which pods will
1159 be taken into consideration. The keys are used to lookup values from the
1160 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
1161 to select the group of existing pods which pods will be taken into consideration
1162 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
1163 pod labels will be ignored. The default value is empty.
1164 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
1165 Also, matchLabelKeys cannot be set when labelSelector isn't set.
1166 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
1167 items:
1168 type: string
1169 type: array
1170 x-kubernetes-list-type: atomic
1171 mismatchLabelKeys:
1172 description: |-
1173 MismatchLabelKeys is a set of pod label keys to select which pods will
1174 be taken into consideration. The keys are used to lookup values from the
1175 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
1176 to select the group of existing pods which pods will be taken into consideration
1177 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
1178 pod labels will be ignored. The default value is empty.
1179 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
1180 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
1181 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
1182 items:
1183 type: string
1184 type: array
1185 x-kubernetes-list-type: atomic
1186 namespaceSelector:
1187 description: |-
1188 A label query over the set of namespaces that the term applies to.
1189 The term is applied to the union of the namespaces selected by this field
1190 and the ones listed in the namespaces field.
1191 null selector and null or empty namespaces list means "this pod's namespace".
1192 An empty selector ({}) matches all namespaces.
1193 properties:
1194 matchExpressions:
1195 description: matchExpressions is a list
1196 of label selector requirements. The requirements
1197 are ANDed.
1198 items:
1199 description: |-
1200 A label selector requirement is a selector that contains values, a key, and an operator that
1201 relates the key and values.
1202 properties:
1203 key:
1204 description: key is the label key
1205 that the selector applies to.
1206 type: string
1207 operator:
1208 description: |-
1209 operator represents a key's relationship to a set of values.
1210 Valid operators are In, NotIn, Exists and DoesNotExist.
1211 type: string
1212 values:
1213 description: |-
1214 values is an array of string values. If the operator is In or NotIn,
1215 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1216 the values array must be empty. This array is replaced during a strategic
1217 merge patch.
1218 items:
1219 type: string
1220 type: array
1221 x-kubernetes-list-type: atomic
1222 required:
1223 - key
1224 - operator
1225 type: object
1226 type: array
1227 x-kubernetes-list-type: atomic
1228 matchLabels:
1229 additionalProperties:
1230 type: string
1231 description: |-
1232 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1233 map is equivalent to an element of matchExpressions, whose key field is "key", the
1234 operator is "In", and the values array contains only "value". The requirements are ANDed.
1235 type: object
1236 type: object
1237 x-kubernetes-map-type: atomic
1238 namespaces:
1239 description: |-
1240 namespaces specifies a static list of namespace names that the term applies to.
1241 The term is applied to the union of the namespaces listed in this field
1242 and the ones selected by namespaceSelector.
1243 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
1244 items:
1245 type: string
1246 type: array
1247 x-kubernetes-list-type: atomic
1248 topologyKey:
1249 description: |-
1250 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
1251 the labelSelector in the specified namespaces, where co-located is defined as running on a node
1252 whose value of the label with key topologyKey matches that of any node on which any of the
1253 selected pods is running.
1254 Empty topologyKey is not allowed.
1255 type: string
1256 required:
1257 - topologyKey
1258 type: object
1259 weight:
1260 description: |-
1261 weight associated with matching the corresponding podAffinityTerm,
1262 in the range 1-100.
1263 format: int32
1264 type: integer
1265 required:
1266 - podAffinityTerm
1267 - weight
1268 type: object
1269 type: array
1270 x-kubernetes-list-type: atomic
1271 requiredDuringSchedulingIgnoredDuringExecution:
1272 description: |-
1273 If the anti-affinity requirements specified by this field are not met at
1274 scheduling time, the pod will not be scheduled onto the node.
1275 If the anti-affinity requirements specified by this field cease to be met
1276 at some point during pod execution (e.g. due to a pod label update), the
1277 system may or may not try to eventually evict the pod from its node.
1278 When there are multiple elements, the lists of nodes corresponding to each
1279 podAffinityTerm are intersected, i.e. all terms must be satisfied.
1280 items:
1281 description: |-
1282 Defines a set of pods (namely those matching the labelSelector
1283 relative to the given namespace(s)) that this pod should be
1284 co-located (affinity) or not co-located (anti-affinity) with,
1285 where co-located is defined as running on a node whose value of
1286 the label with key <topologyKey> matches that of any node on which
1287 a pod of the set of pods is running
1288 properties:
1289 labelSelector:
1290 description: |-
1291 A label query over a set of resources, in this case pods.
1292 If it's null, this PodAffinityTerm matches with no Pods.
1293 properties:
1294 matchExpressions:
1295 description: matchExpressions is a list of label
1296 selector requirements. The requirements are
1297 ANDed.
1298 items:
1299 description: |-
1300 A label selector requirement is a selector that contains values, a key, and an operator that
1301 relates the key and values.
1302 properties:
1303 key:
1304 description: key is the label key that
1305 the selector applies to.
1306 type: string
1307 operator:
1308 description: |-
1309 operator represents a key's relationship to a set of values.
1310 Valid operators are In, NotIn, Exists and DoesNotExist.
1311 type: string
1312 values:
1313 description: |-
1314 values is an array of string values. If the operator is In or NotIn,
1315 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1316 the values array must be empty. This array is replaced during a strategic
1317 merge patch.
1318 items:
1319 type: string
1320 type: array
1321 x-kubernetes-list-type: atomic
1322 required:
1323 - key
1324 - operator
1325 type: object
1326 type: array
1327 x-kubernetes-list-type: atomic
1328 matchLabels:
1329 additionalProperties:
1330 type: string
1331 description: |-
1332 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1333 map is equivalent to an element of matchExpressions, whose key field is "key", the
1334 operator is "In", and the values array contains only "value". The requirements are ANDed.
1335 type: object
1336 type: object
1337 x-kubernetes-map-type: atomic
1338 matchLabelKeys:
1339 description: |-
1340 MatchLabelKeys is a set of pod label keys to select which pods will
1341 be taken into consideration. The keys are used to lookup values from the
1342 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
1343 to select the group of existing pods which pods will be taken into consideration
1344 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
1345 pod labels will be ignored. The default value is empty.
1346 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
1347 Also, matchLabelKeys cannot be set when labelSelector isn't set.
1348 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
1349 items:
1350 type: string
1351 type: array
1352 x-kubernetes-list-type: atomic
1353 mismatchLabelKeys:
1354 description: |-
1355 MismatchLabelKeys is a set of pod label keys to select which pods will
1356 be taken into consideration. The keys are used to lookup values from the
1357 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
1358 to select the group of existing pods which pods will be taken into consideration
1359 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
1360 pod labels will be ignored. The default value is empty.
1361 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
1362 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
1363 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
1364 items:
1365 type: string
1366 type: array
1367 x-kubernetes-list-type: atomic
1368 namespaceSelector:
1369 description: |-
1370 A label query over the set of namespaces that the term applies to.
1371 The term is applied to the union of the namespaces selected by this field
1372 and the ones listed in the namespaces field.
1373 null selector and null or empty namespaces list means "this pod's namespace".
1374 An empty selector ({}) matches all namespaces.
1375 properties:
1376 matchExpressions:
1377 description: matchExpressions is a list of label
1378 selector requirements. The requirements are
1379 ANDed.
1380 items:
1381 description: |-
1382 A label selector requirement is a selector that contains values, a key, and an operator that
1383 relates the key and values.
1384 properties:
1385 key:
1386 description: key is the label key that
1387 the selector applies to.
1388 type: string
1389 operator:
1390 description: |-
1391 operator represents a key's relationship to a set of values.
1392 Valid operators are In, NotIn, Exists and DoesNotExist.
1393 type: string
1394 values:
1395 description: |-
1396 values is an array of string values. If the operator is In or NotIn,
1397 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1398 the values array must be empty. This array is replaced during a strategic
1399 merge patch.
1400 items:
1401 type: string
1402 type: array
1403 x-kubernetes-list-type: atomic
1404 required:
1405 - key
1406 - operator
1407 type: object
1408 type: array
1409 x-kubernetes-list-type: atomic
1410 matchLabels:
1411 additionalProperties:
1412 type: string
1413 description: |-
1414 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1415 map is equivalent to an element of matchExpressions, whose key field is "key", the
1416 operator is "In", and the values array contains only "value". The requirements are ANDed.
1417 type: object
1418 type: object
1419 x-kubernetes-map-type: atomic
1420 namespaces:
1421 description: |-
1422 namespaces specifies a static list of namespace names that the term applies to.
1423 The term is applied to the union of the namespaces listed in this field
1424 and the ones selected by namespaceSelector.
1425 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
1426 items:
1427 type: string
1428 type: array
1429 x-kubernetes-list-type: atomic
1430 topologyKey:
1431 description: |-
1432 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
1433 the labelSelector in the specified namespaces, where co-located is defined as running on a node
1434 whose value of the label with key topologyKey matches that of any node on which any of the
1435 selected pods is running.
1436 Empty topologyKey is not allowed.
1437 type: string
1438 required:
1439 - topologyKey
1440 type: object
1441 type: array
1442 x-kubernetes-list-type: atomic
1443 type: object
1444 type: object
1445 apiServerReplicas:
1446 description: ApiserverReplicas set Replicas for cdi-apiserver
1447 format: int32
1448 type: integer
1449 deploymentReplicas:
1450 description: DeploymentReplicas set Replicas for cdi-deployment
1451 format: int32
1452 type: integer
1453 nodeSelector:
1454 additionalProperties:
1455 type: string
1456 description: |-
1457 nodeSelector is the node selector applied to the relevant kind of pods
1458 It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
1459 the node must have each of the indicated key-value pairs as labels
1460 (it can have additional labels as well).
1461 See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
1462 type: object
1463 tolerations:
1464 description: |-
1465 tolerations is a list of tolerations applied to the relevant kind of pods
1466 See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
1467 These are additional tolerations other than default ones.
1468 items:
1469 description: |-
1470 The pod this Toleration is attached to tolerates any taint that matches
1471 the triple <key,value,effect> using the matching operator <operator>.
1472 properties:
1473 effect:
1474 description: |-
1475 Effect indicates the taint effect to match. Empty means match all taint effects.
1476 When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
1477 type: string
1478 key:
1479 description: |-
1480 Key is the taint key that the toleration applies to. Empty means match all taint keys.
1481 If the key is empty, operator must be Exists; this combination means to match all values and all keys.
1482 type: string
1483 operator:
1484 description: |-
1485 Operator represents a key's relationship to the value.
1486 Valid operators are Exists and Equal. Defaults to Equal.
1487 Exists is equivalent to wildcard for value, so that a pod can
1488 tolerate all taints of a particular category.
1489 type: string
1490 tolerationSeconds:
1491 description: |-
1492 TolerationSeconds represents the period of time the toleration (which must be
1493 of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
1494 it is not set, which means tolerate the taint forever (do not evict). Zero and
1495 negative values will be treated as 0 (evict immediately) by the system.
1496 format: int64
1497 type: integer
1498 value:
1499 description: |-
1500 Value is the taint value the toleration matches to.
1501 If the operator is Exists, the value should be empty, otherwise just a regular string.
1502 type: string
1503 type: object
1504 type: array
1505 uploadProxyReplicas:
1506 description: UploadproxyReplicas set Replicas for cdi-uploadproxy
1507 format: int32
1508 type: integer
1509 type: object
1510 priorityClass:
1511 description: PriorityClass of the CDI control plane
1512 type: string
1513 uninstallStrategy:
1514 description: CDIUninstallStrategy defines the state to leave CDI on
1515 uninstall
1516 enum:
1517 - RemoveWorkloads
1518 - BlockUninstallIfWorkloadsExist
1519 type: string
1520 workload:
1521 description: Restrict on which nodes CDI workload pods will be scheduled
1522 properties:
1523 affinity:
1524 description: |-
1525 affinity enables pod affinity/anti-affinity placement expanding the types of constraints
1526 that can be expressed with nodeSelector.
1527 affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
1528 See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
1529 properties:
1530 nodeAffinity:
1531 description: Describes node affinity scheduling rules for
1532 the pod.
1533 properties:
1534 preferredDuringSchedulingIgnoredDuringExecution:
1535 description: |-
1536 The scheduler will prefer to schedule pods to nodes that satisfy
1537 the affinity expressions specified by this field, but it may choose
1538 a node that violates one or more of the expressions. The node that is
1539 most preferred is the one with the greatest sum of weights, i.e.
1540 for each node that meets all of the scheduling requirements (resource
1541 request, requiredDuringScheduling affinity expressions, etc.),
1542 compute a sum by iterating through the elements of this field and adding
1543 "weight" to the sum if the node matches the corresponding matchExpressions; the
1544 node(s) with the highest sum are the most preferred.
1545 items:
1546 description: |-
1547 An empty preferred scheduling term matches all objects with implicit weight 0
1548 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
1549 properties:
1550 preference:
1551 description: A node selector term, associated with
1552 the corresponding weight.
1553 properties:
1554 matchExpressions:
1555 description: A list of node selector requirements
1556 by node's labels.
1557 items:
1558 description: |-
1559 A node selector requirement is a selector that contains values, a key, and an operator
1560 that relates the key and values.
1561 properties:
1562 key:
1563 description: The label key that the selector
1564 applies to.
1565 type: string
1566 operator:
1567 description: |-
1568 Represents a key's relationship to a set of values.
1569 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1570 type: string
1571 values:
1572 description: |-
1573 An array of string values. If the operator is In or NotIn,
1574 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1575 the values array must be empty. If the operator is Gt or Lt, the values
1576 array must have a single element, which will be interpreted as an integer.
1577 This array is replaced during a strategic merge patch.
1578 items:
1579 type: string
1580 type: array
1581 x-kubernetes-list-type: atomic
1582 required:
1583 - key
1584 - operator
1585 type: object
1586 type: array
1587 x-kubernetes-list-type: atomic
1588 matchFields:
1589 description: A list of node selector requirements
1590 by node's fields.
1591 items:
1592 description: |-
1593 A node selector requirement is a selector that contains values, a key, and an operator
1594 that relates the key and values.
1595 properties:
1596 key:
1597 description: The label key that the selector
1598 applies to.
1599 type: string
1600 operator:
1601 description: |-
1602 Represents a key's relationship to a set of values.
1603 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1604 type: string
1605 values:
1606 description: |-
1607 An array of string values. If the operator is In or NotIn,
1608 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1609 the values array must be empty. If the operator is Gt or Lt, the values
1610 array must have a single element, which will be interpreted as an integer.
1611 This array is replaced during a strategic merge patch.
1612 items:
1613 type: string
1614 type: array
1615 x-kubernetes-list-type: atomic
1616 required:
1617 - key
1618 - operator
1619 type: object
1620 type: array
1621 x-kubernetes-list-type: atomic
1622 type: object
1623 x-kubernetes-map-type: atomic
1624 weight:
1625 description: Weight associated with matching the
1626 corresponding nodeSelectorTerm, in the range 1-100.
1627 format: int32
1628 type: integer
1629 required:
1630 - preference
1631 - weight
1632 type: object
1633 type: array
1634 x-kubernetes-list-type: atomic
1635 requiredDuringSchedulingIgnoredDuringExecution:
1636 description: |-
1637 If the affinity requirements specified by this field are not met at
1638 scheduling time, the pod will not be scheduled onto the node.
1639 If the affinity requirements specified by this field cease to be met
1640 at some point during pod execution (e.g. due to an update), the system
1641 may or may not try to eventually evict the pod from its node.
1642 properties:
1643 nodeSelectorTerms:
1644 description: Required. A list of node selector terms.
1645 The terms are ORed.
1646 items:
1647 description: |-
1648 A null or empty node selector term matches no objects. The requirements of
1649 them are ANDed.
1650 The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
1651 properties:
1652 matchExpressions:
1653 description: A list of node selector requirements
1654 by node's labels.
1655 items:
1656 description: |-
1657 A node selector requirement is a selector that contains values, a key, and an operator
1658 that relates the key and values.
1659 properties:
1660 key:
1661 description: The label key that the selector
1662 applies to.
1663 type: string
1664 operator:
1665 description: |-
1666 Represents a key's relationship to a set of values.
1667 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1668 type: string
1669 values:
1670 description: |-
1671 An array of string values. If the operator is In or NotIn,
1672 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1673 the values array must be empty. If the operator is Gt or Lt, the values
1674 array must have a single element, which will be interpreted as an integer.
1675 This array is replaced during a strategic merge patch.
1676 items:
1677 type: string
1678 type: array
1679 x-kubernetes-list-type: atomic
1680 required:
1681 - key
1682 - operator
1683 type: object
1684 type: array
1685 x-kubernetes-list-type: atomic
1686 matchFields:
1687 description: A list of node selector requirements
1688 by node's fields.
1689 items:
1690 description: |-
1691 A node selector requirement is a selector that contains values, a key, and an operator
1692 that relates the key and values.
1693 properties:
1694 key:
1695 description: The label key that the selector
1696 applies to.
1697 type: string
1698 operator:
1699 description: |-
1700 Represents a key's relationship to a set of values.
1701 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1702 type: string
1703 values:
1704 description: |-
1705 An array of string values. If the operator is In or NotIn,
1706 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1707 the values array must be empty. If the operator is Gt or Lt, the values
1708 array must have a single element, which will be interpreted as an integer.
1709 This array is replaced during a strategic merge patch.
1710 items:
1711 type: string
1712 type: array
1713 x-kubernetes-list-type: atomic
1714 required:
1715 - key
1716 - operator
1717 type: object
1718 type: array
1719 x-kubernetes-list-type: atomic
1720 type: object
1721 x-kubernetes-map-type: atomic
1722 type: array
1723 x-kubernetes-list-type: atomic
1724 required:
1725 - nodeSelectorTerms
1726 type: object
1727 x-kubernetes-map-type: atomic
1728 type: object
1729 podAffinity:
1730 description: Describes pod affinity scheduling rules (e.g.
1731 co-locate this pod in the same node, zone, etc. as some
1732 other pod(s)).
1733 properties:
1734 preferredDuringSchedulingIgnoredDuringExecution:
1735 description: |-
1736 The scheduler will prefer to schedule pods to nodes that satisfy
1737 the affinity expressions specified by this field, but it may choose
1738 a node that violates one or more of the expressions. The node that is
1739 most preferred is the one with the greatest sum of weights, i.e.
1740 for each node that meets all of the scheduling requirements (resource
1741 request, requiredDuringScheduling affinity expressions, etc.),
1742 compute a sum by iterating through the elements of this field and adding
1743 "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
1744 node(s) with the highest sum are the most preferred.
1745 items:
1746 description: The weights of all of the matched WeightedPodAffinityTerm
1747 fields are added per-node to find the most preferred
1748 node(s)
1749 properties:
1750 podAffinityTerm:
1751 description: Required. A pod affinity term, associated
1752 with the corresponding weight.
1753 properties:
1754 labelSelector:
1755 description: |-
1756 A label query over a set of resources, in this case pods.
1757 If it's null, this PodAffinityTerm matches with no Pods.
1758 properties:
1759 matchExpressions:
1760 description: matchExpressions is a list
1761 of label selector requirements. The requirements
1762 are ANDed.
1763 items:
1764 description: |-
1765 A label selector requirement is a selector that contains values, a key, and an operator that
1766 relates the key and values.
1767 properties:
1768 key:
1769 description: key is the label key
1770 that the selector applies to.
1771 type: string
1772 operator:
1773 description: |-
1774 operator represents a key's relationship to a set of values.
1775 Valid operators are In, NotIn, Exists and DoesNotExist.
1776 type: string
1777 values:
1778 description: |-
1779 values is an array of string values. If the operator is In or NotIn,
1780 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1781 the values array must be empty. This array is replaced during a strategic
1782 merge patch.
1783 items:
1784 type: string
1785 type: array
1786 x-kubernetes-list-type: atomic
1787 required:
1788 - key
1789 - operator
1790 type: object
1791 type: array
1792 x-kubernetes-list-type: atomic
1793 matchLabels:
1794 additionalProperties:
1795 type: string
1796 description: |-
1797 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1798 map is equivalent to an element of matchExpressions, whose key field is "key", the
1799 operator is "In", and the values array contains only "value". The requirements are ANDed.
1800 type: object
1801 type: object
1802 x-kubernetes-map-type: atomic
1803 matchLabelKeys:
1804 description: |-
1805 MatchLabelKeys is a set of pod label keys to select which pods will
1806 be taken into consideration. The keys are used to lookup values from the
1807 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
1808 to select the group of existing pods which pods will be taken into consideration
1809 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
1810 pod labels will be ignored. The default value is empty.
1811 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
1812 Also, matchLabelKeys cannot be set when labelSelector isn't set.
1813 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
1814 items:
1815 type: string
1816 type: array
1817 x-kubernetes-list-type: atomic
1818 mismatchLabelKeys:
1819 description: |-
1820 MismatchLabelKeys is a set of pod label keys to select which pods will
1821 be taken into consideration. The keys are used to lookup values from the
1822 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
1823 to select the group of existing pods which pods will be taken into consideration
1824 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
1825 pod labels will be ignored. The default value is empty.
1826 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
1827 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
1828 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
1829 items:
1830 type: string
1831 type: array
1832 x-kubernetes-list-type: atomic
1833 namespaceSelector:
1834 description: |-
1835 A label query over the set of namespaces that the term applies to.
1836 The term is applied to the union of the namespaces selected by this field
1837 and the ones listed in the namespaces field.
1838 null selector and null or empty namespaces list means "this pod's namespace".
1839 An empty selector ({}) matches all namespaces.
1840 properties:
1841 matchExpressions:
1842 description: matchExpressions is a list
1843 of label selector requirements. The requirements
1844 are ANDed.
1845 items:
1846 description: |-
1847 A label selector requirement is a selector that contains values, a key, and an operator that
1848 relates the key and values.
1849 properties:
1850 key:
1851 description: key is the label key
1852 that the selector applies to.
1853 type: string
1854 operator:
1855 description: |-
1856 operator represents a key's relationship to a set of values.
1857 Valid operators are In, NotIn, Exists and DoesNotExist.
1858 type: string
1859 values:
1860 description: |-
1861 values is an array of string values. If the operator is In or NotIn,
1862 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1863 the values array must be empty. This array is replaced during a strategic
1864 merge patch.
1865 items:
1866 type: string
1867 type: array
1868 x-kubernetes-list-type: atomic
1869 required:
1870 - key
1871 - operator
1872 type: object
1873 type: array
1874 x-kubernetes-list-type: atomic
1875 matchLabels:
1876 additionalProperties:
1877 type: string
1878 description: |-
1879 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1880 map is equivalent to an element of matchExpressions, whose key field is "key", the
1881 operator is "In", and the values array contains only "value". The requirements are ANDed.
1882 type: object
1883 type: object
1884 x-kubernetes-map-type: atomic
1885 namespaces:
1886 description: |-
1887 namespaces specifies a static list of namespace names that the term applies to.
1888 The term is applied to the union of the namespaces listed in this field
1889 and the ones selected by namespaceSelector.
1890 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
1891 items:
1892 type: string
1893 type: array
1894 x-kubernetes-list-type: atomic
1895 topologyKey:
1896 description: |-
1897 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
1898 the labelSelector in the specified namespaces, where co-located is defined as running on a node
1899 whose value of the label with key topologyKey matches that of any node on which any of the
1900 selected pods is running.
1901 Empty topologyKey is not allowed.
1902 type: string
1903 required:
1904 - topologyKey
1905 type: object
1906 weight:
1907 description: |-
1908 weight associated with matching the corresponding podAffinityTerm,
1909 in the range 1-100.
1910 format: int32
1911 type: integer
1912 required:
1913 - podAffinityTerm
1914 - weight
1915 type: object
1916 type: array
1917 x-kubernetes-list-type: atomic
1918 requiredDuringSchedulingIgnoredDuringExecution:
1919 description: |-
1920 If the affinity requirements specified by this field are not met at
1921 scheduling time, the pod will not be scheduled onto the node.
1922 If the affinity requirements specified by this field cease to be met
1923 at some point during pod execution (e.g. due to a pod label update), the
1924 system may or may not try to eventually evict the pod from its node.
1925 When there are multiple elements, the lists of nodes corresponding to each
1926 podAffinityTerm are intersected, i.e. all terms must be satisfied.
1927 items:
1928 description: |-
1929 Defines a set of pods (namely those matching the labelSelector
1930 relative to the given namespace(s)) that this pod should be
1931 co-located (affinity) or not co-located (anti-affinity) with,
1932 where co-located is defined as running on a node whose value of
1933 the label with key <topologyKey> matches that of any node on which
1934 a pod of the set of pods is running
1935 properties:
1936 labelSelector:
1937 description: |-
1938 A label query over a set of resources, in this case pods.
1939 If it's null, this PodAffinityTerm matches with no Pods.
1940 properties:
1941 matchExpressions:
1942 description: matchExpressions is a list of label
1943 selector requirements. The requirements are
1944 ANDed.
1945 items:
1946 description: |-
1947 A label selector requirement is a selector that contains values, a key, and an operator that
1948 relates the key and values.
1949 properties:
1950 key:
1951 description: key is the label key that
1952 the selector applies to.
1953 type: string
1954 operator:
1955 description: |-
1956 operator represents a key's relationship to a set of values.
1957 Valid operators are In, NotIn, Exists and DoesNotExist.
1958 type: string
1959 values:
1960 description: |-
1961 values is an array of string values. If the operator is In or NotIn,
1962 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1963 the values array must be empty. This array is replaced during a strategic
1964 merge patch.
1965 items:
1966 type: string
1967 type: array
1968 x-kubernetes-list-type: atomic
1969 required:
1970 - key
1971 - operator
1972 type: object
1973 type: array
1974 x-kubernetes-list-type: atomic
1975 matchLabels:
1976 additionalProperties:
1977 type: string
1978 description: |-
1979 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1980 map is equivalent to an element of matchExpressions, whose key field is "key", the
1981 operator is "In", and the values array contains only "value". The requirements are ANDed.
1982 type: object
1983 type: object
1984 x-kubernetes-map-type: atomic
1985 matchLabelKeys:
1986 description: |-
1987 MatchLabelKeys is a set of pod label keys to select which pods will
1988 be taken into consideration. The keys are used to lookup values from the
1989 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
1990 to select the group of existing pods which pods will be taken into consideration
1991 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
1992 pod labels will be ignored. The default value is empty.
1993 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
1994 Also, matchLabelKeys cannot be set when labelSelector isn't set.
1995 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
1996 items:
1997 type: string
1998 type: array
1999 x-kubernetes-list-type: atomic
2000 mismatchLabelKeys:
2001 description: |-
2002 MismatchLabelKeys is a set of pod label keys to select which pods will
2003 be taken into consideration. The keys are used to lookup values from the
2004 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
2005 to select the group of existing pods which pods will be taken into consideration
2006 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
2007 pod labels will be ignored. The default value is empty.
2008 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
2009 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
2010 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
2011 items:
2012 type: string
2013 type: array
2014 x-kubernetes-list-type: atomic
2015 namespaceSelector:
2016 description: |-
2017 A label query over the set of namespaces that the term applies to.
2018 The term is applied to the union of the namespaces selected by this field
2019 and the ones listed in the namespaces field.
2020 null selector and null or empty namespaces list means "this pod's namespace".
2021 An empty selector ({}) matches all namespaces.
2022 properties:
2023 matchExpressions:
2024 description: matchExpressions is a list of label
2025 selector requirements. The requirements are
2026 ANDed.
2027 items:
2028 description: |-
2029 A label selector requirement is a selector that contains values, a key, and an operator that
2030 relates the key and values.
2031 properties:
2032 key:
2033 description: key is the label key that
2034 the selector applies to.
2035 type: string
2036 operator:
2037 description: |-
2038 operator represents a key's relationship to a set of values.
2039 Valid operators are In, NotIn, Exists and DoesNotExist.
2040 type: string
2041 values:
2042 description: |-
2043 values is an array of string values. If the operator is In or NotIn,
2044 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2045 the values array must be empty. This array is replaced during a strategic
2046 merge patch.
2047 items:
2048 type: string
2049 type: array
2050 x-kubernetes-list-type: atomic
2051 required:
2052 - key
2053 - operator
2054 type: object
2055 type: array
2056 x-kubernetes-list-type: atomic
2057 matchLabels:
2058 additionalProperties:
2059 type: string
2060 description: |-
2061 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2062 map is equivalent to an element of matchExpressions, whose key field is "key", the
2063 operator is "In", and the values array contains only "value". The requirements are ANDed.
2064 type: object
2065 type: object
2066 x-kubernetes-map-type: atomic
2067 namespaces:
2068 description: |-
2069 namespaces specifies a static list of namespace names that the term applies to.
2070 The term is applied to the union of the namespaces listed in this field
2071 and the ones selected by namespaceSelector.
2072 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
2073 items:
2074 type: string
2075 type: array
2076 x-kubernetes-list-type: atomic
2077 topologyKey:
2078 description: |-
2079 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
2080 the labelSelector in the specified namespaces, where co-located is defined as running on a node
2081 whose value of the label with key topologyKey matches that of any node on which any of the
2082 selected pods is running.
2083 Empty topologyKey is not allowed.
2084 type: string
2085 required:
2086 - topologyKey
2087 type: object
2088 type: array
2089 x-kubernetes-list-type: atomic
2090 type: object
2091 podAntiAffinity:
2092 description: Describes pod anti-affinity scheduling rules
2093 (e.g. avoid putting this pod in the same node, zone, etc.
2094 as some other pod(s)).
2095 properties:
2096 preferredDuringSchedulingIgnoredDuringExecution:
2097 description: |-
2098 The scheduler will prefer to schedule pods to nodes that satisfy
2099 the anti-affinity expressions specified by this field, but it may choose
2100 a node that violates one or more of the expressions. The node that is
2101 most preferred is the one with the greatest sum of weights, i.e.
2102 for each node that meets all of the scheduling requirements (resource
2103 request, requiredDuringScheduling anti-affinity expressions, etc.),
2104 compute a sum by iterating through the elements of this field and adding
2105 "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
2106 node(s) with the highest sum are the most preferred.
2107 items:
2108 description: The weights of all of the matched WeightedPodAffinityTerm
2109 fields are added per-node to find the most preferred
2110 node(s)
2111 properties:
2112 podAffinityTerm:
2113 description: Required. A pod affinity term, associated
2114 with the corresponding weight.
2115 properties:
2116 labelSelector:
2117 description: |-
2118 A label query over a set of resources, in this case pods.
2119 If it's null, this PodAffinityTerm matches with no Pods.
2120 properties:
2121 matchExpressions:
2122 description: matchExpressions is a list
2123 of label selector requirements. The requirements
2124 are ANDed.
2125 items:
2126 description: |-
2127 A label selector requirement is a selector that contains values, a key, and an operator that
2128 relates the key and values.
2129 properties:
2130 key:
2131 description: key is the label key
2132 that the selector applies to.
2133 type: string
2134 operator:
2135 description: |-
2136 operator represents a key's relationship to a set of values.
2137 Valid operators are In, NotIn, Exists and DoesNotExist.
2138 type: string
2139 values:
2140 description: |-
2141 values is an array of string values. If the operator is In or NotIn,
2142 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2143 the values array must be empty. This array is replaced during a strategic
2144 merge patch.
2145 items:
2146 type: string
2147 type: array
2148 x-kubernetes-list-type: atomic
2149 required:
2150 - key
2151 - operator
2152 type: object
2153 type: array
2154 x-kubernetes-list-type: atomic
2155 matchLabels:
2156 additionalProperties:
2157 type: string
2158 description: |-
2159 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2160 map is equivalent to an element of matchExpressions, whose key field is "key", the
2161 operator is "In", and the values array contains only "value". The requirements are ANDed.
2162 type: object
2163 type: object
2164 x-kubernetes-map-type: atomic
2165 matchLabelKeys:
2166 description: |-
2167 MatchLabelKeys is a set of pod label keys to select which pods will
2168 be taken into consideration. The keys are used to lookup values from the
2169 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
2170 to select the group of existing pods which pods will be taken into consideration
2171 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
2172 pod labels will be ignored. The default value is empty.
2173 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
2174 Also, matchLabelKeys cannot be set when labelSelector isn't set.
2175 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
2176 items:
2177 type: string
2178 type: array
2179 x-kubernetes-list-type: atomic
2180 mismatchLabelKeys:
2181 description: |-
2182 MismatchLabelKeys is a set of pod label keys to select which pods will
2183 be taken into consideration. The keys are used to lookup values from the
2184 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
2185 to select the group of existing pods which pods will be taken into consideration
2186 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
2187 pod labels will be ignored. The default value is empty.
2188 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
2189 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
2190 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
2191 items:
2192 type: string
2193 type: array
2194 x-kubernetes-list-type: atomic
2195 namespaceSelector:
2196 description: |-
2197 A label query over the set of namespaces that the term applies to.
2198 The term is applied to the union of the namespaces selected by this field
2199 and the ones listed in the namespaces field.
2200 null selector and null or empty namespaces list means "this pod's namespace".
2201 An empty selector ({}) matches all namespaces.
2202 properties:
2203 matchExpressions:
2204 description: matchExpressions is a list
2205 of label selector requirements. The requirements
2206 are ANDed.
2207 items:
2208 description: |-
2209 A label selector requirement is a selector that contains values, a key, and an operator that
2210 relates the key and values.
2211 properties:
2212 key:
2213 description: key is the label key
2214 that the selector applies to.
2215 type: string
2216 operator:
2217 description: |-
2218 operator represents a key's relationship to a set of values.
2219 Valid operators are In, NotIn, Exists and DoesNotExist.
2220 type: string
2221 values:
2222 description: |-
2223 values is an array of string values. If the operator is In or NotIn,
2224 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2225 the values array must be empty. This array is replaced during a strategic
2226 merge patch.
2227 items:
2228 type: string
2229 type: array
2230 x-kubernetes-list-type: atomic
2231 required:
2232 - key
2233 - operator
2234 type: object
2235 type: array
2236 x-kubernetes-list-type: atomic
2237 matchLabels:
2238 additionalProperties:
2239 type: string
2240 description: |-
2241 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2242 map is equivalent to an element of matchExpressions, whose key field is "key", the
2243 operator is "In", and the values array contains only "value". The requirements are ANDed.
2244 type: object
2245 type: object
2246 x-kubernetes-map-type: atomic
2247 namespaces:
2248 description: |-
2249 namespaces specifies a static list of namespace names that the term applies to.
2250 The term is applied to the union of the namespaces listed in this field
2251 and the ones selected by namespaceSelector.
2252 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
2253 items:
2254 type: string
2255 type: array
2256 x-kubernetes-list-type: atomic
2257 topologyKey:
2258 description: |-
2259 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
2260 the labelSelector in the specified namespaces, where co-located is defined as running on a node
2261 whose value of the label with key topologyKey matches that of any node on which any of the
2262 selected pods is running.
2263 Empty topologyKey is not allowed.
2264 type: string
2265 required:
2266 - topologyKey
2267 type: object
2268 weight:
2269 description: |-
2270 weight associated with matching the corresponding podAffinityTerm,
2271 in the range 1-100.
2272 format: int32
2273 type: integer
2274 required:
2275 - podAffinityTerm
2276 - weight
2277 type: object
2278 type: array
2279 x-kubernetes-list-type: atomic
2280 requiredDuringSchedulingIgnoredDuringExecution:
2281 description: |-
2282 If the anti-affinity requirements specified by this field are not met at
2283 scheduling time, the pod will not be scheduled onto the node.
2284 If the anti-affinity requirements specified by this field cease to be met
2285 at some point during pod execution (e.g. due to a pod label update), the
2286 system may or may not try to eventually evict the pod from its node.
2287 When there are multiple elements, the lists of nodes corresponding to each
2288 podAffinityTerm are intersected, i.e. all terms must be satisfied.
2289 items:
2290 description: |-
2291 Defines a set of pods (namely those matching the labelSelector
2292 relative to the given namespace(s)) that this pod should be
2293 co-located (affinity) or not co-located (anti-affinity) with,
2294 where co-located is defined as running on a node whose value of
2295 the label with key <topologyKey> matches that of any node on which
2296 a pod of the set of pods is running
2297 properties:
2298 labelSelector:
2299 description: |-
2300 A label query over a set of resources, in this case pods.
2301 If it's null, this PodAffinityTerm matches with no Pods.
2302 properties:
2303 matchExpressions:
2304 description: matchExpressions is a list of label
2305 selector requirements. The requirements are
2306 ANDed.
2307 items:
2308 description: |-
2309 A label selector requirement is a selector that contains values, a key, and an operator that
2310 relates the key and values.
2311 properties:
2312 key:
2313 description: key is the label key that
2314 the selector applies to.
2315 type: string
2316 operator:
2317 description: |-
2318 operator represents a key's relationship to a set of values.
2319 Valid operators are In, NotIn, Exists and DoesNotExist.
2320 type: string
2321 values:
2322 description: |-
2323 values is an array of string values. If the operator is In or NotIn,
2324 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2325 the values array must be empty. This array is replaced during a strategic
2326 merge patch.
2327 items:
2328 type: string
2329 type: array
2330 x-kubernetes-list-type: atomic
2331 required:
2332 - key
2333 - operator
2334 type: object
2335 type: array
2336 x-kubernetes-list-type: atomic
2337 matchLabels:
2338 additionalProperties:
2339 type: string
2340 description: |-
2341 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2342 map is equivalent to an element of matchExpressions, whose key field is "key", the
2343 operator is "In", and the values array contains only "value". The requirements are ANDed.
2344 type: object
2345 type: object
2346 x-kubernetes-map-type: atomic
2347 matchLabelKeys:
2348 description: |-
2349 MatchLabelKeys is a set of pod label keys to select which pods will
2350 be taken into consideration. The keys are used to lookup values from the
2351 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
2352 to select the group of existing pods which pods will be taken into consideration
2353 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
2354 pod labels will be ignored. The default value is empty.
2355 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
2356 Also, matchLabelKeys cannot be set when labelSelector isn't set.
2357 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
2358 items:
2359 type: string
2360 type: array
2361 x-kubernetes-list-type: atomic
2362 mismatchLabelKeys:
2363 description: |-
2364 MismatchLabelKeys is a set of pod label keys to select which pods will
2365 be taken into consideration. The keys are used to lookup values from the
2366 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
2367 to select the group of existing pods which pods will be taken into consideration
2368 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
2369 pod labels will be ignored. The default value is empty.
2370 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
2371 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
2372 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
2373 items:
2374 type: string
2375 type: array
2376 x-kubernetes-list-type: atomic
2377 namespaceSelector:
2378 description: |-
2379 A label query over the set of namespaces that the term applies to.
2380 The term is applied to the union of the namespaces selected by this field
2381 and the ones listed in the namespaces field.
2382 null selector and null or empty namespaces list means "this pod's namespace".
2383 An empty selector ({}) matches all namespaces.
2384 properties:
2385 matchExpressions:
2386 description: matchExpressions is a list of label
2387 selector requirements. The requirements are
2388 ANDed.
2389 items:
2390 description: |-
2391 A label selector requirement is a selector that contains values, a key, and an operator that
2392 relates the key and values.
2393 properties:
2394 key:
2395 description: key is the label key that
2396 the selector applies to.
2397 type: string
2398 operator:
2399 description: |-
2400 operator represents a key's relationship to a set of values.
2401 Valid operators are In, NotIn, Exists and DoesNotExist.
2402 type: string
2403 values:
2404 description: |-
2405 values is an array of string values. If the operator is In or NotIn,
2406 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2407 the values array must be empty. This array is replaced during a strategic
2408 merge patch.
2409 items:
2410 type: string
2411 type: array
2412 x-kubernetes-list-type: atomic
2413 required:
2414 - key
2415 - operator
2416 type: object
2417 type: array
2418 x-kubernetes-list-type: atomic
2419 matchLabels:
2420 additionalProperties:
2421 type: string
2422 description: |-
2423 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2424 map is equivalent to an element of matchExpressions, whose key field is "key", the
2425 operator is "In", and the values array contains only "value". The requirements are ANDed.
2426 type: object
2427 type: object
2428 x-kubernetes-map-type: atomic
2429 namespaces:
2430 description: |-
2431 namespaces specifies a static list of namespace names that the term applies to.
2432 The term is applied to the union of the namespaces listed in this field
2433 and the ones selected by namespaceSelector.
2434 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
2435 items:
2436 type: string
2437 type: array
2438 x-kubernetes-list-type: atomic
2439 topologyKey:
2440 description: |-
2441 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
2442 the labelSelector in the specified namespaces, where co-located is defined as running on a node
2443 whose value of the label with key topologyKey matches that of any node on which any of the
2444 selected pods is running.
2445 Empty topologyKey is not allowed.
2446 type: string
2447 required:
2448 - topologyKey
2449 type: object
2450 type: array
2451 x-kubernetes-list-type: atomic
2452 type: object
2453 type: object
2454 nodeSelector:
2455 additionalProperties:
2456 type: string
2457 description: |-
2458 nodeSelector is the node selector applied to the relevant kind of pods
2459 It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
2460 the node must have each of the indicated key-value pairs as labels
2461 (it can have additional labels as well).
2462 See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
2463 type: object
2464 tolerations:
2465 description: |-
2466 tolerations is a list of tolerations applied to the relevant kind of pods
2467 See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
2468 These are additional tolerations other than default ones.
2469 items:
2470 description: |-
2471 The pod this Toleration is attached to tolerates any taint that matches
2472 the triple <key,value,effect> using the matching operator <operator>.
2473 properties:
2474 effect:
2475 description: |-
2476 Effect indicates the taint effect to match. Empty means match all taint effects.
2477 When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
2478 type: string
2479 key:
2480 description: |-
2481 Key is the taint key that the toleration applies to. Empty means match all taint keys.
2482 If the key is empty, operator must be Exists; this combination means to match all values and all keys.
2483 type: string
2484 operator:
2485 description: |-
2486 Operator represents a key's relationship to the value.
2487 Valid operators are Exists and Equal. Defaults to Equal.
2488 Exists is equivalent to wildcard for value, so that a pod can
2489 tolerate all taints of a particular category.
2490 type: string
2491 tolerationSeconds:
2492 description: |-
2493 TolerationSeconds represents the period of time the toleration (which must be
2494 of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
2495 it is not set, which means tolerate the taint forever (do not evict). Zero and
2496 negative values will be treated as 0 (evict immediately) by the system.
2497 format: int64
2498 type: integer
2499 value:
2500 description: |-
2501 Value is the taint value the toleration matches to.
2502 If the operator is Exists, the value should be empty, otherwise just a regular string.
2503 type: string
2504 type: object
2505 type: array
2506 type: object
2507 type: object
2508 status:
2509 description: CDIStatus defines the status of the installation
2510 properties:
2511 conditions:
2512 description: A list of current conditions of the resource
2513 items:
2514 description: |-
2515 Condition represents the state of the operator's
2516 reconciliation functionality.
2517 properties:
2518 lastHeartbeatTime:
2519 format: date-time
2520 type: string
2521 lastTransitionTime:
2522 format: date-time
2523 type: string
2524 message:
2525 type: string
2526 reason:
2527 type: string
2528 status:
2529 type: string
2530 type:
2531 description: ConditionType is the state of the operator's reconciliation
2532 functionality.
2533 type: string
2534 required:
2535 - status
2536 - type
2537 type: object
2538 type: array
2539 observedVersion:
2540 description: The observed version of the resource
2541 type: string
2542 operatorVersion:
2543 description: The version of the resource as defined by the operator
2544 type: string
2545 phase:
2546 description: Phase is the current phase of the deployment
2547 type: string
2548 targetVersion:
2549 description: The desired version of the resource
2550 type: string
2551 type: object
2552 required:
2553 - spec
2554 type: object
2555 served: true
2556 storage: false
2557 subresources: {}
2558 - additionalPrinterColumns:
2559 - jsonPath: .metadata.creationTimestamp
2560 name: Age
2561 type: date
2562 - jsonPath: .status.phase
2563 name: Phase
2564 type: string
2565 name: v1beta1
2566 schema:
2567 openAPIV3Schema:
2568 description: CDI is the CDI Operator CRD
2569 properties:
2570 apiVersion:
2571 description: |-
2572 APIVersion defines the versioned schema of this representation of an object.
2573 Servers should convert recognized schemas to the latest internal value, and
2574 may reject unrecognized values.
2575 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
2576 type: string
2577 kind:
2578 description: |-
2579 Kind is a string value representing the REST resource this object represents.
2580 Servers may infer this from the endpoint the client submits requests to.
2581 Cannot be updated.
2582 In CamelCase.
2583 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
2584 type: string
2585 metadata:
2586 type: object
2587 spec:
2588 description: CDISpec defines our specification for the CDI installation
2589 properties:
2590 certConfig:
2591 description: certificate configuration
2592 properties:
2593 ca:
2594 description: |-
2595 CA configuration
2596 CA certs are kept in the CA bundle as long as they are valid
2597 properties:
2598 duration:
2599 description: The requested 'duration' (i.e. lifetime) of the
2600 Certificate.
2601 type: string
2602 renewBefore:
2603 description: |-
2604 The amount of time before the currently issued certificate's `notAfter`
2605 time that we will begin to attempt to renew the certificate.
2606 type: string
2607 type: object
2608 client:
2609 description: |-
2610 Client configuration
2611 Certs are rotated and discarded
2612 properties:
2613 duration:
2614 description: The requested 'duration' (i.e. lifetime) of the
2615 Certificate.
2616 type: string
2617 renewBefore:
2618 description: |-
2619 The amount of time before the currently issued certificate's `notAfter`
2620 time that we will begin to attempt to renew the certificate.
2621 type: string
2622 type: object
2623 server:
2624 description: |-
2625 Server configuration
2626 Certs are rotated and discarded
2627 properties:
2628 duration:
2629 description: The requested 'duration' (i.e. lifetime) of the
2630 Certificate.
2631 type: string
2632 renewBefore:
2633 description: |-
2634 The amount of time before the currently issued certificate's `notAfter`
2635 time that we will begin to attempt to renew the certificate.
2636 type: string
2637 type: object
2638 type: object
2639 cloneStrategyOverride:
2640 description: 'Clone strategy override: should we use a host-assisted
2641 copy even if snapshots are available?'
2642 enum:
2643 - copy
2644 - snapshot
2645 - csi-clone
2646 type: string
2647 config:
2648 description: CDIConfig at CDI level
2649 properties:
2650 dataVolumeTTLSeconds:
2651 description: DataVolumeTTLSeconds is the time in seconds after
2652 DataVolume completion it can be garbage collected. Disabled
2653 by default.
2654 format: int32
2655 type: integer
2656 featureGates:
2657 description: FeatureGates are a list of specific enabled feature
2658 gates
2659 items:
2660 type: string
2661 type: array
2662 filesystemOverhead:
2663 description: FilesystemOverhead describes the space reserved for
2664 overhead when using Filesystem volumes. A value is between 0
2665 and 1, if not defined it is 0.055 (5.5% overhead)
2666 properties:
2667 global:
2668 description: Global is how much space of a Filesystem volume
2669 should be reserved for overhead. This value is used unless
2670 overridden by a more specific value (per storageClass)
2671 pattern: ^(0(?:\.\d{1,3})?|1)$
2672 type: string
2673 storageClass:
2674 additionalProperties:
2675 description: |-
2676 Percent is a string that can only be a value between [0,1)
2677 (Note: we actually rely on reconcile to reject invalid values)
2678 pattern: ^(0(?:\.\d{1,3})?|1)$
2679 type: string
2680 description: StorageClass specifies how much space of a Filesystem
2681 volume should be reserved for safety. The keys are the storageClass
2682 and the values are the overhead. This value overrides the
2683 global value
2684 type: object
2685 type: object
2686 imagePullSecrets:
2687 description: The imagePullSecrets used to pull the container images
2688 items:
2689 description: |-
2690 LocalObjectReference contains enough information to let you locate the
2691 referenced object inside the same namespace.
2692 properties:
2693 name:
2694 default: ""
2695 description: |-
2696 Name of the referent.
2697 This field is effectively required, but due to backwards compatibility is
2698 allowed to be empty. Instances of this type with an empty value here are
2699 almost certainly wrong.
2700 TODO: Add other useful fields. apiVersion, kind, uid?
2701 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2702 TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
2703 type: string
2704 type: object
2705 x-kubernetes-map-type: atomic
2706 type: array
2707 importProxy:
2708 description: ImportProxy contains importer pod proxy configuration.
2709 properties:
2710 HTTPProxy:
2711 description: HTTPProxy is the URL http://<username>:<pswd>@<ip>:<port>
2712 of the import proxy for HTTP requests. Empty means unset
2713 and will not result in the import pod env var.
2714 type: string
2715 HTTPSProxy:
2716 description: HTTPSProxy is the URL https://<username>:<pswd>@<ip>:<port>
2717 of the import proxy for HTTPS requests. Empty means unset
2718 and will not result in the import pod env var.
2719 type: string
2720 noProxy:
2721 description: NoProxy is a comma-separated list of hostnames
2722 and/or CIDRs for which the proxy should not be used. Empty
2723 means unset and will not result in the import pod env var.
2724 type: string
2725 trustedCAProxy:
2726 description: "TrustedCAProxy is the name of a ConfigMap in
2727 the cdi namespace that contains a user-provided trusted
2728 certificate authority (CA) bundle.\nThe TrustedCAProxy ConfigMap
2729 is consumed by the DataImportCron controller for creating
2730 cronjobs, and by the import controller referring a copy
2731 of the ConfigMap in the import namespace.\nHere is an example
2732 of the ConfigMap (in yaml):\n\n\napiVersion: v1\nkind: ConfigMap\nmetadata:\n
2733 \ name: my-ca-proxy-cm\n namespace: cdi\ndata:\n ca.pem:
2734 |\n -----BEGIN CERTIFICATE-----\n\t ... <base64 encoded
2735 cert> ...\n\t -----END CERTIFICATE-----"
2736 type: string
2737 type: object
2738 insecureRegistries:
2739 description: InsecureRegistries is a list of TLS disabled registries
2740 items:
2741 type: string
2742 type: array
2743 logVerbosity:
2744 description: LogVerbosity overrides the default verbosity level
2745 used to initialize loggers
2746 format: int32
2747 type: integer
2748 podResourceRequirements:
2749 description: ResourceRequirements describes the compute resource
2750 requirements.
2751 properties:
2752 claims:
2753 description: |-
2754 Claims lists the names of resources, defined in spec.resourceClaims,
2755 that are used by this container.
2756
2757
2758 This is an alpha field and requires enabling the
2759 DynamicResourceAllocation feature gate.
2760
2761
2762 This field is immutable. It can only be set for containers.
2763 items:
2764 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
2765 properties:
2766 name:
2767 description: |-
2768 Name must match the name of one entry in pod.spec.resourceClaims of
2769 the Pod where this field is used. It makes that resource available
2770 inside a container.
2771 type: string
2772 required:
2773 - name
2774 type: object
2775 type: array
2776 x-kubernetes-list-map-keys:
2777 - name
2778 x-kubernetes-list-type: map
2779 limits:
2780 additionalProperties:
2781 anyOf:
2782 - type: integer
2783 - type: string
2784 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2785 x-kubernetes-int-or-string: true
2786 description: |-
2787 Limits describes the maximum amount of compute resources allowed.
2788 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2789 type: object
2790 requests:
2791 additionalProperties:
2792 anyOf:
2793 - type: integer
2794 - type: string
2795 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2796 x-kubernetes-int-or-string: true
2797 description: |-
2798 Requests describes the minimum amount of compute resources required.
2799 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
2800 otherwise to an implementation-defined value. Requests cannot exceed Limits.
2801 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2802 type: object
2803 type: object
2804 preallocation:
2805 description: Preallocation controls whether storage for DataVolumes
2806 should be allocated in advance.
2807 type: boolean
2808 scratchSpaceStorageClass:
2809 description: 'Override the storage class to used for scratch space
2810 during transfer operations. The scratch space storage class
2811 is determined in the following order: 1. value of scratchSpaceStorageClass,
2812 if that doesn''t exist, use the default storage class, if there
2813 is no default storage class, use the storage class of the DataVolume,
2814 if no storage class specified, use no storage class for scratch
2815 space'
2816 type: string
2817 tlsSecurityProfile:
2818 description: TLSSecurityProfile is used by operators to apply
2819 cluster-wide TLS security settings to operands.
2820 properties:
2821 custom:
2822 description: |-
2823 custom is a user-defined TLS security profile. Be extremely careful using a custom
2824 profile as invalid configurations can be catastrophic. An example custom profile
2825 looks like this:
2826
2827
2828 ciphers:
2829 - ECDHE-ECDSA-CHACHA20-POLY1305
2830 - ECDHE-RSA-CHACHA20-POLY1305
2831 - ECDHE-RSA-AES128-GCM-SHA256
2832 - ECDHE-ECDSA-AES128-GCM-SHA256
2833 minTLSVersion: VersionTLS11
2834 nullable: true
2835 properties:
2836 ciphers:
2837 description: |-
2838 ciphers is used to specify the cipher algorithms that are negotiated
2839 during the TLS handshake. Operators may remove entries their operands
2840 do not support. For example, to use DES-CBC3-SHA (yaml):
2841
2842
2843 ciphers:
2844 - DES-CBC3-SHA
2845 items:
2846 type: string
2847 type: array
2848 minTLSVersion:
2849 description: |-
2850 minTLSVersion is used to specify the minimal version of the TLS protocol
2851 that is negotiated during the TLS handshake. For example, to use TLS
2852 versions 1.1, 1.2 and 1.3 (yaml):
2853
2854
2855 minTLSVersion: VersionTLS11
2856
2857
2858 NOTE: currently the highest minTLSVersion allowed is VersionTLS12
2859 enum:
2860 - VersionTLS10
2861 - VersionTLS11
2862 - VersionTLS12
2863 - VersionTLS13
2864 type: string
2865 required:
2866 - ciphers
2867 - minTLSVersion
2868 type: object
2869 intermediate:
2870 description: |-
2871 intermediate is a TLS security profile based on:
2872
2873
2874 https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29
2875
2876
2877 and looks like this (yaml):
2878
2879
2880 ciphers:
2881 - TLS_AES_128_GCM_SHA256
2882 - TLS_AES_256_GCM_SHA384
2883 - TLS_CHACHA20_POLY1305_SHA256
2884 - ECDHE-ECDSA-AES128-GCM-SHA256
2885 - ECDHE-RSA-AES128-GCM-SHA256
2886 - ECDHE-ECDSA-AES256-GCM-SHA384
2887 - ECDHE-RSA-AES256-GCM-SHA384
2888 - ECDHE-ECDSA-CHACHA20-POLY1305
2889 - ECDHE-RSA-CHACHA20-POLY1305
2890 - DHE-RSA-AES128-GCM-SHA256
2891 - DHE-RSA-AES256-GCM-SHA384
2892 minTLSVersion: VersionTLS12
2893 nullable: true
2894 type: object
2895 modern:
2896 description: |-
2897 modern is a TLS security profile based on:
2898
2899
2900 https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
2901
2902
2903 and looks like this (yaml):
2904
2905
2906 ciphers:
2907 - TLS_AES_128_GCM_SHA256
2908 - TLS_AES_256_GCM_SHA384
2909 - TLS_CHACHA20_POLY1305_SHA256
2910 minTLSVersion: VersionTLS13
2911
2912
2913 NOTE: Currently unsupported.
2914 nullable: true
2915 type: object
2916 old:
2917 description: |-
2918 old is a TLS security profile based on:
2919
2920
2921 https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility
2922
2923
2924 and looks like this (yaml):
2925
2926
2927 ciphers:
2928 - TLS_AES_128_GCM_SHA256
2929 - TLS_AES_256_GCM_SHA384
2930 - TLS_CHACHA20_POLY1305_SHA256
2931 - ECDHE-ECDSA-AES128-GCM-SHA256
2932 - ECDHE-RSA-AES128-GCM-SHA256
2933 - ECDHE-ECDSA-AES256-GCM-SHA384
2934 - ECDHE-RSA-AES256-GCM-SHA384
2935 - ECDHE-ECDSA-CHACHA20-POLY1305
2936 - ECDHE-RSA-CHACHA20-POLY1305
2937 - DHE-RSA-AES128-GCM-SHA256
2938 - DHE-RSA-AES256-GCM-SHA384
2939 - DHE-RSA-CHACHA20-POLY1305
2940 - ECDHE-ECDSA-AES128-SHA256
2941 - ECDHE-RSA-AES128-SHA256
2942 - ECDHE-ECDSA-AES128-SHA
2943 - ECDHE-RSA-AES128-SHA
2944 - ECDHE-ECDSA-AES256-SHA384
2945 - ECDHE-RSA-AES256-SHA384
2946 - ECDHE-ECDSA-AES256-SHA
2947 - ECDHE-RSA-AES256-SHA
2948 - DHE-RSA-AES128-SHA256
2949 - DHE-RSA-AES256-SHA256
2950 - AES128-GCM-SHA256
2951 - AES256-GCM-SHA384
2952 - AES128-SHA256
2953 - AES256-SHA256
2954 - AES128-SHA
2955 - AES256-SHA
2956 - DES-CBC3-SHA
2957 minTLSVersion: VersionTLS10
2958 nullable: true
2959 type: object
2960 type:
2961 description: |-
2962 type is one of Old, Intermediate, Modern or Custom. Custom provides
2963 the ability to specify individual TLS security profile parameters.
2964 Old, Intermediate and Modern are TLS security profiles based on:
2965
2966
2967 https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations
2968
2969
2970 The profiles are intent based, so they may change over time as new ciphers are developed and existing ciphers
2971 are found to be insecure. Depending on precisely which ciphers are available to a process, the list may be
2972 reduced.
2973
2974
2975 Note that the Modern profile is currently not supported because it is not
2976 yet well adopted by common software libraries.
2977 enum:
2978 - Old
2979 - Intermediate
2980 - Modern
2981 - Custom
2982 type: string
2983 type: object
2984 uploadProxyURLOverride:
2985 description: Override the URL used when uploading to a DataVolume
2986 type: string
2987 type: object
2988 customizeComponents:
2989 description: CustomizeComponents defines patches for components deployed
2990 by the CDI operator.
2991 properties:
2992 flags:
2993 description: Configure the value used for deployment and daemonset
2994 resources
2995 properties:
2996 api:
2997 additionalProperties:
2998 type: string
2999 type: object
3000 controller:
3001 additionalProperties:
3002 type: string
3003 type: object
3004 uploadProxy:
3005 additionalProperties:
3006 type: string
3007 type: object
3008 type: object
3009 patches:
3010 items:
3011 description: CustomizeComponentsPatch defines a patch for some
3012 resource.
3013 properties:
3014 patch:
3015 type: string
3016 resourceName:
3017 minLength: 1
3018 type: string
3019 resourceType:
3020 minLength: 1
3021 type: string
3022 type:
3023 description: PatchType defines the patch type.
3024 type: string
3025 required:
3026 - patch
3027 - resourceName
3028 - resourceType
3029 - type
3030 type: object
3031 type: array
3032 x-kubernetes-list-type: atomic
3033 type: object
3034 imagePullPolicy:
3035 description: PullPolicy describes a policy for if/when to pull a container
3036 image
3037 enum:
3038 - Always
3039 - IfNotPresent
3040 - Never
3041 type: string
3042 infra:
3043 description: Selectors and tolerations that should apply to cdi infrastructure
3044 components
3045 properties:
3046 affinity:
3047 description: |-
3048 affinity enables pod affinity/anti-affinity placement expanding the types of constraints
3049 that can be expressed with nodeSelector.
3050 affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
3051 See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
3052 properties:
3053 nodeAffinity:
3054 description: Describes node affinity scheduling rules for
3055 the pod.
3056 properties:
3057 preferredDuringSchedulingIgnoredDuringExecution:
3058 description: |-
3059 The scheduler will prefer to schedule pods to nodes that satisfy
3060 the affinity expressions specified by this field, but it may choose
3061 a node that violates one or more of the expressions. The node that is
3062 most preferred is the one with the greatest sum of weights, i.e.
3063 for each node that meets all of the scheduling requirements (resource
3064 request, requiredDuringScheduling affinity expressions, etc.),
3065 compute a sum by iterating through the elements of this field and adding
3066 "weight" to the sum if the node matches the corresponding matchExpressions; the
3067 node(s) with the highest sum are the most preferred.
3068 items:
3069 description: |-
3070 An empty preferred scheduling term matches all objects with implicit weight 0
3071 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
3072 properties:
3073 preference:
3074 description: A node selector term, associated with
3075 the corresponding weight.
3076 properties:
3077 matchExpressions:
3078 description: A list of node selector requirements
3079 by node's labels.
3080 items:
3081 description: |-
3082 A node selector requirement is a selector that contains values, a key, and an operator
3083 that relates the key and values.
3084 properties:
3085 key:
3086 description: The label key that the selector
3087 applies to.
3088 type: string
3089 operator:
3090 description: |-
3091 Represents a key's relationship to a set of values.
3092 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3093 type: string
3094 values:
3095 description: |-
3096 An array of string values. If the operator is In or NotIn,
3097 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3098 the values array must be empty. If the operator is Gt or Lt, the values
3099 array must have a single element, which will be interpreted as an integer.
3100 This array is replaced during a strategic merge patch.
3101 items:
3102 type: string
3103 type: array
3104 x-kubernetes-list-type: atomic
3105 required:
3106 - key
3107 - operator
3108 type: object
3109 type: array
3110 x-kubernetes-list-type: atomic
3111 matchFields:
3112 description: A list of node selector requirements
3113 by node's fields.
3114 items:
3115 description: |-
3116 A node selector requirement is a selector that contains values, a key, and an operator
3117 that relates the key and values.
3118 properties:
3119 key:
3120 description: The label key that the selector
3121 applies to.
3122 type: string
3123 operator:
3124 description: |-
3125 Represents a key's relationship to a set of values.
3126 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3127 type: string
3128 values:
3129 description: |-
3130 An array of string values. If the operator is In or NotIn,
3131 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3132 the values array must be empty. If the operator is Gt or Lt, the values
3133 array must have a single element, which will be interpreted as an integer.
3134 This array is replaced during a strategic merge patch.
3135 items:
3136 type: string
3137 type: array
3138 x-kubernetes-list-type: atomic
3139 required:
3140 - key
3141 - operator
3142 type: object
3143 type: array
3144 x-kubernetes-list-type: atomic
3145 type: object
3146 x-kubernetes-map-type: atomic
3147 weight:
3148 description: Weight associated with matching the
3149 corresponding nodeSelectorTerm, in the range 1-100.
3150 format: int32
3151 type: integer
3152 required:
3153 - preference
3154 - weight
3155 type: object
3156 type: array
3157 x-kubernetes-list-type: atomic
3158 requiredDuringSchedulingIgnoredDuringExecution:
3159 description: |-
3160 If the affinity requirements specified by this field are not met at
3161 scheduling time, the pod will not be scheduled onto the node.
3162 If the affinity requirements specified by this field cease to be met
3163 at some point during pod execution (e.g. due to an update), the system
3164 may or may not try to eventually evict the pod from its node.
3165 properties:
3166 nodeSelectorTerms:
3167 description: Required. A list of node selector terms.
3168 The terms are ORed.
3169 items:
3170 description: |-
3171 A null or empty node selector term matches no objects. The requirements of
3172 them are ANDed.
3173 The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
3174 properties:
3175 matchExpressions:
3176 description: A list of node selector requirements
3177 by node's labels.
3178 items:
3179 description: |-
3180 A node selector requirement is a selector that contains values, a key, and an operator
3181 that relates the key and values.
3182 properties:
3183 key:
3184 description: The label key that the selector
3185 applies to.
3186 type: string
3187 operator:
3188 description: |-
3189 Represents a key's relationship to a set of values.
3190 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3191 type: string
3192 values:
3193 description: |-
3194 An array of string values. If the operator is In or NotIn,
3195 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3196 the values array must be empty. If the operator is Gt or Lt, the values
3197 array must have a single element, which will be interpreted as an integer.
3198 This array is replaced during a strategic merge patch.
3199 items:
3200 type: string
3201 type: array
3202 x-kubernetes-list-type: atomic
3203 required:
3204 - key
3205 - operator
3206 type: object
3207 type: array
3208 x-kubernetes-list-type: atomic
3209 matchFields:
3210 description: A list of node selector requirements
3211 by node's fields.
3212 items:
3213 description: |-
3214 A node selector requirement is a selector that contains values, a key, and an operator
3215 that relates the key and values.
3216 properties:
3217 key:
3218 description: The label key that the selector
3219 applies to.
3220 type: string
3221 operator:
3222 description: |-
3223 Represents a key's relationship to a set of values.
3224 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3225 type: string
3226 values:
3227 description: |-
3228 An array of string values. If the operator is In or NotIn,
3229 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3230 the values array must be empty. If the operator is Gt or Lt, the values
3231 array must have a single element, which will be interpreted as an integer.
3232 This array is replaced during a strategic merge patch.
3233 items:
3234 type: string
3235 type: array
3236 x-kubernetes-list-type: atomic
3237 required:
3238 - key
3239 - operator
3240 type: object
3241 type: array
3242 x-kubernetes-list-type: atomic
3243 type: object
3244 x-kubernetes-map-type: atomic
3245 type: array
3246 x-kubernetes-list-type: atomic
3247 required:
3248 - nodeSelectorTerms
3249 type: object
3250 x-kubernetes-map-type: atomic
3251 type: object
3252 podAffinity:
3253 description: Describes pod affinity scheduling rules (e.g.
3254 co-locate this pod in the same node, zone, etc. as some
3255 other pod(s)).
3256 properties:
3257 preferredDuringSchedulingIgnoredDuringExecution:
3258 description: |-
3259 The scheduler will prefer to schedule pods to nodes that satisfy
3260 the affinity expressions specified by this field, but it may choose
3261 a node that violates one or more of the expressions. The node that is
3262 most preferred is the one with the greatest sum of weights, i.e.
3263 for each node that meets all of the scheduling requirements (resource
3264 request, requiredDuringScheduling affinity expressions, etc.),
3265 compute a sum by iterating through the elements of this field and adding
3266 "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
3267 node(s) with the highest sum are the most preferred.
3268 items:
3269 description: The weights of all of the matched WeightedPodAffinityTerm
3270 fields are added per-node to find the most preferred
3271 node(s)
3272 properties:
3273 podAffinityTerm:
3274 description: Required. A pod affinity term, associated
3275 with the corresponding weight.
3276 properties:
3277 labelSelector:
3278 description: |-
3279 A label query over a set of resources, in this case pods.
3280 If it's null, this PodAffinityTerm matches with no Pods.
3281 properties:
3282 matchExpressions:
3283 description: matchExpressions is a list
3284 of label selector requirements. The requirements
3285 are ANDed.
3286 items:
3287 description: |-
3288 A label selector requirement is a selector that contains values, a key, and an operator that
3289 relates the key and values.
3290 properties:
3291 key:
3292 description: key is the label key
3293 that the selector applies to.
3294 type: string
3295 operator:
3296 description: |-
3297 operator represents a key's relationship to a set of values.
3298 Valid operators are In, NotIn, Exists and DoesNotExist.
3299 type: string
3300 values:
3301 description: |-
3302 values is an array of string values. If the operator is In or NotIn,
3303 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3304 the values array must be empty. This array is replaced during a strategic
3305 merge patch.
3306 items:
3307 type: string
3308 type: array
3309 x-kubernetes-list-type: atomic
3310 required:
3311 - key
3312 - operator
3313 type: object
3314 type: array
3315 x-kubernetes-list-type: atomic
3316 matchLabels:
3317 additionalProperties:
3318 type: string
3319 description: |-
3320 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3321 map is equivalent to an element of matchExpressions, whose key field is "key", the
3322 operator is "In", and the values array contains only "value". The requirements are ANDed.
3323 type: object
3324 type: object
3325 x-kubernetes-map-type: atomic
3326 matchLabelKeys:
3327 description: |-
3328 MatchLabelKeys is a set of pod label keys to select which pods will
3329 be taken into consideration. The keys are used to lookup values from the
3330 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
3331 to select the group of existing pods which pods will be taken into consideration
3332 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
3333 pod labels will be ignored. The default value is empty.
3334 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
3335 Also, matchLabelKeys cannot be set when labelSelector isn't set.
3336 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
3337 items:
3338 type: string
3339 type: array
3340 x-kubernetes-list-type: atomic
3341 mismatchLabelKeys:
3342 description: |-
3343 MismatchLabelKeys is a set of pod label keys to select which pods will
3344 be taken into consideration. The keys are used to lookup values from the
3345 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
3346 to select the group of existing pods which pods will be taken into consideration
3347 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
3348 pod labels will be ignored. The default value is empty.
3349 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
3350 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
3351 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
3352 items:
3353 type: string
3354 type: array
3355 x-kubernetes-list-type: atomic
3356 namespaceSelector:
3357 description: |-
3358 A label query over the set of namespaces that the term applies to.
3359 The term is applied to the union of the namespaces selected by this field
3360 and the ones listed in the namespaces field.
3361 null selector and null or empty namespaces list means "this pod's namespace".
3362 An empty selector ({}) matches all namespaces.
3363 properties:
3364 matchExpressions:
3365 description: matchExpressions is a list
3366 of label selector requirements. The requirements
3367 are ANDed.
3368 items:
3369 description: |-
3370 A label selector requirement is a selector that contains values, a key, and an operator that
3371 relates the key and values.
3372 properties:
3373 key:
3374 description: key is the label key
3375 that the selector applies to.
3376 type: string
3377 operator:
3378 description: |-
3379 operator represents a key's relationship to a set of values.
3380 Valid operators are In, NotIn, Exists and DoesNotExist.
3381 type: string
3382 values:
3383 description: |-
3384 values is an array of string values. If the operator is In or NotIn,
3385 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3386 the values array must be empty. This array is replaced during a strategic
3387 merge patch.
3388 items:
3389 type: string
3390 type: array
3391 x-kubernetes-list-type: atomic
3392 required:
3393 - key
3394 - operator
3395 type: object
3396 type: array
3397 x-kubernetes-list-type: atomic
3398 matchLabels:
3399 additionalProperties:
3400 type: string
3401 description: |-
3402 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3403 map is equivalent to an element of matchExpressions, whose key field is "key", the
3404 operator is "In", and the values array contains only "value". The requirements are ANDed.
3405 type: object
3406 type: object
3407 x-kubernetes-map-type: atomic
3408 namespaces:
3409 description: |-
3410 namespaces specifies a static list of namespace names that the term applies to.
3411 The term is applied to the union of the namespaces listed in this field
3412 and the ones selected by namespaceSelector.
3413 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
3414 items:
3415 type: string
3416 type: array
3417 x-kubernetes-list-type: atomic
3418 topologyKey:
3419 description: |-
3420 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
3421 the labelSelector in the specified namespaces, where co-located is defined as running on a node
3422 whose value of the label with key topologyKey matches that of any node on which any of the
3423 selected pods is running.
3424 Empty topologyKey is not allowed.
3425 type: string
3426 required:
3427 - topologyKey
3428 type: object
3429 weight:
3430 description: |-
3431 weight associated with matching the corresponding podAffinityTerm,
3432 in the range 1-100.
3433 format: int32
3434 type: integer
3435 required:
3436 - podAffinityTerm
3437 - weight
3438 type: object
3439 type: array
3440 x-kubernetes-list-type: atomic
3441 requiredDuringSchedulingIgnoredDuringExecution:
3442 description: |-
3443 If the affinity requirements specified by this field are not met at
3444 scheduling time, the pod will not be scheduled onto the node.
3445 If the affinity requirements specified by this field cease to be met
3446 at some point during pod execution (e.g. due to a pod label update), the
3447 system may or may not try to eventually evict the pod from its node.
3448 When there are multiple elements, the lists of nodes corresponding to each
3449 podAffinityTerm are intersected, i.e. all terms must be satisfied.
3450 items:
3451 description: |-
3452 Defines a set of pods (namely those matching the labelSelector
3453 relative to the given namespace(s)) that this pod should be
3454 co-located (affinity) or not co-located (anti-affinity) with,
3455 where co-located is defined as running on a node whose value of
3456 the label with key <topologyKey> matches that of any node on which
3457 a pod of the set of pods is running
3458 properties:
3459 labelSelector:
3460 description: |-
3461 A label query over a set of resources, in this case pods.
3462 If it's null, this PodAffinityTerm matches with no Pods.
3463 properties:
3464 matchExpressions:
3465 description: matchExpressions is a list of label
3466 selector requirements. The requirements are
3467 ANDed.
3468 items:
3469 description: |-
3470 A label selector requirement is a selector that contains values, a key, and an operator that
3471 relates the key and values.
3472 properties:
3473 key:
3474 description: key is the label key that
3475 the selector applies to.
3476 type: string
3477 operator:
3478 description: |-
3479 operator represents a key's relationship to a set of values.
3480 Valid operators are In, NotIn, Exists and DoesNotExist.
3481 type: string
3482 values:
3483 description: |-
3484 values is an array of string values. If the operator is In or NotIn,
3485 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3486 the values array must be empty. This array is replaced during a strategic
3487 merge patch.
3488 items:
3489 type: string
3490 type: array
3491 x-kubernetes-list-type: atomic
3492 required:
3493 - key
3494 - operator
3495 type: object
3496 type: array
3497 x-kubernetes-list-type: atomic
3498 matchLabels:
3499 additionalProperties:
3500 type: string
3501 description: |-
3502 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3503 map is equivalent to an element of matchExpressions, whose key field is "key", the
3504 operator is "In", and the values array contains only "value". The requirements are ANDed.
3505 type: object
3506 type: object
3507 x-kubernetes-map-type: atomic
3508 matchLabelKeys:
3509 description: |-
3510 MatchLabelKeys is a set of pod label keys to select which pods will
3511 be taken into consideration. The keys are used to lookup values from the
3512 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
3513 to select the group of existing pods which pods will be taken into consideration
3514 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
3515 pod labels will be ignored. The default value is empty.
3516 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
3517 Also, matchLabelKeys cannot be set when labelSelector isn't set.
3518 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
3519 items:
3520 type: string
3521 type: array
3522 x-kubernetes-list-type: atomic
3523 mismatchLabelKeys:
3524 description: |-
3525 MismatchLabelKeys is a set of pod label keys to select which pods will
3526 be taken into consideration. The keys are used to lookup values from the
3527 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
3528 to select the group of existing pods which pods will be taken into consideration
3529 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
3530 pod labels will be ignored. The default value is empty.
3531 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
3532 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
3533 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
3534 items:
3535 type: string
3536 type: array
3537 x-kubernetes-list-type: atomic
3538 namespaceSelector:
3539 description: |-
3540 A label query over the set of namespaces that the term applies to.
3541 The term is applied to the union of the namespaces selected by this field
3542 and the ones listed in the namespaces field.
3543 null selector and null or empty namespaces list means "this pod's namespace".
3544 An empty selector ({}) matches all namespaces.
3545 properties:
3546 matchExpressions:
3547 description: matchExpressions is a list of label
3548 selector requirements. The requirements are
3549 ANDed.
3550 items:
3551 description: |-
3552 A label selector requirement is a selector that contains values, a key, and an operator that
3553 relates the key and values.
3554 properties:
3555 key:
3556 description: key is the label key that
3557 the selector applies to.
3558 type: string
3559 operator:
3560 description: |-
3561 operator represents a key's relationship to a set of values.
3562 Valid operators are In, NotIn, Exists and DoesNotExist.
3563 type: string
3564 values:
3565 description: |-
3566 values is an array of string values. If the operator is In or NotIn,
3567 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3568 the values array must be empty. This array is replaced during a strategic
3569 merge patch.
3570 items:
3571 type: string
3572 type: array
3573 x-kubernetes-list-type: atomic
3574 required:
3575 - key
3576 - operator
3577 type: object
3578 type: array
3579 x-kubernetes-list-type: atomic
3580 matchLabels:
3581 additionalProperties:
3582 type: string
3583 description: |-
3584 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3585 map is equivalent to an element of matchExpressions, whose key field is "key", the
3586 operator is "In", and the values array contains only "value". The requirements are ANDed.
3587 type: object
3588 type: object
3589 x-kubernetes-map-type: atomic
3590 namespaces:
3591 description: |-
3592 namespaces specifies a static list of namespace names that the term applies to.
3593 The term is applied to the union of the namespaces listed in this field
3594 and the ones selected by namespaceSelector.
3595 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
3596 items:
3597 type: string
3598 type: array
3599 x-kubernetes-list-type: atomic
3600 topologyKey:
3601 description: |-
3602 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
3603 the labelSelector in the specified namespaces, where co-located is defined as running on a node
3604 whose value of the label with key topologyKey matches that of any node on which any of the
3605 selected pods is running.
3606 Empty topologyKey is not allowed.
3607 type: string
3608 required:
3609 - topologyKey
3610 type: object
3611 type: array
3612 x-kubernetes-list-type: atomic
3613 type: object
3614 podAntiAffinity:
3615 description: Describes pod anti-affinity scheduling rules
3616 (e.g. avoid putting this pod in the same node, zone, etc.
3617 as some other pod(s)).
3618 properties:
3619 preferredDuringSchedulingIgnoredDuringExecution:
3620 description: |-
3621 The scheduler will prefer to schedule pods to nodes that satisfy
3622 the anti-affinity expressions specified by this field, but it may choose
3623 a node that violates one or more of the expressions. The node that is
3624 most preferred is the one with the greatest sum of weights, i.e.
3625 for each node that meets all of the scheduling requirements (resource
3626 request, requiredDuringScheduling anti-affinity expressions, etc.),
3627 compute a sum by iterating through the elements of this field and adding
3628 "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
3629 node(s) with the highest sum are the most preferred.
3630 items:
3631 description: The weights of all of the matched WeightedPodAffinityTerm
3632 fields are added per-node to find the most preferred
3633 node(s)
3634 properties:
3635 podAffinityTerm:
3636 description: Required. A pod affinity term, associated
3637 with the corresponding weight.
3638 properties:
3639 labelSelector:
3640 description: |-
3641 A label query over a set of resources, in this case pods.
3642 If it's null, this PodAffinityTerm matches with no Pods.
3643 properties:
3644 matchExpressions:
3645 description: matchExpressions is a list
3646 of label selector requirements. The requirements
3647 are ANDed.
3648 items:
3649 description: |-
3650 A label selector requirement is a selector that contains values, a key, and an operator that
3651 relates the key and values.
3652 properties:
3653 key:
3654 description: key is the label key
3655 that the selector applies to.
3656 type: string
3657 operator:
3658 description: |-
3659 operator represents a key's relationship to a set of values.
3660 Valid operators are In, NotIn, Exists and DoesNotExist.
3661 type: string
3662 values:
3663 description: |-
3664 values is an array of string values. If the operator is In or NotIn,
3665 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3666 the values array must be empty. This array is replaced during a strategic
3667 merge patch.
3668 items:
3669 type: string
3670 type: array
3671 x-kubernetes-list-type: atomic
3672 required:
3673 - key
3674 - operator
3675 type: object
3676 type: array
3677 x-kubernetes-list-type: atomic
3678 matchLabels:
3679 additionalProperties:
3680 type: string
3681 description: |-
3682 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3683 map is equivalent to an element of matchExpressions, whose key field is "key", the
3684 operator is "In", and the values array contains only "value". The requirements are ANDed.
3685 type: object
3686 type: object
3687 x-kubernetes-map-type: atomic
3688 matchLabelKeys:
3689 description: |-
3690 MatchLabelKeys is a set of pod label keys to select which pods will
3691 be taken into consideration. The keys are used to lookup values from the
3692 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
3693 to select the group of existing pods which pods will be taken into consideration
3694 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
3695 pod labels will be ignored. The default value is empty.
3696 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
3697 Also, matchLabelKeys cannot be set when labelSelector isn't set.
3698 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
3699 items:
3700 type: string
3701 type: array
3702 x-kubernetes-list-type: atomic
3703 mismatchLabelKeys:
3704 description: |-
3705 MismatchLabelKeys is a set of pod label keys to select which pods will
3706 be taken into consideration. The keys are used to lookup values from the
3707 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
3708 to select the group of existing pods which pods will be taken into consideration
3709 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
3710 pod labels will be ignored. The default value is empty.
3711 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
3712 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
3713 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
3714 items:
3715 type: string
3716 type: array
3717 x-kubernetes-list-type: atomic
3718 namespaceSelector:
3719 description: |-
3720 A label query over the set of namespaces that the term applies to.
3721 The term is applied to the union of the namespaces selected by this field
3722 and the ones listed in the namespaces field.
3723 null selector and null or empty namespaces list means "this pod's namespace".
3724 An empty selector ({}) matches all namespaces.
3725 properties:
3726 matchExpressions:
3727 description: matchExpressions is a list
3728 of label selector requirements. The requirements
3729 are ANDed.
3730 items:
3731 description: |-
3732 A label selector requirement is a selector that contains values, a key, and an operator that
3733 relates the key and values.
3734 properties:
3735 key:
3736 description: key is the label key
3737 that the selector applies to.
3738 type: string
3739 operator:
3740 description: |-
3741 operator represents a key's relationship to a set of values.
3742 Valid operators are In, NotIn, Exists and DoesNotExist.
3743 type: string
3744 values:
3745 description: |-
3746 values is an array of string values. If the operator is In or NotIn,
3747 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3748 the values array must be empty. This array is replaced during a strategic
3749 merge patch.
3750 items:
3751 type: string
3752 type: array
3753 x-kubernetes-list-type: atomic
3754 required:
3755 - key
3756 - operator
3757 type: object
3758 type: array
3759 x-kubernetes-list-type: atomic
3760 matchLabels:
3761 additionalProperties:
3762 type: string
3763 description: |-
3764 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3765 map is equivalent to an element of matchExpressions, whose key field is "key", the
3766 operator is "In", and the values array contains only "value". The requirements are ANDed.
3767 type: object
3768 type: object
3769 x-kubernetes-map-type: atomic
3770 namespaces:
3771 description: |-
3772 namespaces specifies a static list of namespace names that the term applies to.
3773 The term is applied to the union of the namespaces listed in this field
3774 and the ones selected by namespaceSelector.
3775 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
3776 items:
3777 type: string
3778 type: array
3779 x-kubernetes-list-type: atomic
3780 topologyKey:
3781 description: |-
3782 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
3783 the labelSelector in the specified namespaces, where co-located is defined as running on a node
3784 whose value of the label with key topologyKey matches that of any node on which any of the
3785 selected pods is running.
3786 Empty topologyKey is not allowed.
3787 type: string
3788 required:
3789 - topologyKey
3790 type: object
3791 weight:
3792 description: |-
3793 weight associated with matching the corresponding podAffinityTerm,
3794 in the range 1-100.
3795 format: int32
3796 type: integer
3797 required:
3798 - podAffinityTerm
3799 - weight
3800 type: object
3801 type: array
3802 x-kubernetes-list-type: atomic
3803 requiredDuringSchedulingIgnoredDuringExecution:
3804 description: |-
3805 If the anti-affinity requirements specified by this field are not met at
3806 scheduling time, the pod will not be scheduled onto the node.
3807 If the anti-affinity requirements specified by this field cease to be met
3808 at some point during pod execution (e.g. due to a pod label update), the
3809 system may or may not try to eventually evict the pod from its node.
3810 When there are multiple elements, the lists of nodes corresponding to each
3811 podAffinityTerm are intersected, i.e. all terms must be satisfied.
3812 items:
3813 description: |-
3814 Defines a set of pods (namely those matching the labelSelector
3815 relative to the given namespace(s)) that this pod should be
3816 co-located (affinity) or not co-located (anti-affinity) with,
3817 where co-located is defined as running on a node whose value of
3818 the label with key <topologyKey> matches that of any node on which
3819 a pod of the set of pods is running
3820 properties:
3821 labelSelector:
3822 description: |-
3823 A label query over a set of resources, in this case pods.
3824 If it's null, this PodAffinityTerm matches with no Pods.
3825 properties:
3826 matchExpressions:
3827 description: matchExpressions is a list of label
3828 selector requirements. The requirements are
3829 ANDed.
3830 items:
3831 description: |-
3832 A label selector requirement is a selector that contains values, a key, and an operator that
3833 relates the key and values.
3834 properties:
3835 key:
3836 description: key is the label key that
3837 the selector applies to.
3838 type: string
3839 operator:
3840 description: |-
3841 operator represents a key's relationship to a set of values.
3842 Valid operators are In, NotIn, Exists and DoesNotExist.
3843 type: string
3844 values:
3845 description: |-
3846 values is an array of string values. If the operator is In or NotIn,
3847 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3848 the values array must be empty. This array is replaced during a strategic
3849 merge patch.
3850 items:
3851 type: string
3852 type: array
3853 x-kubernetes-list-type: atomic
3854 required:
3855 - key
3856 - operator
3857 type: object
3858 type: array
3859 x-kubernetes-list-type: atomic
3860 matchLabels:
3861 additionalProperties:
3862 type: string
3863 description: |-
3864 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3865 map is equivalent to an element of matchExpressions, whose key field is "key", the
3866 operator is "In", and the values array contains only "value". The requirements are ANDed.
3867 type: object
3868 type: object
3869 x-kubernetes-map-type: atomic
3870 matchLabelKeys:
3871 description: |-
3872 MatchLabelKeys is a set of pod label keys to select which pods will
3873 be taken into consideration. The keys are used to lookup values from the
3874 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
3875 to select the group of existing pods which pods will be taken into consideration
3876 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
3877 pod labels will be ignored. The default value is empty.
3878 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
3879 Also, matchLabelKeys cannot be set when labelSelector isn't set.
3880 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
3881 items:
3882 type: string
3883 type: array
3884 x-kubernetes-list-type: atomic
3885 mismatchLabelKeys:
3886 description: |-
3887 MismatchLabelKeys is a set of pod label keys to select which pods will
3888 be taken into consideration. The keys are used to lookup values from the
3889 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
3890 to select the group of existing pods which pods will be taken into consideration
3891 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
3892 pod labels will be ignored. The default value is empty.
3893 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
3894 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
3895 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
3896 items:
3897 type: string
3898 type: array
3899 x-kubernetes-list-type: atomic
3900 namespaceSelector:
3901 description: |-
3902 A label query over the set of namespaces that the term applies to.
3903 The term is applied to the union of the namespaces selected by this field
3904 and the ones listed in the namespaces field.
3905 null selector and null or empty namespaces list means "this pod's namespace".
3906 An empty selector ({}) matches all namespaces.
3907 properties:
3908 matchExpressions:
3909 description: matchExpressions is a list of label
3910 selector requirements. The requirements are
3911 ANDed.
3912 items:
3913 description: |-
3914 A label selector requirement is a selector that contains values, a key, and an operator that
3915 relates the key and values.
3916 properties:
3917 key:
3918 description: key is the label key that
3919 the selector applies to.
3920 type: string
3921 operator:
3922 description: |-
3923 operator represents a key's relationship to a set of values.
3924 Valid operators are In, NotIn, Exists and DoesNotExist.
3925 type: string
3926 values:
3927 description: |-
3928 values is an array of string values. If the operator is In or NotIn,
3929 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3930 the values array must be empty. This array is replaced during a strategic
3931 merge patch.
3932 items:
3933 type: string
3934 type: array
3935 x-kubernetes-list-type: atomic
3936 required:
3937 - key
3938 - operator
3939 type: object
3940 type: array
3941 x-kubernetes-list-type: atomic
3942 matchLabels:
3943 additionalProperties:
3944 type: string
3945 description: |-
3946 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3947 map is equivalent to an element of matchExpressions, whose key field is "key", the
3948 operator is "In", and the values array contains only "value". The requirements are ANDed.
3949 type: object
3950 type: object
3951 x-kubernetes-map-type: atomic
3952 namespaces:
3953 description: |-
3954 namespaces specifies a static list of namespace names that the term applies to.
3955 The term is applied to the union of the namespaces listed in this field
3956 and the ones selected by namespaceSelector.
3957 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
3958 items:
3959 type: string
3960 type: array
3961 x-kubernetes-list-type: atomic
3962 topologyKey:
3963 description: |-
3964 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
3965 the labelSelector in the specified namespaces, where co-located is defined as running on a node
3966 whose value of the label with key topologyKey matches that of any node on which any of the
3967 selected pods is running.
3968 Empty topologyKey is not allowed.
3969 type: string
3970 required:
3971 - topologyKey
3972 type: object
3973 type: array
3974 x-kubernetes-list-type: atomic
3975 type: object
3976 type: object
3977 apiServerReplicas:
3978 description: ApiserverReplicas set Replicas for cdi-apiserver
3979 format: int32
3980 type: integer
3981 deploymentReplicas:
3982 description: DeploymentReplicas set Replicas for cdi-deployment
3983 format: int32
3984 type: integer
3985 nodeSelector:
3986 additionalProperties:
3987 type: string
3988 description: |-
3989 nodeSelector is the node selector applied to the relevant kind of pods
3990 It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
3991 the node must have each of the indicated key-value pairs as labels
3992 (it can have additional labels as well).
3993 See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
3994 type: object
3995 tolerations:
3996 description: |-
3997 tolerations is a list of tolerations applied to the relevant kind of pods
3998 See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
3999 These are additional tolerations other than default ones.
4000 items:
4001 description: |-
4002 The pod this Toleration is attached to tolerates any taint that matches
4003 the triple <key,value,effect> using the matching operator <operator>.
4004 properties:
4005 effect:
4006 description: |-
4007 Effect indicates the taint effect to match. Empty means match all taint effects.
4008 When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
4009 type: string
4010 key:
4011 description: |-
4012 Key is the taint key that the toleration applies to. Empty means match all taint keys.
4013 If the key is empty, operator must be Exists; this combination means to match all values and all keys.
4014 type: string
4015 operator:
4016 description: |-
4017 Operator represents a key's relationship to the value.
4018 Valid operators are Exists and Equal. Defaults to Equal.
4019 Exists is equivalent to wildcard for value, so that a pod can
4020 tolerate all taints of a particular category.
4021 type: string
4022 tolerationSeconds:
4023 description: |-
4024 TolerationSeconds represents the period of time the toleration (which must be
4025 of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
4026 it is not set, which means tolerate the taint forever (do not evict). Zero and
4027 negative values will be treated as 0 (evict immediately) by the system.
4028 format: int64
4029 type: integer
4030 value:
4031 description: |-
4032 Value is the taint value the toleration matches to.
4033 If the operator is Exists, the value should be empty, otherwise just a regular string.
4034 type: string
4035 type: object
4036 type: array
4037 uploadProxyReplicas:
4038 description: UploadproxyReplicas set Replicas for cdi-uploadproxy
4039 format: int32
4040 type: integer
4041 type: object
4042 priorityClass:
4043 description: PriorityClass of the CDI control plane
4044 type: string
4045 uninstallStrategy:
4046 description: CDIUninstallStrategy defines the state to leave CDI on
4047 uninstall
4048 enum:
4049 - RemoveWorkloads
4050 - BlockUninstallIfWorkloadsExist
4051 type: string
4052 workload:
4053 description: Restrict on which nodes CDI workload pods will be scheduled
4054 properties:
4055 affinity:
4056 description: |-
4057 affinity enables pod affinity/anti-affinity placement expanding the types of constraints
4058 that can be expressed with nodeSelector.
4059 affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
4060 See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
4061 properties:
4062 nodeAffinity:
4063 description: Describes node affinity scheduling rules for
4064 the pod.
4065 properties:
4066 preferredDuringSchedulingIgnoredDuringExecution:
4067 description: |-
4068 The scheduler will prefer to schedule pods to nodes that satisfy
4069 the affinity expressions specified by this field, but it may choose
4070 a node that violates one or more of the expressions. The node that is
4071 most preferred is the one with the greatest sum of weights, i.e.
4072 for each node that meets all of the scheduling requirements (resource
4073 request, requiredDuringScheduling affinity expressions, etc.),
4074 compute a sum by iterating through the elements of this field and adding
4075 "weight" to the sum if the node matches the corresponding matchExpressions; the
4076 node(s) with the highest sum are the most preferred.
4077 items:
4078 description: |-
4079 An empty preferred scheduling term matches all objects with implicit weight 0
4080 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
4081 properties:
4082 preference:
4083 description: A node selector term, associated with
4084 the corresponding weight.
4085 properties:
4086 matchExpressions:
4087 description: A list of node selector requirements
4088 by node's labels.
4089 items:
4090 description: |-
4091 A node selector requirement is a selector that contains values, a key, and an operator
4092 that relates the key and values.
4093 properties:
4094 key:
4095 description: The label key that the selector
4096 applies to.
4097 type: string
4098 operator:
4099 description: |-
4100 Represents a key's relationship to a set of values.
4101 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4102 type: string
4103 values:
4104 description: |-
4105 An array of string values. If the operator is In or NotIn,
4106 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4107 the values array must be empty. If the operator is Gt or Lt, the values
4108 array must have a single element, which will be interpreted as an integer.
4109 This array is replaced during a strategic merge patch.
4110 items:
4111 type: string
4112 type: array
4113 x-kubernetes-list-type: atomic
4114 required:
4115 - key
4116 - operator
4117 type: object
4118 type: array
4119 x-kubernetes-list-type: atomic
4120 matchFields:
4121 description: A list of node selector requirements
4122 by node's fields.
4123 items:
4124 description: |-
4125 A node selector requirement is a selector that contains values, a key, and an operator
4126 that relates the key and values.
4127 properties:
4128 key:
4129 description: The label key that the selector
4130 applies to.
4131 type: string
4132 operator:
4133 description: |-
4134 Represents a key's relationship to a set of values.
4135 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4136 type: string
4137 values:
4138 description: |-
4139 An array of string values. If the operator is In or NotIn,
4140 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4141 the values array must be empty. If the operator is Gt or Lt, the values
4142 array must have a single element, which will be interpreted as an integer.
4143 This array is replaced during a strategic merge patch.
4144 items:
4145 type: string
4146 type: array
4147 x-kubernetes-list-type: atomic
4148 required:
4149 - key
4150 - operator
4151 type: object
4152 type: array
4153 x-kubernetes-list-type: atomic
4154 type: object
4155 x-kubernetes-map-type: atomic
4156 weight:
4157 description: Weight associated with matching the
4158 corresponding nodeSelectorTerm, in the range 1-100.
4159 format: int32
4160 type: integer
4161 required:
4162 - preference
4163 - weight
4164 type: object
4165 type: array
4166 x-kubernetes-list-type: atomic
4167 requiredDuringSchedulingIgnoredDuringExecution:
4168 description: |-
4169 If the affinity requirements specified by this field are not met at
4170 scheduling time, the pod will not be scheduled onto the node.
4171 If the affinity requirements specified by this field cease to be met
4172 at some point during pod execution (e.g. due to an update), the system
4173 may or may not try to eventually evict the pod from its node.
4174 properties:
4175 nodeSelectorTerms:
4176 description: Required. A list of node selector terms.
4177 The terms are ORed.
4178 items:
4179 description: |-
4180 A null or empty node selector term matches no objects. The requirements of
4181 them are ANDed.
4182 The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
4183 properties:
4184 matchExpressions:
4185 description: A list of node selector requirements
4186 by node's labels.
4187 items:
4188 description: |-
4189 A node selector requirement is a selector that contains values, a key, and an operator
4190 that relates the key and values.
4191 properties:
4192 key:
4193 description: The label key that the selector
4194 applies to.
4195 type: string
4196 operator:
4197 description: |-
4198 Represents a key's relationship to a set of values.
4199 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4200 type: string
4201 values:
4202 description: |-
4203 An array of string values. If the operator is In or NotIn,
4204 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4205 the values array must be empty. If the operator is Gt or Lt, the values
4206 array must have a single element, which will be interpreted as an integer.
4207 This array is replaced during a strategic merge patch.
4208 items:
4209 type: string
4210 type: array
4211 x-kubernetes-list-type: atomic
4212 required:
4213 - key
4214 - operator
4215 type: object
4216 type: array
4217 x-kubernetes-list-type: atomic
4218 matchFields:
4219 description: A list of node selector requirements
4220 by node's fields.
4221 items:
4222 description: |-
4223 A node selector requirement is a selector that contains values, a key, and an operator
4224 that relates the key and values.
4225 properties:
4226 key:
4227 description: The label key that the selector
4228 applies to.
4229 type: string
4230 operator:
4231 description: |-
4232 Represents a key's relationship to a set of values.
4233 Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4234 type: string
4235 values:
4236 description: |-
4237 An array of string values. If the operator is In or NotIn,
4238 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4239 the values array must be empty. If the operator is Gt or Lt, the values
4240 array must have a single element, which will be interpreted as an integer.
4241 This array is replaced during a strategic merge patch.
4242 items:
4243 type: string
4244 type: array
4245 x-kubernetes-list-type: atomic
4246 required:
4247 - key
4248 - operator
4249 type: object
4250 type: array
4251 x-kubernetes-list-type: atomic
4252 type: object
4253 x-kubernetes-map-type: atomic
4254 type: array
4255 x-kubernetes-list-type: atomic
4256 required:
4257 - nodeSelectorTerms
4258 type: object
4259 x-kubernetes-map-type: atomic
4260 type: object
4261 podAffinity:
4262 description: Describes pod affinity scheduling rules (e.g.
4263 co-locate this pod in the same node, zone, etc. as some
4264 other pod(s)).
4265 properties:
4266 preferredDuringSchedulingIgnoredDuringExecution:
4267 description: |-
4268 The scheduler will prefer to schedule pods to nodes that satisfy
4269 the affinity expressions specified by this field, but it may choose
4270 a node that violates one or more of the expressions. The node that is
4271 most preferred is the one with the greatest sum of weights, i.e.
4272 for each node that meets all of the scheduling requirements (resource
4273 request, requiredDuringScheduling affinity expressions, etc.),
4274 compute a sum by iterating through the elements of this field and adding
4275 "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
4276 node(s) with the highest sum are the most preferred.
4277 items:
4278 description: The weights of all of the matched WeightedPodAffinityTerm
4279 fields are added per-node to find the most preferred
4280 node(s)
4281 properties:
4282 podAffinityTerm:
4283 description: Required. A pod affinity term, associated
4284 with the corresponding weight.
4285 properties:
4286 labelSelector:
4287 description: |-
4288 A label query over a set of resources, in this case pods.
4289 If it's null, this PodAffinityTerm matches with no Pods.
4290 properties:
4291 matchExpressions:
4292 description: matchExpressions is a list
4293 of label selector requirements. The requirements
4294 are ANDed.
4295 items:
4296 description: |-
4297 A label selector requirement is a selector that contains values, a key, and an operator that
4298 relates the key and values.
4299 properties:
4300 key:
4301 description: key is the label key
4302 that the selector applies to.
4303 type: string
4304 operator:
4305 description: |-
4306 operator represents a key's relationship to a set of values.
4307 Valid operators are In, NotIn, Exists and DoesNotExist.
4308 type: string
4309 values:
4310 description: |-
4311 values is an array of string values. If the operator is In or NotIn,
4312 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4313 the values array must be empty. This array is replaced during a strategic
4314 merge patch.
4315 items:
4316 type: string
4317 type: array
4318 x-kubernetes-list-type: atomic
4319 required:
4320 - key
4321 - operator
4322 type: object
4323 type: array
4324 x-kubernetes-list-type: atomic
4325 matchLabels:
4326 additionalProperties:
4327 type: string
4328 description: |-
4329 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4330 map is equivalent to an element of matchExpressions, whose key field is "key", the
4331 operator is "In", and the values array contains only "value". The requirements are ANDed.
4332 type: object
4333 type: object
4334 x-kubernetes-map-type: atomic
4335 matchLabelKeys:
4336 description: |-
4337 MatchLabelKeys is a set of pod label keys to select which pods will
4338 be taken into consideration. The keys are used to lookup values from the
4339 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
4340 to select the group of existing pods which pods will be taken into consideration
4341 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4342 pod labels will be ignored. The default value is empty.
4343 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
4344 Also, matchLabelKeys cannot be set when labelSelector isn't set.
4345 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
4346 items:
4347 type: string
4348 type: array
4349 x-kubernetes-list-type: atomic
4350 mismatchLabelKeys:
4351 description: |-
4352 MismatchLabelKeys is a set of pod label keys to select which pods will
4353 be taken into consideration. The keys are used to lookup values from the
4354 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
4355 to select the group of existing pods which pods will be taken into consideration
4356 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4357 pod labels will be ignored. The default value is empty.
4358 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
4359 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
4360 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
4361 items:
4362 type: string
4363 type: array
4364 x-kubernetes-list-type: atomic
4365 namespaceSelector:
4366 description: |-
4367 A label query over the set of namespaces that the term applies to.
4368 The term is applied to the union of the namespaces selected by this field
4369 and the ones listed in the namespaces field.
4370 null selector and null or empty namespaces list means "this pod's namespace".
4371 An empty selector ({}) matches all namespaces.
4372 properties:
4373 matchExpressions:
4374 description: matchExpressions is a list
4375 of label selector requirements. The requirements
4376 are ANDed.
4377 items:
4378 description: |-
4379 A label selector requirement is a selector that contains values, a key, and an operator that
4380 relates the key and values.
4381 properties:
4382 key:
4383 description: key is the label key
4384 that the selector applies to.
4385 type: string
4386 operator:
4387 description: |-
4388 operator represents a key's relationship to a set of values.
4389 Valid operators are In, NotIn, Exists and DoesNotExist.
4390 type: string
4391 values:
4392 description: |-
4393 values is an array of string values. If the operator is In or NotIn,
4394 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4395 the values array must be empty. This array is replaced during a strategic
4396 merge patch.
4397 items:
4398 type: string
4399 type: array
4400 x-kubernetes-list-type: atomic
4401 required:
4402 - key
4403 - operator
4404 type: object
4405 type: array
4406 x-kubernetes-list-type: atomic
4407 matchLabels:
4408 additionalProperties:
4409 type: string
4410 description: |-
4411 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4412 map is equivalent to an element of matchExpressions, whose key field is "key", the
4413 operator is "In", and the values array contains only "value". The requirements are ANDed.
4414 type: object
4415 type: object
4416 x-kubernetes-map-type: atomic
4417 namespaces:
4418 description: |-
4419 namespaces specifies a static list of namespace names that the term applies to.
4420 The term is applied to the union of the namespaces listed in this field
4421 and the ones selected by namespaceSelector.
4422 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
4423 items:
4424 type: string
4425 type: array
4426 x-kubernetes-list-type: atomic
4427 topologyKey:
4428 description: |-
4429 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
4430 the labelSelector in the specified namespaces, where co-located is defined as running on a node
4431 whose value of the label with key topologyKey matches that of any node on which any of the
4432 selected pods is running.
4433 Empty topologyKey is not allowed.
4434 type: string
4435 required:
4436 - topologyKey
4437 type: object
4438 weight:
4439 description: |-
4440 weight associated with matching the corresponding podAffinityTerm,
4441 in the range 1-100.
4442 format: int32
4443 type: integer
4444 required:
4445 - podAffinityTerm
4446 - weight
4447 type: object
4448 type: array
4449 x-kubernetes-list-type: atomic
4450 requiredDuringSchedulingIgnoredDuringExecution:
4451 description: |-
4452 If the affinity requirements specified by this field are not met at
4453 scheduling time, the pod will not be scheduled onto the node.
4454 If the affinity requirements specified by this field cease to be met
4455 at some point during pod execution (e.g. due to a pod label update), the
4456 system may or may not try to eventually evict the pod from its node.
4457 When there are multiple elements, the lists of nodes corresponding to each
4458 podAffinityTerm are intersected, i.e. all terms must be satisfied.
4459 items:
4460 description: |-
4461 Defines a set of pods (namely those matching the labelSelector
4462 relative to the given namespace(s)) that this pod should be
4463 co-located (affinity) or not co-located (anti-affinity) with,
4464 where co-located is defined as running on a node whose value of
4465 the label with key <topologyKey> matches that of any node on which
4466 a pod of the set of pods is running
4467 properties:
4468 labelSelector:
4469 description: |-
4470 A label query over a set of resources, in this case pods.
4471 If it's null, this PodAffinityTerm matches with no Pods.
4472 properties:
4473 matchExpressions:
4474 description: matchExpressions is a list of label
4475 selector requirements. The requirements are
4476 ANDed.
4477 items:
4478 description: |-
4479 A label selector requirement is a selector that contains values, a key, and an operator that
4480 relates the key and values.
4481 properties:
4482 key:
4483 description: key is the label key that
4484 the selector applies to.
4485 type: string
4486 operator:
4487 description: |-
4488 operator represents a key's relationship to a set of values.
4489 Valid operators are In, NotIn, Exists and DoesNotExist.
4490 type: string
4491 values:
4492 description: |-
4493 values is an array of string values. If the operator is In or NotIn,
4494 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4495 the values array must be empty. This array is replaced during a strategic
4496 merge patch.
4497 items:
4498 type: string
4499 type: array
4500 x-kubernetes-list-type: atomic
4501 required:
4502 - key
4503 - operator
4504 type: object
4505 type: array
4506 x-kubernetes-list-type: atomic
4507 matchLabels:
4508 additionalProperties:
4509 type: string
4510 description: |-
4511 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4512 map is equivalent to an element of matchExpressions, whose key field is "key", the
4513 operator is "In", and the values array contains only "value". The requirements are ANDed.
4514 type: object
4515 type: object
4516 x-kubernetes-map-type: atomic
4517 matchLabelKeys:
4518 description: |-
4519 MatchLabelKeys is a set of pod label keys to select which pods will
4520 be taken into consideration. The keys are used to lookup values from the
4521 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
4522 to select the group of existing pods which pods will be taken into consideration
4523 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4524 pod labels will be ignored. The default value is empty.
4525 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
4526 Also, matchLabelKeys cannot be set when labelSelector isn't set.
4527 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
4528 items:
4529 type: string
4530 type: array
4531 x-kubernetes-list-type: atomic
4532 mismatchLabelKeys:
4533 description: |-
4534 MismatchLabelKeys is a set of pod label keys to select which pods will
4535 be taken into consideration. The keys are used to lookup values from the
4536 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
4537 to select the group of existing pods which pods will be taken into consideration
4538 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4539 pod labels will be ignored. The default value is empty.
4540 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
4541 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
4542 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
4543 items:
4544 type: string
4545 type: array
4546 x-kubernetes-list-type: atomic
4547 namespaceSelector:
4548 description: |-
4549 A label query over the set of namespaces that the term applies to.
4550 The term is applied to the union of the namespaces selected by this field
4551 and the ones listed in the namespaces field.
4552 null selector and null or empty namespaces list means "this pod's namespace".
4553 An empty selector ({}) matches all namespaces.
4554 properties:
4555 matchExpressions:
4556 description: matchExpressions is a list of label
4557 selector requirements. The requirements are
4558 ANDed.
4559 items:
4560 description: |-
4561 A label selector requirement is a selector that contains values, a key, and an operator that
4562 relates the key and values.
4563 properties:
4564 key:
4565 description: key is the label key that
4566 the selector applies to.
4567 type: string
4568 operator:
4569 description: |-
4570 operator represents a key's relationship to a set of values.
4571 Valid operators are In, NotIn, Exists and DoesNotExist.
4572 type: string
4573 values:
4574 description: |-
4575 values is an array of string values. If the operator is In or NotIn,
4576 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4577 the values array must be empty. This array is replaced during a strategic
4578 merge patch.
4579 items:
4580 type: string
4581 type: array
4582 x-kubernetes-list-type: atomic
4583 required:
4584 - key
4585 - operator
4586 type: object
4587 type: array
4588 x-kubernetes-list-type: atomic
4589 matchLabels:
4590 additionalProperties:
4591 type: string
4592 description: |-
4593 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4594 map is equivalent to an element of matchExpressions, whose key field is "key", the
4595 operator is "In", and the values array contains only "value". The requirements are ANDed.
4596 type: object
4597 type: object
4598 x-kubernetes-map-type: atomic
4599 namespaces:
4600 description: |-
4601 namespaces specifies a static list of namespace names that the term applies to.
4602 The term is applied to the union of the namespaces listed in this field
4603 and the ones selected by namespaceSelector.
4604 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
4605 items:
4606 type: string
4607 type: array
4608 x-kubernetes-list-type: atomic
4609 topologyKey:
4610 description: |-
4611 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
4612 the labelSelector in the specified namespaces, where co-located is defined as running on a node
4613 whose value of the label with key topologyKey matches that of any node on which any of the
4614 selected pods is running.
4615 Empty topologyKey is not allowed.
4616 type: string
4617 required:
4618 - topologyKey
4619 type: object
4620 type: array
4621 x-kubernetes-list-type: atomic
4622 type: object
4623 podAntiAffinity:
4624 description: Describes pod anti-affinity scheduling rules
4625 (e.g. avoid putting this pod in the same node, zone, etc.
4626 as some other pod(s)).
4627 properties:
4628 preferredDuringSchedulingIgnoredDuringExecution:
4629 description: |-
4630 The scheduler will prefer to schedule pods to nodes that satisfy
4631 the anti-affinity expressions specified by this field, but it may choose
4632 a node that violates one or more of the expressions. The node that is
4633 most preferred is the one with the greatest sum of weights, i.e.
4634 for each node that meets all of the scheduling requirements (resource
4635 request, requiredDuringScheduling anti-affinity expressions, etc.),
4636 compute a sum by iterating through the elements of this field and adding
4637 "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
4638 node(s) with the highest sum are the most preferred.
4639 items:
4640 description: The weights of all of the matched WeightedPodAffinityTerm
4641 fields are added per-node to find the most preferred
4642 node(s)
4643 properties:
4644 podAffinityTerm:
4645 description: Required. A pod affinity term, associated
4646 with the corresponding weight.
4647 properties:
4648 labelSelector:
4649 description: |-
4650 A label query over a set of resources, in this case pods.
4651 If it's null, this PodAffinityTerm matches with no Pods.
4652 properties:
4653 matchExpressions:
4654 description: matchExpressions is a list
4655 of label selector requirements. The requirements
4656 are ANDed.
4657 items:
4658 description: |-
4659 A label selector requirement is a selector that contains values, a key, and an operator that
4660 relates the key and values.
4661 properties:
4662 key:
4663 description: key is the label key
4664 that the selector applies to.
4665 type: string
4666 operator:
4667 description: |-
4668 operator represents a key's relationship to a set of values.
4669 Valid operators are In, NotIn, Exists and DoesNotExist.
4670 type: string
4671 values:
4672 description: |-
4673 values is an array of string values. If the operator is In or NotIn,
4674 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4675 the values array must be empty. This array is replaced during a strategic
4676 merge patch.
4677 items:
4678 type: string
4679 type: array
4680 x-kubernetes-list-type: atomic
4681 required:
4682 - key
4683 - operator
4684 type: object
4685 type: array
4686 x-kubernetes-list-type: atomic
4687 matchLabels:
4688 additionalProperties:
4689 type: string
4690 description: |-
4691 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4692 map is equivalent to an element of matchExpressions, whose key field is "key", the
4693 operator is "In", and the values array contains only "value". The requirements are ANDed.
4694 type: object
4695 type: object
4696 x-kubernetes-map-type: atomic
4697 matchLabelKeys:
4698 description: |-
4699 MatchLabelKeys is a set of pod label keys to select which pods will
4700 be taken into consideration. The keys are used to lookup values from the
4701 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
4702 to select the group of existing pods which pods will be taken into consideration
4703 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4704 pod labels will be ignored. The default value is empty.
4705 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
4706 Also, matchLabelKeys cannot be set when labelSelector isn't set.
4707 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
4708 items:
4709 type: string
4710 type: array
4711 x-kubernetes-list-type: atomic
4712 mismatchLabelKeys:
4713 description: |-
4714 MismatchLabelKeys is a set of pod label keys to select which pods will
4715 be taken into consideration. The keys are used to lookup values from the
4716 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
4717 to select the group of existing pods which pods will be taken into consideration
4718 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4719 pod labels will be ignored. The default value is empty.
4720 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
4721 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
4722 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
4723 items:
4724 type: string
4725 type: array
4726 x-kubernetes-list-type: atomic
4727 namespaceSelector:
4728 description: |-
4729 A label query over the set of namespaces that the term applies to.
4730 The term is applied to the union of the namespaces selected by this field
4731 and the ones listed in the namespaces field.
4732 null selector and null or empty namespaces list means "this pod's namespace".
4733 An empty selector ({}) matches all namespaces.
4734 properties:
4735 matchExpressions:
4736 description: matchExpressions is a list
4737 of label selector requirements. The requirements
4738 are ANDed.
4739 items:
4740 description: |-
4741 A label selector requirement is a selector that contains values, a key, and an operator that
4742 relates the key and values.
4743 properties:
4744 key:
4745 description: key is the label key
4746 that the selector applies to.
4747 type: string
4748 operator:
4749 description: |-
4750 operator represents a key's relationship to a set of values.
4751 Valid operators are In, NotIn, Exists and DoesNotExist.
4752 type: string
4753 values:
4754 description: |-
4755 values is an array of string values. If the operator is In or NotIn,
4756 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4757 the values array must be empty. This array is replaced during a strategic
4758 merge patch.
4759 items:
4760 type: string
4761 type: array
4762 x-kubernetes-list-type: atomic
4763 required:
4764 - key
4765 - operator
4766 type: object
4767 type: array
4768 x-kubernetes-list-type: atomic
4769 matchLabels:
4770 additionalProperties:
4771 type: string
4772 description: |-
4773 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4774 map is equivalent to an element of matchExpressions, whose key field is "key", the
4775 operator is "In", and the values array contains only "value". The requirements are ANDed.
4776 type: object
4777 type: object
4778 x-kubernetes-map-type: atomic
4779 namespaces:
4780 description: |-
4781 namespaces specifies a static list of namespace names that the term applies to.
4782 The term is applied to the union of the namespaces listed in this field
4783 and the ones selected by namespaceSelector.
4784 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
4785 items:
4786 type: string
4787 type: array
4788 x-kubernetes-list-type: atomic
4789 topologyKey:
4790 description: |-
4791 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
4792 the labelSelector in the specified namespaces, where co-located is defined as running on a node
4793 whose value of the label with key topologyKey matches that of any node on which any of the
4794 selected pods is running.
4795 Empty topologyKey is not allowed.
4796 type: string
4797 required:
4798 - topologyKey
4799 type: object
4800 weight:
4801 description: |-
4802 weight associated with matching the corresponding podAffinityTerm,
4803 in the range 1-100.
4804 format: int32
4805 type: integer
4806 required:
4807 - podAffinityTerm
4808 - weight
4809 type: object
4810 type: array
4811 x-kubernetes-list-type: atomic
4812 requiredDuringSchedulingIgnoredDuringExecution:
4813 description: |-
4814 If the anti-affinity requirements specified by this field are not met at
4815 scheduling time, the pod will not be scheduled onto the node.
4816 If the anti-affinity requirements specified by this field cease to be met
4817 at some point during pod execution (e.g. due to a pod label update), the
4818 system may or may not try to eventually evict the pod from its node.
4819 When there are multiple elements, the lists of nodes corresponding to each
4820 podAffinityTerm are intersected, i.e. all terms must be satisfied.
4821 items:
4822 description: |-
4823 Defines a set of pods (namely those matching the labelSelector
4824 relative to the given namespace(s)) that this pod should be
4825 co-located (affinity) or not co-located (anti-affinity) with,
4826 where co-located is defined as running on a node whose value of
4827 the label with key <topologyKey> matches that of any node on which
4828 a pod of the set of pods is running
4829 properties:
4830 labelSelector:
4831 description: |-
4832 A label query over a set of resources, in this case pods.
4833 If it's null, this PodAffinityTerm matches with no Pods.
4834 properties:
4835 matchExpressions:
4836 description: matchExpressions is a list of label
4837 selector requirements. The requirements are
4838 ANDed.
4839 items:
4840 description: |-
4841 A label selector requirement is a selector that contains values, a key, and an operator that
4842 relates the key and values.
4843 properties:
4844 key:
4845 description: key is the label key that
4846 the selector applies to.
4847 type: string
4848 operator:
4849 description: |-
4850 operator represents a key's relationship to a set of values.
4851 Valid operators are In, NotIn, Exists and DoesNotExist.
4852 type: string
4853 values:
4854 description: |-
4855 values is an array of string values. If the operator is In or NotIn,
4856 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4857 the values array must be empty. This array is replaced during a strategic
4858 merge patch.
4859 items:
4860 type: string
4861 type: array
4862 x-kubernetes-list-type: atomic
4863 required:
4864 - key
4865 - operator
4866 type: object
4867 type: array
4868 x-kubernetes-list-type: atomic
4869 matchLabels:
4870 additionalProperties:
4871 type: string
4872 description: |-
4873 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4874 map is equivalent to an element of matchExpressions, whose key field is "key", the
4875 operator is "In", and the values array contains only "value". The requirements are ANDed.
4876 type: object
4877 type: object
4878 x-kubernetes-map-type: atomic
4879 matchLabelKeys:
4880 description: |-
4881 MatchLabelKeys is a set of pod label keys to select which pods will
4882 be taken into consideration. The keys are used to lookup values from the
4883 incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
4884 to select the group of existing pods which pods will be taken into consideration
4885 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4886 pod labels will be ignored. The default value is empty.
4887 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
4888 Also, matchLabelKeys cannot be set when labelSelector isn't set.
4889 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
4890 items:
4891 type: string
4892 type: array
4893 x-kubernetes-list-type: atomic
4894 mismatchLabelKeys:
4895 description: |-
4896 MismatchLabelKeys is a set of pod label keys to select which pods will
4897 be taken into consideration. The keys are used to lookup values from the
4898 incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
4899 to select the group of existing pods which pods will be taken into consideration
4900 for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4901 pod labels will be ignored. The default value is empty.
4902 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
4903 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
4904 This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
4905 items:
4906 type: string
4907 type: array
4908 x-kubernetes-list-type: atomic
4909 namespaceSelector:
4910 description: |-
4911 A label query over the set of namespaces that the term applies to.
4912 The term is applied to the union of the namespaces selected by this field
4913 and the ones listed in the namespaces field.
4914 null selector and null or empty namespaces list means "this pod's namespace".
4915 An empty selector ({}) matches all namespaces.
4916 properties:
4917 matchExpressions:
4918 description: matchExpressions is a list of label
4919 selector requirements. The requirements are
4920 ANDed.
4921 items:
4922 description: |-
4923 A label selector requirement is a selector that contains values, a key, and an operator that
4924 relates the key and values.
4925 properties:
4926 key:
4927 description: key is the label key that
4928 the selector applies to.
4929 type: string
4930 operator:
4931 description: |-
4932 operator represents a key's relationship to a set of values.
4933 Valid operators are In, NotIn, Exists and DoesNotExist.
4934 type: string
4935 values:
4936 description: |-
4937 values is an array of string values. If the operator is In or NotIn,
4938 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4939 the values array must be empty. This array is replaced during a strategic
4940 merge patch.
4941 items:
4942 type: string
4943 type: array
4944 x-kubernetes-list-type: atomic
4945 required:
4946 - key
4947 - operator
4948 type: object
4949 type: array
4950 x-kubernetes-list-type: atomic
4951 matchLabels:
4952 additionalProperties:
4953 type: string
4954 description: |-
4955 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4956 map is equivalent to an element of matchExpressions, whose key field is "key", the
4957 operator is "In", and the values array contains only "value". The requirements are ANDed.
4958 type: object
4959 type: object
4960 x-kubernetes-map-type: atomic
4961 namespaces:
4962 description: |-
4963 namespaces specifies a static list of namespace names that the term applies to.
4964 The term is applied to the union of the namespaces listed in this field
4965 and the ones selected by namespaceSelector.
4966 null or empty namespaces list and null namespaceSelector means "this pod's namespace".
4967 items:
4968 type: string
4969 type: array
4970 x-kubernetes-list-type: atomic
4971 topologyKey:
4972 description: |-
4973 This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
4974 the labelSelector in the specified namespaces, where co-located is defined as running on a node
4975 whose value of the label with key topologyKey matches that of any node on which any of the
4976 selected pods is running.
4977 Empty topologyKey is not allowed.
4978 type: string
4979 required:
4980 - topologyKey
4981 type: object
4982 type: array
4983 x-kubernetes-list-type: atomic
4984 type: object
4985 type: object
4986 nodeSelector:
4987 additionalProperties:
4988 type: string
4989 description: |-
4990 nodeSelector is the node selector applied to the relevant kind of pods
4991 It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
4992 the node must have each of the indicated key-value pairs as labels
4993 (it can have additional labels as well).
4994 See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
4995 type: object
4996 tolerations:
4997 description: |-
4998 tolerations is a list of tolerations applied to the relevant kind of pods
4999 See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
5000 These are additional tolerations other than default ones.
5001 items:
5002 description: |-
5003 The pod this Toleration is attached to tolerates any taint that matches
5004 the triple <key,value,effect> using the matching operator <operator>.
5005 properties:
5006 effect:
5007 description: |-
5008 Effect indicates the taint effect to match. Empty means match all taint effects.
5009 When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
5010 type: string
5011 key:
5012 description: |-
5013 Key is the taint key that the toleration applies to. Empty means match all taint keys.
5014 If the key is empty, operator must be Exists; this combination means to match all values and all keys.
5015 type: string
5016 operator:
5017 description: |-
5018 Operator represents a key's relationship to the value.
5019 Valid operators are Exists and Equal. Defaults to Equal.
5020 Exists is equivalent to wildcard for value, so that a pod can
5021 tolerate all taints of a particular category.
5022 type: string
5023 tolerationSeconds:
5024 description: |-
5025 TolerationSeconds represents the period of time the toleration (which must be
5026 of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
5027 it is not set, which means tolerate the taint forever (do not evict). Zero and
5028 negative values will be treated as 0 (evict immediately) by the system.
5029 format: int64
5030 type: integer
5031 value:
5032 description: |-
5033 Value is the taint value the toleration matches to.
5034 If the operator is Exists, the value should be empty, otherwise just a regular string.
5035 type: string
5036 type: object
5037 type: array
5038 type: object
5039 type: object
5040 status:
5041 description: CDIStatus defines the status of the installation
5042 properties:
5043 conditions:
5044 description: A list of current conditions of the resource
5045 items:
5046 description: |-
5047 Condition represents the state of the operator's
5048 reconciliation functionality.
5049 properties:
5050 lastHeartbeatTime:
5051 format: date-time
5052 type: string
5053 lastTransitionTime:
5054 format: date-time
5055 type: string
5056 message:
5057 type: string
5058 reason:
5059 type: string
5060 status:
5061 type: string
5062 type:
5063 description: ConditionType is the state of the operator's reconciliation
5064 functionality.
5065 type: string
5066 required:
5067 - status
5068 - type
5069 type: object
5070 type: array
5071 observedVersion:
5072 description: The observed version of the resource
5073 type: string
5074 operatorVersion:
5075 description: The version of the resource as defined by the operator
5076 type: string
5077 phase:
5078 description: Phase is the current phase of the deployment
5079 type: string
5080 targetVersion:
5081 description: The desired version of the resource
5082 type: string
5083 type: object
5084 required:
5085 - spec
5086 type: object
5087 served: true
5088 storage: true
5089 subresources: {}
5090---
5091apiVersion: rbac.authorization.k8s.io/v1
5092kind: ClusterRole
5093metadata:
5094 labels:
5095 operator.cdi.kubevirt.io: ""
5096 name: cdi-operator-cluster
5097rules:
5098- apiGroups:
5099 - rbac.authorization.k8s.io
5100 resources:
5101 - clusterrolebindings
5102 - clusterroles
5103 verbs:
5104 - get
5105 - list
5106 - watch
5107 - create
5108 - update
5109 - delete
5110- apiGroups:
5111 - security.openshift.io
5112 resources:
5113 - securitycontextconstraints
5114 verbs:
5115 - get
5116 - list
5117 - watch
5118 - update
5119 - create
5120- apiGroups:
5121 - apiextensions.k8s.io
5122 resources:
5123 - customresourcedefinitions
5124 - customresourcedefinitions/status
5125 verbs:
5126 - get
5127 - list
5128 - watch
5129 - create
5130 - update
5131 - delete
5132- apiGroups:
5133 - cdi.kubevirt.io
5134 - upload.cdi.kubevirt.io
5135 resources:
5136 - '*'
5137 verbs:
5138 - '*'
5139- apiGroups:
5140 - admissionregistration.k8s.io
5141 resources:
5142 - validatingwebhookconfigurations
5143 - mutatingwebhookconfigurations
5144 verbs:
5145 - create
5146 - list
5147 - watch
5148- apiGroups:
5149 - admissionregistration.k8s.io
5150 resourceNames:
5151 - cdi-api-dataimportcron-validate
5152 - cdi-api-populator-validate
5153 - cdi-api-datavolume-validate
5154 - cdi-api-validate
5155 - objecttransfer-api-validate
5156 resources:
5157 - validatingwebhookconfigurations
5158 verbs:
5159 - get
5160 - update
5161 - delete
5162- apiGroups:
5163 - admissionregistration.k8s.io
5164 resourceNames:
5165 - cdi-api-datavolume-mutate
5166 - cdi-api-pvc-mutate
5167 resources:
5168 - mutatingwebhookconfigurations
5169 verbs:
5170 - get
5171 - update
5172 - delete
5173- apiGroups:
5174 - apiregistration.k8s.io
5175 resources:
5176 - apiservices
5177 verbs:
5178 - get
5179 - list
5180 - watch
5181 - create
5182 - update
5183 - delete
5184- apiGroups:
5185 - authorization.k8s.io
5186 resources:
5187 - subjectaccessreviews
5188 verbs:
5189 - create
5190- apiGroups:
5191 - ""
5192 resources:
5193 - configmaps
5194 verbs:
5195 - get
5196 - list
5197 - watch
5198- apiGroups:
5199 - ""
5200 resources:
5201 - persistentvolumeclaims
5202 verbs:
5203 - get
5204 - list
5205 - watch
5206- apiGroups:
5207 - ""
5208 resources:
5209 - persistentvolumes
5210 verbs:
5211 - get
5212 - list
5213 - watch
5214- apiGroups:
5215 - storage.k8s.io
5216 resources:
5217 - storageclasses
5218 verbs:
5219 - get
5220 - list
5221 - watch
5222- apiGroups:
5223 - ""
5224 resources:
5225 - namespaces
5226 verbs:
5227 - get
5228- apiGroups:
5229 - snapshot.storage.k8s.io
5230 resources:
5231 - volumesnapshots
5232 verbs:
5233 - get
5234 - list
5235 - watch
5236- apiGroups:
5237 - cdi.kubevirt.io
5238 resources:
5239 - datavolumes
5240 verbs:
5241 - list
5242 - get
5243- apiGroups:
5244 - cdi.kubevirt.io
5245 resources:
5246 - datasources
5247 verbs:
5248 - get
5249- apiGroups:
5250 - cdi.kubevirt.io
5251 resources:
5252 - volumeclonesources
5253 verbs:
5254 - get
5255 - list
5256 - watch
5257- apiGroups:
5258 - cdi.kubevirt.io
5259 resources:
5260 - storageprofiles
5261 verbs:
5262 - get
5263 - list
5264 - watch
5265- apiGroups:
5266 - cdi.kubevirt.io
5267 resources:
5268 - cdis
5269 verbs:
5270 - get
5271 - list
5272 - watch
5273- apiGroups:
5274 - cdi.kubevirt.io
5275 resources:
5276 - cdiconfigs
5277 verbs:
5278 - get
5279 - list
5280 - watch
5281- apiGroups:
5282 - cdi.kubevirt.io
5283 resources:
5284 - cdis/finalizers
5285 verbs:
5286 - update
5287- apiGroups:
5288 - ""
5289 resources:
5290 - events
5291 verbs:
5292 - create
5293 - patch
5294- apiGroups:
5295 - ""
5296 resources:
5297 - persistentvolumeclaims
5298 verbs:
5299 - get
5300 - list
5301 - watch
5302 - create
5303 - update
5304 - delete
5305 - deletecollection
5306 - patch
5307- apiGroups:
5308 - ""
5309 resources:
5310 - persistentvolumes
5311 verbs:
5312 - get
5313 - list
5314 - watch
5315 - update
5316- apiGroups:
5317 - ""
5318 resources:
5319 - persistentvolumeclaims/finalizers
5320 - pods/finalizers
5321 verbs:
5322 - update
5323- apiGroups:
5324 - ""
5325 resources:
5326 - pods
5327 - services
5328 verbs:
5329 - get
5330 - list
5331 - watch
5332 - create
5333 - delete
5334- apiGroups:
5335 - ""
5336 resources:
5337 - configmaps
5338 verbs:
5339 - get
5340 - create
5341- apiGroups:
5342 - storage.k8s.io
5343 resources:
5344 - storageclasses
5345 - csidrivers
5346 verbs:
5347 - get
5348 - list
5349 - watch
5350- apiGroups:
5351 - config.openshift.io
5352 resources:
5353 - proxies
5354 - infrastructures
5355 verbs:
5356 - get
5357 - list
5358 - watch
5359- apiGroups:
5360 - config.openshift.io
5361 resources:
5362 - clusterversions
5363 verbs:
5364 - get
5365- apiGroups:
5366 - cdi.kubevirt.io
5367 resources:
5368 - '*'
5369 verbs:
5370 - '*'
5371- apiGroups:
5372 - snapshot.storage.k8s.io
5373 resources:
5374 - volumesnapshots
5375 - volumesnapshotclasses
5376 - volumesnapshotcontents
5377 verbs:
5378 - get
5379 - list
5380 - watch
5381 - create
5382 - delete
5383- apiGroups:
5384 - snapshot.storage.k8s.io
5385 resources:
5386 - volumesnapshots
5387 verbs:
5388 - update
5389 - deletecollection
5390- apiGroups:
5391 - apiextensions.k8s.io
5392 resources:
5393 - customresourcedefinitions
5394 verbs:
5395 - get
5396 - list
5397 - watch
5398- apiGroups:
5399 - scheduling.k8s.io
5400 resources:
5401 - priorityclasses
5402 verbs:
5403 - get
5404 - list
5405 - watch
5406- apiGroups:
5407 - image.openshift.io
5408 resources:
5409 - imagestreams
5410 verbs:
5411 - get
5412 - list
5413 - watch
5414- apiGroups:
5415 - ""
5416 resources:
5417 - secrets
5418 verbs:
5419 - create
5420- apiGroups:
5421 - kubevirt.io
5422 resources:
5423 - virtualmachines/finalizers
5424 verbs:
5425 - update
5426- apiGroups:
5427 - forklift.cdi.kubevirt.io
5428 resources:
5429 - ovirtvolumepopulators
5430 - openstackvolumepopulators
5431 verbs:
5432 - get
5433 - list
5434 - watch
5435- apiGroups:
5436 - ""
5437 resources:
5438 - persistentvolumeclaims
5439 verbs:
5440 - get
5441- apiGroups:
5442 - cdi.kubevirt.io
5443 resources:
5444 - dataimportcrons
5445 verbs:
5446 - get
5447 - list
5448 - update
5449---
5450apiVersion: rbac.authorization.k8s.io/v1
5451kind: ClusterRoleBinding
5452metadata:
5453 labels:
5454 operator.cdi.kubevirt.io: ""
5455 name: cdi-operator
5456roleRef:
5457 apiGroup: rbac.authorization.k8s.io
5458 kind: ClusterRole
5459 name: cdi-operator-cluster
5460subjects:
5461- kind: ServiceAccount
5462 name: cdi-operator
5463 namespace: cdi
5464---
5465apiVersion: v1
5466kind: ServiceAccount
5467metadata:
5468 labels:
5469 operator.cdi.kubevirt.io: ""
5470 name: cdi-operator
5471 namespace: cdi
5472---
5473apiVersion: rbac.authorization.k8s.io/v1
5474kind: Role
5475metadata:
5476 labels:
5477 app: containerized-data-importer
5478 app.kubernetes.io/component: storage
5479 app.kubernetes.io/managed-by: cdi-operator
5480 cdi.kubevirt.io: ""
5481 name: cdi-operator
5482 namespace: cdi
5483rules:
5484- apiGroups:
5485 - rbac.authorization.k8s.io
5486 resources:
5487 - rolebindings
5488 - roles
5489 verbs:
5490 - get
5491 - list
5492 - watch
5493 - create
5494 - update
5495 - delete
5496- apiGroups:
5497 - ""
5498 resources:
5499 - serviceaccounts
5500 - configmaps
5501 - events
5502 - secrets
5503 - services
5504 verbs:
5505 - get
5506 - list
5507 - watch
5508 - create
5509 - update
5510 - patch
5511 - delete
5512- apiGroups:
5513 - apps
5514 resources:
5515 - deployments
5516 - deployments/finalizers
5517 verbs:
5518 - get
5519 - list
5520 - watch
5521 - create
5522 - update
5523 - delete
5524- apiGroups:
5525 - route.openshift.io
5526 resources:
5527 - routes
5528 - routes/custom-host
5529 verbs:
5530 - get
5531 - list
5532 - watch
5533 - create
5534 - update
5535- apiGroups:
5536 - config.openshift.io
5537 resources:
5538 - proxies
5539 verbs:
5540 - get
5541 - list
5542 - watch
5543- apiGroups:
5544 - monitoring.coreos.com
5545 resources:
5546 - servicemonitors
5547 - prometheusrules
5548 verbs:
5549 - get
5550 - list
5551 - watch
5552 - create
5553 - delete
5554 - update
5555 - patch
5556- apiGroups:
5557 - coordination.k8s.io
5558 resources:
5559 - leases
5560 verbs:
5561 - get
5562 - create
5563 - update
5564- apiGroups:
5565 - ""
5566 resources:
5567 - secrets
5568 - configmaps
5569 verbs:
5570 - get
5571 - list
5572 - watch
5573 - create
5574- apiGroups:
5575 - ""
5576 resources:
5577 - configmaps
5578 verbs:
5579 - get
5580 - list
5581 - watch
5582 - create
5583 - update
5584 - delete
5585- apiGroups:
5586 - ""
5587 resources:
5588 - secrets
5589 verbs:
5590 - get
5591 - list
5592 - watch
5593- apiGroups:
5594 - batch
5595 resources:
5596 - cronjobs
5597 verbs:
5598 - get
5599 - list
5600 - watch
5601 - create
5602 - update
5603 - deletecollection
5604- apiGroups:
5605 - batch
5606 resources:
5607 - jobs
5608 verbs:
5609 - create
5610 - deletecollection
5611 - list
5612 - watch
5613- apiGroups:
5614 - coordination.k8s.io
5615 resources:
5616 - leases
5617 verbs:
5618 - get
5619 - create
5620 - update
5621- apiGroups:
5622 - networking.k8s.io
5623 resources:
5624 - ingresses
5625 verbs:
5626 - get
5627 - list
5628 - watch
5629- apiGroups:
5630 - route.openshift.io
5631 resources:
5632 - routes
5633 verbs:
5634 - get
5635 - list
5636 - watch
5637- apiGroups:
5638 - ""
5639 resources:
5640 - configmaps
5641 verbs:
5642 - get
5643- apiGroups:
5644 - ""
5645 resources:
5646 - services
5647 - endpoints
5648 - pods
5649 verbs:
5650 - get
5651 - list
5652 - watch
5653---
5654apiVersion: rbac.authorization.k8s.io/v1
5655kind: RoleBinding
5656metadata:
5657 labels:
5658 app: containerized-data-importer
5659 app.kubernetes.io/component: storage
5660 app.kubernetes.io/managed-by: cdi-operator
5661 cdi.kubevirt.io: ""
5662 name: cdi-operator
5663 namespace: cdi
5664roleRef:
5665 apiGroup: rbac.authorization.k8s.io
5666 kind: Role
5667 name: cdi-operator
5668subjects:
5669- kind: ServiceAccount
5670 name: cdi-operator
5671 namespace: cdi
5672---
5673apiVersion: apps/v1
5674kind: Deployment
5675metadata:
5676 labels:
5677 cdi.kubevirt.io: cdi-operator
5678 name: cdi-operator
5679 operator.cdi.kubevirt.io: ""
5680 prometheus.cdi.kubevirt.io: "true"
5681 name: cdi-operator
5682 namespace: cdi
5683spec:
5684 replicas: 1
5685 selector:
5686 matchLabels:
5687 name: cdi-operator
5688 operator.cdi.kubevirt.io: ""
5689 strategy: {}
5690 template:
5691 metadata:
5692 labels:
5693 cdi.kubevirt.io: cdi-operator
5694 name: cdi-operator
5695 operator.cdi.kubevirt.io: ""
5696 prometheus.cdi.kubevirt.io: "true"
5697 spec:
5698 affinity:
5699 podAffinity:
5700 preferredDuringSchedulingIgnoredDuringExecution:
5701 - podAffinityTerm:
5702 labelSelector:
5703 matchExpressions:
5704 - key: cdi.kubevirt.io
5705 operator: In
5706 values:
5707 - cdi-operator
5708 topologyKey: kubernetes.io/hostname
5709 weight: 1
5710 containers:
5711 - env:
5712 - name: DEPLOY_CLUSTER_RESOURCES
5713 value: "true"
5714 - name: OPERATOR_VERSION
5715 value: v1.61.1
5716 - name: CONTROLLER_IMAGE
5717 value: quay.io/kubevirt/cdi-controller:v1.61.1
5718 - name: IMPORTER_IMAGE
5719 value: quay.io/kubevirt/cdi-importer:v1.61.1
5720 - name: CLONER_IMAGE
5721 value: quay.io/kubevirt/cdi-cloner:v1.61.1
5722 - name: OVIRT_POPULATOR_IMAGE
5723 value: quay.io/kubevirt/cdi-importer:v1.61.1
5724 - name: APISERVER_IMAGE
5725 value: quay.io/kubevirt/cdi-apiserver:v1.61.1
5726 - name: UPLOAD_SERVER_IMAGE
5727 value: quay.io/kubevirt/cdi-uploadserver:v1.61.1
5728 - name: UPLOAD_PROXY_IMAGE
5729 value: quay.io/kubevirt/cdi-uploadproxy:v1.61.1
5730 - name: VERBOSITY
5731 value: "1"
5732 - name: PULL_POLICY
5733 value: IfNotPresent
5734 - name: MONITORING_NAMESPACE
5735 image: quay.io/kubevirt/cdi-operator:v1.61.1
5736 imagePullPolicy: IfNotPresent
5737 name: cdi-operator
5738 ports:
5739 - containerPort: 8080
5740 name: metrics
5741 protocol: TCP
5742 resources:
5743 requests:
5744 cpu: 100m
5745 memory: 150Mi
5746 securityContext:
5747 allowPrivilegeEscalation: false
5748 capabilities:
5749 drop:
5750 - ALL
5751 runAsNonRoot: true
5752 seccompProfile:
5753 type: RuntimeDefault
5754 terminationMessagePath: /dev/termination-log
5755 terminationMessagePolicy: File
5756 nodeSelector:
5757 kubernetes.io/os: linux
5758 securityContext:
5759 runAsNonRoot: true
5760 serviceAccountName: cdi-operator
5761 tolerations:
5762 - key: CriticalAddonsOnly
5763 operator: Exists
View as plain text