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