...

Text file src/edge-infra.dev/third_party/k8s/kubevirt/base/kubevirt-operator.yaml

Documentation: edge-infra.dev/third_party/k8s/kubevirt/base

     1---
     2apiVersion: v1
     3kind: Namespace
     4metadata:
     5  labels:
     6    kubevirt.io: ""
     7    pod-security.kubernetes.io/enforce: "privileged"
     8  name: kubevirt
     9---
    10apiVersion: apiextensions.k8s.io/v1
    11kind: CustomResourceDefinition
    12metadata:
    13  labels:
    14    operator.kubevirt.io: ""
    15  name: kubevirts.kubevirt.io
    16spec:
    17  group: kubevirt.io
    18  names:
    19    categories:
    20    - all
    21    kind: KubeVirt
    22    plural: kubevirts
    23    shortNames:
    24    - kv
    25    - kvs
    26    singular: kubevirt
    27  scope: Namespaced
    28  versions:
    29  - additionalPrinterColumns:
    30    - jsonPath: .metadata.creationTimestamp
    31      name: Age
    32      type: date
    33    - jsonPath: .status.phase
    34      name: Phase
    35      type: string
    36    name: v1
    37    schema:
    38      openAPIV3Schema:
    39        description: KubeVirt represents the object deploying all KubeVirt resources
    40        properties:
    41          apiVersion:
    42            description: |-
    43              APIVersion defines the versioned schema of this representation of an object.
    44              Servers should convert recognized schemas to the latest internal value, and
    45              may reject unrecognized values.
    46              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    47            type: string
    48          kind:
    49            description: |-
    50              Kind is a string value representing the REST resource this object represents.
    51              Servers may infer this from the endpoint the client submits requests to.
    52              Cannot be updated.
    53              In CamelCase.
    54              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    55            type: string
    56          metadata:
    57            type: object
    58          spec:
    59            properties:
    60              certificateRotateStrategy:
    61                properties:
    62                  selfSigned:
    63                    properties:
    64                      ca:
    65                        description: |-
    66                          CA configuration
    67                          CA certs are kept in the CA bundle as long as they are valid
    68                        properties:
    69                          duration:
    70                            description: The requested 'duration' (i.e. lifetime)
    71                              of the Certificate.
    72                            type: string
    73                          renewBefore:
    74                            description: |-
    75                              The amount of time before the currently issued certificate's "notAfter"
    76                              time that we will begin to attempt to renew the certificate.
    77                            type: string
    78                        type: object
    79                      caOverlapInterval:
    80                        description: Deprecated. Use CA.Duration and CA.RenewBefore
    81                          instead
    82                        type: string
    83                      caRotateInterval:
    84                        description: Deprecated. Use CA.Duration instead
    85                        type: string
    86                      certRotateInterval:
    87                        description: Deprecated. Use Server.Duration instead
    88                        type: string
    89                      server:
    90                        description: |-
    91                          Server configuration
    92                          Certs are rotated and discarded
    93                        properties:
    94                          duration:
    95                            description: The requested 'duration' (i.e. lifetime)
    96                              of the Certificate.
    97                            type: string
    98                          renewBefore:
    99                            description: |-
   100                              The amount of time before the currently issued certificate's "notAfter"
   101                              time that we will begin to attempt to renew the certificate.
   102                            type: string
   103                        type: object
   104                    type: object
   105                type: object
   106              configuration:
   107                description: |-
   108                  holds kubevirt configurations.
   109                  same as the virt-configMap
   110                properties:
   111                  additionalGuestMemoryOverheadRatio:
   112                    description: |-
   113                      AdditionalGuestMemoryOverheadRatio can be used to increase the virtualization infrastructure
   114                      overhead. This is useful, since the calculation of this overhead is not accurate and cannot
   115                      be entirely known in advance. The ratio that is being set determines by which factor to increase
   116                      the overhead calculated by Kubevirt. A higher ratio means that the VMs would be less compromised
   117                      by node pressures, but would mean that fewer VMs could be scheduled to a node.
   118                      If not set, the default is 1.
   119                    type: string
   120                  apiConfiguration:
   121                    description: |-
   122                      ReloadableComponentConfiguration holds all generic k8s configuration options which can
   123                      be reloaded by components without requiring a restart.
   124                    properties:
   125                      restClient:
   126                        description: RestClient can be used to tune certain aspects
   127                          of the k8s client in use.
   128                        properties:
   129                          rateLimiter:
   130                            description: RateLimiter allows selecting and configuring
   131                              different rate limiters for the k8s client.
   132                            properties:
   133                              tokenBucketRateLimiter:
   134                                properties:
   135                                  burst:
   136                                    description: |-
   137                                      Maximum burst for throttle.
   138                                      If it's zero, the component default will be used
   139                                    type: integer
   140                                  qps:
   141                                    description: |-
   142                                      QPS indicates the maximum QPS to the apiserver from this client.
   143                                      If it's zero, the component default will be used
   144                                    type: number
   145                                required:
   146                                - burst
   147                                - qps
   148                                type: object
   149                            type: object
   150                        type: object
   151                    type: object
   152                  architectureConfiguration:
   153                    properties:
   154                      amd64:
   155                        properties:
   156                          emulatedMachines:
   157                            items:
   158                              type: string
   159                            type: array
   160                            x-kubernetes-list-type: atomic
   161                          machineType:
   162                            type: string
   163                          ovmfPath:
   164                            type: string
   165                        type: object
   166                      arm64:
   167                        properties:
   168                          emulatedMachines:
   169                            items:
   170                              type: string
   171                            type: array
   172                            x-kubernetes-list-type: atomic
   173                          machineType:
   174                            type: string
   175                          ovmfPath:
   176                            type: string
   177                        type: object
   178                      defaultArchitecture:
   179                        type: string
   180                      ppc64le:
   181                        properties:
   182                          emulatedMachines:
   183                            items:
   184                              type: string
   185                            type: array
   186                            x-kubernetes-list-type: atomic
   187                          machineType:
   188                            type: string
   189                          ovmfPath:
   190                            type: string
   191                        type: object
   192                    type: object
   193                  autoCPULimitNamespaceLabelSelector:
   194                    description: |-
   195                      When set, AutoCPULimitNamespaceLabelSelector will set a CPU limit on virt-launcher for VMIs running inside
   196                      namespaces that match the label selector.
   197                      The CPU limit will equal the number of requested vCPUs.
   198                      This setting does not apply to VMIs with dedicated CPUs.
   199                    properties:
   200                      matchExpressions:
   201                        description: matchExpressions is a list of label selector
   202                          requirements. The requirements are ANDed.
   203                        items:
   204                          description: |-
   205                            A label selector requirement is a selector that contains values, a key, and an operator that
   206                            relates the key and values.
   207                          properties:
   208                            key:
   209                              description: key is the label key that the selector
   210                                applies to.
   211                              type: string
   212                            operator:
   213                              description: |-
   214                                operator represents a key's relationship to a set of values.
   215                                Valid operators are In, NotIn, Exists and DoesNotExist.
   216                              type: string
   217                            values:
   218                              description: |-
   219                                values is an array of string values. If the operator is In or NotIn,
   220                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
   221                                the values array must be empty. This array is replaced during a strategic
   222                                merge patch.
   223                              items:
   224                                type: string
   225                              type: array
   226                              x-kubernetes-list-type: atomic
   227                          required:
   228                          - key
   229                          - operator
   230                          type: object
   231                        type: array
   232                        x-kubernetes-list-type: atomic
   233                      matchLabels:
   234                        additionalProperties:
   235                          type: string
   236                        description: |-
   237                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   238                          map is equivalent to an element of matchExpressions, whose key field is "key", the
   239                          operator is "In", and the values array contains only "value". The requirements are ANDed.
   240                        type: object
   241                    type: object
   242                    x-kubernetes-map-type: atomic
   243                  commonInstancetypesDeployment:
   244                    description: CommonInstancetypesDeployment controls the deployment
   245                      of common-instancetypes resources
   246                    nullable: true
   247                    properties:
   248                      enabled:
   249                        description: Enabled controls the deployment of common-instancetypes
   250                          resources, defaults to True.
   251                        nullable: true
   252                        type: boolean
   253                    type: object
   254                  controllerConfiguration:
   255                    description: |-
   256                      ReloadableComponentConfiguration holds all generic k8s configuration options which can
   257                      be reloaded by components without requiring a restart.
   258                    properties:
   259                      restClient:
   260                        description: RestClient can be used to tune certain aspects
   261                          of the k8s client in use.
   262                        properties:
   263                          rateLimiter:
   264                            description: RateLimiter allows selecting and configuring
   265                              different rate limiters for the k8s client.
   266                            properties:
   267                              tokenBucketRateLimiter:
   268                                properties:
   269                                  burst:
   270                                    description: |-
   271                                      Maximum burst for throttle.
   272                                      If it's zero, the component default will be used
   273                                    type: integer
   274                                  qps:
   275                                    description: |-
   276                                      QPS indicates the maximum QPS to the apiserver from this client.
   277                                      If it's zero, the component default will be used
   278                                    type: number
   279                                required:
   280                                - burst
   281                                - qps
   282                                type: object
   283                            type: object
   284                        type: object
   285                    type: object
   286                  cpuModel:
   287                    type: string
   288                  cpuRequest:
   289                    anyOf:
   290                    - type: integer
   291                    - type: string
   292                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   293                    x-kubernetes-int-or-string: true
   294                  defaultRuntimeClass:
   295                    type: string
   296                  developerConfiguration:
   297                    description: DeveloperConfiguration holds developer options
   298                    properties:
   299                      cpuAllocationRatio:
   300                        description: |-
   301                          For each requested virtual CPU, CPUAllocationRatio defines how much physical CPU to request per VMI
   302                          from the hosting node. The value is in fraction of a CPU thread (or core on non-hyperthreaded nodes).
   303                          For example, a value of 1 means 1 physical CPU thread per VMI CPU thread.
   304                          A value of 100 would be 1% of a physical thread allocated for each requested VMI thread.
   305                          This option has no effect on VMIs that request dedicated CPUs. More information at:
   306                          https://kubevirt.io/user-guide/operations/node_overcommit/#node-cpu-allocation-ratio
   307                          Defaults to 10
   308                        type: integer
   309                      diskVerification:
   310                        description: DiskVerification holds container disks verification
   311                          limits
   312                        properties:
   313                          memoryLimit:
   314                            anyOf:
   315                            - type: integer
   316                            - type: string
   317                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   318                            x-kubernetes-int-or-string: true
   319                        required:
   320                        - memoryLimit
   321                        type: object
   322                      featureGates:
   323                        description: FeatureGates is the list of experimental features
   324                          to enable. Defaults to none
   325                        items:
   326                          type: string
   327                        type: array
   328                      logVerbosity:
   329                        description: LogVerbosity sets log verbosity level of  various
   330                          components
   331                        properties:
   332                          nodeVerbosity:
   333                            additionalProperties:
   334                              type: integer
   335                            description: NodeVerbosity represents a map of nodes with
   336                              a specific verbosity level
   337                            type: object
   338                          virtAPI:
   339                            type: integer
   340                          virtController:
   341                            type: integer
   342                          virtHandler:
   343                            type: integer
   344                          virtLauncher:
   345                            type: integer
   346                          virtOperator:
   347                            type: integer
   348                        type: object
   349                      memoryOvercommit:
   350                        description: |-
   351                          MemoryOvercommit is the percentage of memory we want to give VMIs compared to the amount
   352                          given to its parent pod (virt-launcher). For example, a value of 102 means the VMI will
   353                          "see" 2% more memory than its parent pod. Values under 100 are effectively "undercommits".
   354                          Overcommits can lead to memory exhaustion, which in turn can lead to crashes. Use carefully.
   355                          Defaults to 100
   356                        type: integer
   357                      minimumClusterTSCFrequency:
   358                        description: |-
   359                          Allow overriding the automatically determined minimum TSC frequency of the cluster
   360                          and fixate the minimum to this frequency.
   361                        format: int64
   362                        type: integer
   363                      minimumReservePVCBytes:
   364                        description: |-
   365                          MinimumReservePVCBytes is the amount of space, in bytes, to leave unused on disks.
   366                          Defaults to 131072 (128KiB)
   367                        format: int64
   368                        type: integer
   369                      nodeSelectors:
   370                        additionalProperties:
   371                          type: string
   372                        description: |-
   373                          NodeSelectors allows restricting VMI creation to nodes that match a set of labels.
   374                          Defaults to none
   375                        type: object
   376                      pvcTolerateLessSpaceUpToPercent:
   377                        description: |-
   378                          LessPVCSpaceToleration determines how much smaller, in percentage, disk PVCs are
   379                          allowed to be compared to the requested size (to account for various overheads).
   380                          Defaults to 10
   381                        type: integer
   382                      useEmulation:
   383                        description: |-
   384                          UseEmulation can be set to true to allow fallback to software emulation
   385                          in case hardware-assisted emulation is not available. Defaults to false
   386                        type: boolean
   387                    type: object
   388                  emulatedMachines:
   389                    description: Deprecated. Use architectureConfiguration instead.
   390                    items:
   391                      type: string
   392                    type: array
   393                  evictionStrategy:
   394                    description: |-
   395                      EvictionStrategy defines at the cluster level if the VirtualMachineInstance should be
   396                      migrated instead of shut-off in case of a node drain. If the VirtualMachineInstance specific
   397                      field is set it overrides the cluster level one.
   398                    type: string
   399                  handlerConfiguration:
   400                    description: |-
   401                      ReloadableComponentConfiguration holds all generic k8s configuration options which can
   402                      be reloaded by components without requiring a restart.
   403                    properties:
   404                      restClient:
   405                        description: RestClient can be used to tune certain aspects
   406                          of the k8s client in use.
   407                        properties:
   408                          rateLimiter:
   409                            description: RateLimiter allows selecting and configuring
   410                              different rate limiters for the k8s client.
   411                            properties:
   412                              tokenBucketRateLimiter:
   413                                properties:
   414                                  burst:
   415                                    description: |-
   416                                      Maximum burst for throttle.
   417                                      If it's zero, the component default will be used
   418                                    type: integer
   419                                  qps:
   420                                    description: |-
   421                                      QPS indicates the maximum QPS to the apiserver from this client.
   422                                      If it's zero, the component default will be used
   423                                    type: number
   424                                required:
   425                                - burst
   426                                - qps
   427                                type: object
   428                            type: object
   429                        type: object
   430                    type: object
   431                  imagePullPolicy:
   432                    description: PullPolicy describes a policy for if/when to pull
   433                      a container image
   434                    type: string
   435                  instancetype:
   436                    description: Instancetype configuration
   437                    nullable: true
   438                    properties:
   439                      referencePolicy:
   440                        description: |-
   441                          ReferencePolicy defines how an instance type or preference should be referenced by the VM after submission, supported values are:
   442                          reference (default) - Where a copy of the original object is stashed in a ControllerRevision and referenced by the VM.
   443                          expand - Where the instance type or preference are expanded into the VM if no revisionNames have been populated.
   444                          expandAll - Where the instance type or preference are expanded into the VM regardless of revisionNames previously being populated.
   445                        enum:
   446                        - reference
   447                        - expand
   448                        - expandAll
   449                        nullable: true
   450                        type: string
   451                    type: object
   452                  ksmConfiguration:
   453                    description: KSMConfiguration holds the information regarding
   454                      the enabling the KSM in the nodes (if available).
   455                    properties:
   456                      nodeLabelSelector:
   457                        description: |-
   458                          NodeLabelSelector is a selector that filters in which nodes the KSM will be enabled.
   459                          Empty NodeLabelSelector will enable ksm for every node.
   460                        properties:
   461                          matchExpressions:
   462                            description: matchExpressions is a list of label selector
   463                              requirements. The requirements are ANDed.
   464                            items:
   465                              description: |-
   466                                A label selector requirement is a selector that contains values, a key, and an operator that
   467                                relates the key and values.
   468                              properties:
   469                                key:
   470                                  description: key is the label key that the selector
   471                                    applies to.
   472                                  type: string
   473                                operator:
   474                                  description: |-
   475                                    operator represents a key's relationship to a set of values.
   476                                    Valid operators are In, NotIn, Exists and DoesNotExist.
   477                                  type: string
   478                                values:
   479                                  description: |-
   480                                    values is an array of string values. If the operator is In or NotIn,
   481                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
   482                                    the values array must be empty. This array is replaced during a strategic
   483                                    merge patch.
   484                                  items:
   485                                    type: string
   486                                  type: array
   487                                  x-kubernetes-list-type: atomic
   488                              required:
   489                              - key
   490                              - operator
   491                              type: object
   492                            type: array
   493                            x-kubernetes-list-type: atomic
   494                          matchLabels:
   495                            additionalProperties:
   496                              type: string
   497                            description: |-
   498                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   499                              map is equivalent to an element of matchExpressions, whose key field is "key", the
   500                              operator is "In", and the values array contains only "value". The requirements are ANDed.
   501                            type: object
   502                        type: object
   503                        x-kubernetes-map-type: atomic
   504                    type: object
   505                  liveUpdateConfiguration:
   506                    description: LiveUpdateConfiguration holds defaults for live update
   507                      features
   508                    properties:
   509                      maxCpuSockets:
   510                        description: |-
   511                          MaxCpuSockets provides a MaxSockets value for VMs that do not provide their own.
   512                          For VMs with more sockets than maximum the MaxSockets will be set to equal number of sockets.
   513                        format: int32
   514                        type: integer
   515                      maxGuest:
   516                        anyOf:
   517                        - type: integer
   518                        - type: string
   519                        description: |-
   520                          MaxGuest defines the maximum amount memory that can be allocated
   521                          to the guest using hotplug.
   522                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   523                        x-kubernetes-int-or-string: true
   524                      maxHotplugRatio:
   525                        description: |-
   526                          MaxHotplugRatio is the ratio used to define the max amount
   527                          of a hotplug resource that can be made available to a VM
   528                          when the specific Max* setting is not defined (MaxCpuSockets, MaxGuest)
   529                          Example: VM is configured with 512Mi of guest memory, if MaxGuest is not
   530                          defined and MaxHotplugRatio is 2 then MaxGuest = 1Gi
   531                          defaults to 4
   532                        format: int32
   533                        type: integer
   534                    type: object
   535                  machineType:
   536                    description: Deprecated. Use architectureConfiguration instead.
   537                    type: string
   538                  mediatedDevicesConfiguration:
   539                    description: MediatedDevicesConfiguration holds information about
   540                      MDEV types to be defined, if available
   541                    properties:
   542                      mediatedDeviceTypes:
   543                        items:
   544                          type: string
   545                        type: array
   546                        x-kubernetes-list-type: atomic
   547                      mediatedDevicesTypes:
   548                        description: Deprecated. Use mediatedDeviceTypes instead.
   549                        items:
   550                          type: string
   551                        type: array
   552                        x-kubernetes-list-type: atomic
   553                      nodeMediatedDeviceTypes:
   554                        items:
   555                          description: NodeMediatedDeviceTypesConfig holds information
   556                            about MDEV types to be defined in a specific node that
   557                            matches the NodeSelector field.
   558                          properties:
   559                            mediatedDeviceTypes:
   560                              items:
   561                                type: string
   562                              type: array
   563                              x-kubernetes-list-type: atomic
   564                            mediatedDevicesTypes:
   565                              description: Deprecated. Use mediatedDeviceTypes instead.
   566                              items:
   567                                type: string
   568                              type: array
   569                              x-kubernetes-list-type: atomic
   570                            nodeSelector:
   571                              additionalProperties:
   572                                type: string
   573                              description: |-
   574                                NodeSelector is a selector which must be true for the vmi to fit on a node.
   575                                Selector which must match a node's labels for the vmi to be scheduled on that node.
   576                                More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
   577                              type: object
   578                          required:
   579                          - nodeSelector
   580                          type: object
   581                        type: array
   582                        x-kubernetes-list-type: atomic
   583                    type: object
   584                  memBalloonStatsPeriod:
   585                    format: int32
   586                    type: integer
   587                  migrations:
   588                    description: |-
   589                      MigrationConfiguration holds migration options.
   590                      Can be overridden for specific groups of VMs though migration policies.
   591                      Visit https://kubevirt.io/user-guide/operations/migration_policies/ for more information.
   592                    properties:
   593                      allowAutoConverge:
   594                        description: |-
   595                          AllowAutoConverge allows the platform to compromise performance/availability of VMIs to
   596                          guarantee successful VMI live migrations. Defaults to false
   597                        type: boolean
   598                      allowPostCopy:
   599                        description: |-
   600                          AllowPostCopy enables post-copy live migrations. Such migrations allow even the busiest VMIs
   601                          to successfully live-migrate. However, events like a network failure can cause a VMI crash.
   602                          If set to true, migrations will still start in pre-copy, but switch to post-copy when
   603                          CompletionTimeoutPerGiB triggers. Defaults to false
   604                        type: boolean
   605                      bandwidthPerMigration:
   606                        anyOf:
   607                        - type: integer
   608                        - type: string
   609                        description: |-
   610                          BandwidthPerMigration limits the amount of network bandwidth live migrations are allowed to use.
   611                          The value is in quantity per second. Defaults to 0 (no limit)
   612                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   613                        x-kubernetes-int-or-string: true
   614                      completionTimeoutPerGiB:
   615                        description: |-
   616                          CompletionTimeoutPerGiB is the maximum number of seconds per GiB a migration is allowed to take.
   617                          If a live-migration takes longer to migrate than this value multiplied by the size of the VMI,
   618                          the migration will be cancelled, unless AllowPostCopy is true. Defaults to 150
   619                        format: int64
   620                        type: integer
   621                      disableTLS:
   622                        description: |-
   623                          When set to true, DisableTLS will disable the additional layer of live migration encryption
   624                          provided by KubeVirt. This is usually a bad idea. Defaults to false
   625                        type: boolean
   626                      matchSELinuxLevelOnMigration:
   627                        description: |-
   628                          By default, the SELinux level of target virt-launcher pods is forced to the level of the source virt-launcher.
   629                          When set to true, MatchSELinuxLevelOnMigration lets the CRI auto-assign a random level to the target.
   630                          That will ensure the target virt-launcher doesn't share categories with another pod on the node.
   631                          However, migrations will fail when using RWX volumes that don't automatically deal with SELinux levels.
   632                        type: boolean
   633                      network:
   634                        description: |-
   635                          Network is the name of the CNI network to use for live migrations. By default, migrations go
   636                          through the pod network.
   637                        type: string
   638                      nodeDrainTaintKey:
   639                        description: |-
   640                          NodeDrainTaintKey defines the taint key that indicates a node should be drained.
   641                          Note: this option relies on the deprecated node taint feature. Default: kubevirt.io/drain
   642                        type: string
   643                      parallelMigrationsPerCluster:
   644                        description: |-
   645                          ParallelMigrationsPerCluster is the total number of concurrent live migrations
   646                          allowed cluster-wide. Defaults to 5
   647                        format: int32
   648                        type: integer
   649                      parallelOutboundMigrationsPerNode:
   650                        description: |-
   651                          ParallelOutboundMigrationsPerNode is the maximum number of concurrent outgoing live migrations
   652                          allowed per node. Defaults to 2
   653                        format: int32
   654                        type: integer
   655                      progressTimeout:
   656                        description: |-
   657                          ProgressTimeout is the maximum number of seconds a live migration is allowed to make no progress.
   658                          Hitting this timeout means a migration transferred 0 data for that many seconds. The migration is
   659                          then considered stuck and therefore cancelled. Defaults to 150
   660                        format: int64
   661                        type: integer
   662                      unsafeMigrationOverride:
   663                        description: |-
   664                          UnsafeMigrationOverride allows live migrations to occur even if the compatibility check
   665                          indicates the migration will be unsafe to the guest. Defaults to false
   666                        type: boolean
   667                    type: object
   668                  minCPUModel:
   669                    type: string
   670                  network:
   671                    description: NetworkConfiguration holds network options
   672                    properties:
   673                      binding:
   674                        additionalProperties:
   675                          properties:
   676                            computeResourceOverhead:
   677                              description: |-
   678                                ComputeResourceOverhead specifies the resource overhead that should be added to the compute container when using the binding.
   679                                version: v1alphav1
   680                              properties:
   681                                limits:
   682                                  additionalProperties:
   683                                    anyOf:
   684                                    - type: integer
   685                                    - type: string
   686                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   687                                    x-kubernetes-int-or-string: true
   688                                  description: |-
   689                                    Limits describes the maximum amount of compute resources allowed.
   690                                    More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
   691                                  type: object
   692                                requests:
   693                                  additionalProperties:
   694                                    anyOf:
   695                                    - type: integer
   696                                    - type: string
   697                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   698                                    x-kubernetes-int-or-string: true
   699                                  description: |-
   700                                    Requests describes the minimum amount of compute resources required.
   701                                    If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
   702                                    otherwise to an implementation-defined value. Requests cannot exceed Limits.
   703                                    More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
   704                                  type: object
   705                              type: object
   706                            domainAttachmentType:
   707                              description: |-
   708                                DomainAttachmentType is a standard domain network attachment method kubevirt supports.
   709                                Supported values: "tap", "managedTap" (since v1.4).
   710                                The standard domain attachment can be used instead or in addition to the sidecarImage.
   711                                version: 1alphav1
   712                              type: string
   713                            downwardAPI:
   714                              description: |-
   715                                DownwardAPI specifies what kind of data should be exposed to the binding plugin sidecar.
   716                                Supported values: "device-info"
   717                                version: v1alphav1
   718                              type: string
   719                            migration:
   720                              description: |-
   721                                Migration means the VM using the plugin can be safely migrated
   722                                version: 1alphav1
   723                              properties:
   724                                method:
   725                                  description: |-
   726                                    Method defines a pre-defined migration methodology
   727                                    version: 1alphav1
   728                                  type: string
   729                              type: object
   730                            networkAttachmentDefinition:
   731                              description: |-
   732                                NetworkAttachmentDefinition references to a NetworkAttachmentDefinition CR object.
   733                                Format: <name>, <namespace>/<name>.
   734                                If namespace is not specified, VMI namespace is assumed.
   735                                version: 1alphav1
   736                              type: string
   737                            sidecarImage:
   738                              description: |-
   739                                SidecarImage references a container image that runs in the virt-launcher pod.
   740                                The sidecar handles (libvirt) domain configuration and optional services.
   741                                version: 1alphav1
   742                              type: string
   743                          type: object
   744                        type: object
   745                      defaultNetworkInterface:
   746                        type: string
   747                      permitBridgeInterfaceOnPodNetwork:
   748                        type: boolean
   749                      permitSlirpInterface:
   750                        description: |-
   751                          DeprecatedPermitSlirpInterface is an alias for the deprecated PermitSlirpInterface.
   752                          Deprecated: Removed in v1.3.
   753                        type: boolean
   754                    type: object
   755                  obsoleteCPUModels:
   756                    additionalProperties:
   757                      type: boolean
   758                    type: object
   759                  ovmfPath:
   760                    description: Deprecated. Use architectureConfiguration instead.
   761                    type: string
   762                  permittedHostDevices:
   763                    description: PermittedHostDevices holds information about devices
   764                      allowed for passthrough
   765                    properties:
   766                      mediatedDevices:
   767                        items:
   768                          description: MediatedHostDevice represents a host mediated
   769                            device allowed for passthrough
   770                          properties:
   771                            externalResourceProvider:
   772                              type: boolean
   773                            mdevNameSelector:
   774                              type: string
   775                            resourceName:
   776                              type: string
   777                          required:
   778                          - mdevNameSelector
   779                          - resourceName
   780                          type: object
   781                        type: array
   782                        x-kubernetes-list-type: atomic
   783                      pciHostDevices:
   784                        items:
   785                          description: PciHostDevice represents a host PCI device
   786                            allowed for passthrough
   787                          properties:
   788                            externalResourceProvider:
   789                              description: |-
   790                                If true, KubeVirt will leave the allocation and monitoring to an
   791                                external device plugin
   792                              type: boolean
   793                            pciVendorSelector:
   794                              description: The vendor_id:product_id tuple of the PCI
   795                                device
   796                              type: string
   797                            resourceName:
   798                              description: |-
   799                                The name of the resource that is representing the device. Exposed by
   800                                a device plugin and requested by VMs. Typically of the form
   801                                vendor.com/product_name
   802                              type: string
   803                          required:
   804                          - pciVendorSelector
   805                          - resourceName
   806                          type: object
   807                        type: array
   808                        x-kubernetes-list-type: atomic
   809                      usb:
   810                        items:
   811                          properties:
   812                            externalResourceProvider:
   813                              description: |-
   814                                If true, KubeVirt will leave the allocation and monitoring to an
   815                                external device plugin
   816                              type: boolean
   817                            resourceName:
   818                              description: |-
   819                                Identifies the list of USB host devices.
   820                                e.g: kubevirt.io/storage, kubevirt.io/bootable-usb, etc
   821                              type: string
   822                            selectors:
   823                              items:
   824                                properties:
   825                                  product:
   826                                    type: string
   827                                  vendor:
   828                                    type: string
   829                                required:
   830                                - product
   831                                - vendor
   832                                type: object
   833                              type: array
   834                              x-kubernetes-list-type: atomic
   835                          required:
   836                          - resourceName
   837                          type: object
   838                        type: array
   839                        x-kubernetes-list-type: atomic
   840                    type: object
   841                  seccompConfiguration:
   842                    description: SeccompConfiguration holds Seccomp configuration
   843                      for Kubevirt components
   844                    properties:
   845                      virtualMachineInstanceProfile:
   846                        description: VirtualMachineInstanceProfile defines what profile
   847                          should be used with virt-launcher. Defaults to none
   848                        properties:
   849                          customProfile:
   850                            description: CustomProfile allows to request arbitrary
   851                              profile for virt-launcher
   852                            properties:
   853                              localhostProfile:
   854                                type: string
   855                              runtimeDefaultProfile:
   856                                type: boolean
   857                            type: object
   858                        type: object
   859                    type: object
   860                  selinuxLauncherType:
   861                    type: string
   862                  smbios:
   863                    properties:
   864                      family:
   865                        type: string
   866                      manufacturer:
   867                        type: string
   868                      product:
   869                        type: string
   870                      sku:
   871                        type: string
   872                      version:
   873                        type: string
   874                    type: object
   875                  supportContainerResources:
   876                    description: SupportContainerResources specifies the resource
   877                      requirements for various types of supporting containers such
   878                      as container disks/virtiofs/sidecars and hotplug attachment
   879                      pods. If omitted a sensible default will be supplied.
   880                    items:
   881                      description: SupportContainerResources are used to specify the
   882                        cpu/memory request and limits for the containers that support
   883                        various features of Virtual Machines. These containers are
   884                        usually idle and don't require a lot of memory or cpu.
   885                      properties:
   886                        resources:
   887                          description: |-
   888                            ResourceRequirementsWithoutClaims describes the compute resource requirements.
   889                            This struct was taken from the k8s.ResourceRequirements and cleaned up the 'Claims' field.
   890                          properties:
   891                            limits:
   892                              additionalProperties:
   893                                anyOf:
   894                                - type: integer
   895                                - type: string
   896                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   897                                x-kubernetes-int-or-string: true
   898                              description: |-
   899                                Limits describes the maximum amount of compute resources allowed.
   900                                More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
   901                              type: object
   902                            requests:
   903                              additionalProperties:
   904                                anyOf:
   905                                - type: integer
   906                                - type: string
   907                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   908                                x-kubernetes-int-or-string: true
   909                              description: |-
   910                                Requests describes the minimum amount of compute resources required.
   911                                If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
   912                                otherwise to an implementation-defined value. Requests cannot exceed Limits.
   913                                More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
   914                              type: object
   915                          type: object
   916                        type:
   917                          type: string
   918                      required:
   919                      - resources
   920                      - type
   921                      type: object
   922                    type: array
   923                    x-kubernetes-list-map-keys:
   924                    - type
   925                    x-kubernetes-list-type: map
   926                  supportedGuestAgentVersions:
   927                    description: deprecated
   928                    items:
   929                      type: string
   930                    type: array
   931                  tlsConfiguration:
   932                    description: TLSConfiguration holds TLS options
   933                    properties:
   934                      ciphers:
   935                        items:
   936                          type: string
   937                        type: array
   938                        x-kubernetes-list-type: set
   939                      minTLSVersion:
   940                        description: |-
   941                          MinTLSVersion is a way to specify the minimum protocol version that is acceptable for TLS connections.
   942                          Protocol versions are based on the following most common TLS configurations:
   943
   944                            https://ssl-config.mozilla.org/
   945
   946                          Note that SSLv3.0 is not a supported protocol version due to well known
   947                          vulnerabilities such as POODLE: https://en.wikipedia.org/wiki/POODLE
   948                        enum:
   949                        - VersionTLS10
   950                        - VersionTLS11
   951                        - VersionTLS12
   952                        - VersionTLS13
   953                        type: string
   954                    type: object
   955                  virtualMachineInstancesPerNode:
   956                    type: integer
   957                  virtualMachineOptions:
   958                    description: VirtualMachineOptions holds the cluster level information
   959                      regarding the virtual machine.
   960                    properties:
   961                      disableFreePageReporting:
   962                        description: |-
   963                          DisableFreePageReporting disable the free page reporting of
   964                          memory balloon device https://libvirt.org/formatdomain.html#memory-balloon-device.
   965                          This will have effect only if AutoattachMemBalloon is not false and the vmi is not
   966                          requesting any high performance feature (dedicatedCPU/realtime/hugePages), in which free page reporting is always disabled.
   967                        type: object
   968                      disableSerialConsoleLog:
   969                        description: |-
   970                          DisableSerialConsoleLog disables logging the auto-attached default serial console.
   971                          If not set, serial console logs will be written to a file and then streamed from a container named 'guest-console-log'.
   972                          The value can be individually overridden for each VM, not relevant if AutoattachSerialConsole is disabled.
   973                        type: object
   974                    type: object
   975                  vmRolloutStrategy:
   976                    description: VMRolloutStrategy defines how changes to a VM object
   977                      propagate to its VMI
   978                    enum:
   979                    - Stage
   980                    - LiveUpdate
   981                    nullable: true
   982                    type: string
   983                  vmStateStorageClass:
   984                    description: |-
   985                      VMStateStorageClass is the name of the storage class to use for the PVCs created to preserve VM state, like TPM.
   986                      The storage class must support RWX in filesystem mode.
   987                    type: string
   988                  webhookConfiguration:
   989                    description: |-
   990                      ReloadableComponentConfiguration holds all generic k8s configuration options which can
   991                      be reloaded by components without requiring a restart.
   992                    properties:
   993                      restClient:
   994                        description: RestClient can be used to tune certain aspects
   995                          of the k8s client in use.
   996                        properties:
   997                          rateLimiter:
   998                            description: RateLimiter allows selecting and configuring
   999                              different rate limiters for the k8s client.
  1000                            properties:
  1001                              tokenBucketRateLimiter:
  1002                                properties:
  1003                                  burst:
  1004                                    description: |-
  1005                                      Maximum burst for throttle.
  1006                                      If it's zero, the component default will be used
  1007                                    type: integer
  1008                                  qps:
  1009                                    description: |-
  1010                                      QPS indicates the maximum QPS to the apiserver from this client.
  1011                                      If it's zero, the component default will be used
  1012                                    type: number
  1013                                required:
  1014                                - burst
  1015                                - qps
  1016                                type: object
  1017                            type: object
  1018                        type: object
  1019                    type: object
  1020                type: object
  1021              customizeComponents:
  1022                properties:
  1023                  flags:
  1024                    description: Configure the value used for deployment and daemonset
  1025                      resources
  1026                    properties:
  1027                      api:
  1028                        additionalProperties:
  1029                          type: string
  1030                        type: object
  1031                      controller:
  1032                        additionalProperties:
  1033                          type: string
  1034                        type: object
  1035                      handler:
  1036                        additionalProperties:
  1037                          type: string
  1038                        type: object
  1039                    type: object
  1040                  patches:
  1041                    items:
  1042                      properties:
  1043                        patch:
  1044                          type: string
  1045                        resourceName:
  1046                          minLength: 1
  1047                          type: string
  1048                        resourceType:
  1049                          minLength: 1
  1050                          type: string
  1051                        type:
  1052                          type: string
  1053                      required:
  1054                      - patch
  1055                      - resourceName
  1056                      - resourceType
  1057                      - type
  1058                      type: object
  1059                    type: array
  1060                    x-kubernetes-list-type: atomic
  1061                type: object
  1062              imagePullPolicy:
  1063                description: The ImagePullPolicy to use.
  1064                type: string
  1065              imagePullSecrets:
  1066                description: |-
  1067                  The imagePullSecrets to pull the container images from
  1068                  Defaults to none
  1069                items:
  1070                  description: |-
  1071                    LocalObjectReference contains enough information to let you locate the
  1072                    referenced object inside the same namespace.
  1073                  properties:
  1074                    name:
  1075                      default: ""
  1076                      description: |-
  1077                        Name of the referent.
  1078                        This field is effectively required, but due to backwards compatibility is
  1079                        allowed to be empty. Instances of this type with an empty value here are
  1080                        almost certainly wrong.
  1081                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1082                      type: string
  1083                  type: object
  1084                  x-kubernetes-map-type: atomic
  1085                type: array
  1086                x-kubernetes-list-type: atomic
  1087              imageRegistry:
  1088                description: |-
  1089                  The image registry to pull the container images from
  1090                  Defaults to the same registry the operator's container image is pulled from.
  1091                type: string
  1092              imageTag:
  1093                description: |-
  1094                  The image tag to use for the continer images installed.
  1095                  Defaults to the same tag as the operator's container image.
  1096                type: string
  1097              infra:
  1098                description: selectors and tolerations that should apply to KubeVirt
  1099                  infrastructure components
  1100                properties:
  1101                  nodePlacement:
  1102                    description: |-
  1103                      nodePlacement describes scheduling configuration for specific
  1104                      KubeVirt components
  1105                    properties:
  1106                      affinity:
  1107                        description: |-
  1108                          affinity enables pod affinity/anti-affinity placement expanding the types of constraints
  1109                          that can be expressed with nodeSelector.
  1110                          affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
  1111                          See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  1112                        properties:
  1113                          nodeAffinity:
  1114                            description: Describes node affinity scheduling rules
  1115                              for the pod.
  1116                            properties:
  1117                              preferredDuringSchedulingIgnoredDuringExecution:
  1118                                description: |-
  1119                                  The scheduler will prefer to schedule pods to nodes that satisfy
  1120                                  the affinity expressions specified by this field, but it may choose
  1121                                  a node that violates one or more of the expressions. The node that is
  1122                                  most preferred is the one with the greatest sum of weights, i.e.
  1123                                  for each node that meets all of the scheduling requirements (resource
  1124                                  request, requiredDuringScheduling affinity expressions, etc.),
  1125                                  compute a sum by iterating through the elements of this field and adding
  1126                                  "weight" to the sum if the node matches the corresponding matchExpressions; the
  1127                                  node(s) with the highest sum are the most preferred.
  1128                                items:
  1129                                  description: |-
  1130                                    An empty preferred scheduling term matches all objects with implicit weight 0
  1131                                    (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  1132                                  properties:
  1133                                    preference:
  1134                                      description: A node selector term, associated
  1135                                        with the corresponding weight.
  1136                                      properties:
  1137                                        matchExpressions:
  1138                                          description: A list of node selector requirements
  1139                                            by node's labels.
  1140                                          items:
  1141                                            description: |-
  1142                                              A node selector requirement is a selector that contains values, a key, and an operator
  1143                                              that relates the key and values.
  1144                                            properties:
  1145                                              key:
  1146                                                description: The label key that the
  1147                                                  selector applies to.
  1148                                                type: string
  1149                                              operator:
  1150                                                description: |-
  1151                                                  Represents a key's relationship to a set of values.
  1152                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  1153                                                type: string
  1154                                              values:
  1155                                                description: |-
  1156                                                  An array of string values. If the operator is In or NotIn,
  1157                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1158                                                  the values array must be empty. If the operator is Gt or Lt, the values
  1159                                                  array must have a single element, which will be interpreted as an integer.
  1160                                                  This array is replaced during a strategic merge patch.
  1161                                                items:
  1162                                                  type: string
  1163                                                type: array
  1164                                                x-kubernetes-list-type: atomic
  1165                                            required:
  1166                                            - key
  1167                                            - operator
  1168                                            type: object
  1169                                          type: array
  1170                                          x-kubernetes-list-type: atomic
  1171                                        matchFields:
  1172                                          description: A list of node selector requirements
  1173                                            by node's fields.
  1174                                          items:
  1175                                            description: |-
  1176                                              A node selector requirement is a selector that contains values, a key, and an operator
  1177                                              that relates the key and values.
  1178                                            properties:
  1179                                              key:
  1180                                                description: The label key that the
  1181                                                  selector applies to.
  1182                                                type: string
  1183                                              operator:
  1184                                                description: |-
  1185                                                  Represents a key's relationship to a set of values.
  1186                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  1187                                                type: string
  1188                                              values:
  1189                                                description: |-
  1190                                                  An array of string values. If the operator is In or NotIn,
  1191                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1192                                                  the values array must be empty. If the operator is Gt or Lt, the values
  1193                                                  array must have a single element, which will be interpreted as an integer.
  1194                                                  This array is replaced during a strategic merge patch.
  1195                                                items:
  1196                                                  type: string
  1197                                                type: array
  1198                                                x-kubernetes-list-type: atomic
  1199                                            required:
  1200                                            - key
  1201                                            - operator
  1202                                            type: object
  1203                                          type: array
  1204                                          x-kubernetes-list-type: atomic
  1205                                      type: object
  1206                                      x-kubernetes-map-type: atomic
  1207                                    weight:
  1208                                      description: Weight associated with matching
  1209                                        the corresponding nodeSelectorTerm, in the
  1210                                        range 1-100.
  1211                                      format: int32
  1212                                      type: integer
  1213                                  required:
  1214                                  - preference
  1215                                  - weight
  1216                                  type: object
  1217                                type: array
  1218                                x-kubernetes-list-type: atomic
  1219                              requiredDuringSchedulingIgnoredDuringExecution:
  1220                                description: |-
  1221                                  If the affinity requirements specified by this field are not met at
  1222                                  scheduling time, the pod will not be scheduled onto the node.
  1223                                  If the affinity requirements specified by this field cease to be met
  1224                                  at some point during pod execution (e.g. due to an update), the system
  1225                                  may or may not try to eventually evict the pod from its node.
  1226                                properties:
  1227                                  nodeSelectorTerms:
  1228                                    description: Required. A list of node selector
  1229                                      terms. The terms are ORed.
  1230                                    items:
  1231                                      description: |-
  1232                                        A null or empty node selector term matches no objects. The requirements of
  1233                                        them are ANDed.
  1234                                        The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  1235                                      properties:
  1236                                        matchExpressions:
  1237                                          description: A list of node selector requirements
  1238                                            by node's labels.
  1239                                          items:
  1240                                            description: |-
  1241                                              A node selector requirement is a selector that contains values, a key, and an operator
  1242                                              that relates the key and values.
  1243                                            properties:
  1244                                              key:
  1245                                                description: The label key that the
  1246                                                  selector applies to.
  1247                                                type: string
  1248                                              operator:
  1249                                                description: |-
  1250                                                  Represents a key's relationship to a set of values.
  1251                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  1252                                                type: string
  1253                                              values:
  1254                                                description: |-
  1255                                                  An array of string values. If the operator is In or NotIn,
  1256                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1257                                                  the values array must be empty. If the operator is Gt or Lt, the values
  1258                                                  array must have a single element, which will be interpreted as an integer.
  1259                                                  This array is replaced during a strategic merge patch.
  1260                                                items:
  1261                                                  type: string
  1262                                                type: array
  1263                                                x-kubernetes-list-type: atomic
  1264                                            required:
  1265                                            - key
  1266                                            - operator
  1267                                            type: object
  1268                                          type: array
  1269                                          x-kubernetes-list-type: atomic
  1270                                        matchFields:
  1271                                          description: A list of node selector requirements
  1272                                            by node's fields.
  1273                                          items:
  1274                                            description: |-
  1275                                              A node selector requirement is a selector that contains values, a key, and an operator
  1276                                              that relates the key and values.
  1277                                            properties:
  1278                                              key:
  1279                                                description: The label key that the
  1280                                                  selector applies to.
  1281                                                type: string
  1282                                              operator:
  1283                                                description: |-
  1284                                                  Represents a key's relationship to a set of values.
  1285                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  1286                                                type: string
  1287                                              values:
  1288                                                description: |-
  1289                                                  An array of string values. If the operator is In or NotIn,
  1290                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1291                                                  the values array must be empty. If the operator is Gt or Lt, the values
  1292                                                  array must have a single element, which will be interpreted as an integer.
  1293                                                  This array is replaced during a strategic merge patch.
  1294                                                items:
  1295                                                  type: string
  1296                                                type: array
  1297                                                x-kubernetes-list-type: atomic
  1298                                            required:
  1299                                            - key
  1300                                            - operator
  1301                                            type: object
  1302                                          type: array
  1303                                          x-kubernetes-list-type: atomic
  1304                                      type: object
  1305                                      x-kubernetes-map-type: atomic
  1306                                    type: array
  1307                                    x-kubernetes-list-type: atomic
  1308                                required:
  1309                                - nodeSelectorTerms
  1310                                type: object
  1311                                x-kubernetes-map-type: atomic
  1312                            type: object
  1313                          podAffinity:
  1314                            description: Describes pod affinity scheduling rules (e.g.
  1315                              co-locate this pod in the same node, zone, etc. as some
  1316                              other pod(s)).
  1317                            properties:
  1318                              preferredDuringSchedulingIgnoredDuringExecution:
  1319                                description: |-
  1320                                  The scheduler will prefer to schedule pods to nodes that satisfy
  1321                                  the affinity expressions specified by this field, but it may choose
  1322                                  a node that violates one or more of the expressions. The node that is
  1323                                  most preferred is the one with the greatest sum of weights, i.e.
  1324                                  for each node that meets all of the scheduling requirements (resource
  1325                                  request, requiredDuringScheduling affinity expressions, etc.),
  1326                                  compute a sum by iterating through the elements of this field and adding
  1327                                  "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  1328                                  node(s) with the highest sum are the most preferred.
  1329                                items:
  1330                                  description: The weights of all of the matched WeightedPodAffinityTerm
  1331                                    fields are added per-node to find the most preferred
  1332                                    node(s)
  1333                                  properties:
  1334                                    podAffinityTerm:
  1335                                      description: Required. A pod affinity term,
  1336                                        associated with the corresponding weight.
  1337                                      properties:
  1338                                        labelSelector:
  1339                                          description: |-
  1340                                            A label query over a set of resources, in this case pods.
  1341                                            If it's null, this PodAffinityTerm matches with no Pods.
  1342                                          properties:
  1343                                            matchExpressions:
  1344                                              description: matchExpressions is a list
  1345                                                of label selector requirements. The
  1346                                                requirements are ANDed.
  1347                                              items:
  1348                                                description: |-
  1349                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  1350                                                  relates the key and values.
  1351                                                properties:
  1352                                                  key:
  1353                                                    description: key is the label
  1354                                                      key that the selector applies
  1355                                                      to.
  1356                                                    type: string
  1357                                                  operator:
  1358                                                    description: |-
  1359                                                      operator represents a key's relationship to a set of values.
  1360                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  1361                                                    type: string
  1362                                                  values:
  1363                                                    description: |-
  1364                                                      values is an array of string values. If the operator is In or NotIn,
  1365                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1366                                                      the values array must be empty. This array is replaced during a strategic
  1367                                                      merge patch.
  1368                                                    items:
  1369                                                      type: string
  1370                                                    type: array
  1371                                                    x-kubernetes-list-type: atomic
  1372                                                required:
  1373                                                - key
  1374                                                - operator
  1375                                                type: object
  1376                                              type: array
  1377                                              x-kubernetes-list-type: atomic
  1378                                            matchLabels:
  1379                                              additionalProperties:
  1380                                                type: string
  1381                                              description: |-
  1382                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1383                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  1384                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  1385                                              type: object
  1386                                          type: object
  1387                                          x-kubernetes-map-type: atomic
  1388                                        matchLabelKeys:
  1389                                          description: |-
  1390                                            MatchLabelKeys is a set of pod label keys to select which pods will
  1391                                            be taken into consideration. The keys are used to lookup values from the
  1392                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  1393                                            to select the group of existing pods which pods will be taken into consideration
  1394                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  1395                                            pod labels will be ignored. The default value is empty.
  1396                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  1397                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
  1398                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  1399                                          items:
  1400                                            type: string
  1401                                          type: array
  1402                                          x-kubernetes-list-type: atomic
  1403                                        mismatchLabelKeys:
  1404                                          description: |-
  1405                                            MismatchLabelKeys is a set of pod label keys to select which pods will
  1406                                            be taken into consideration. The keys are used to lookup values from the
  1407                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  1408                                            to select the group of existing pods which pods will be taken into consideration
  1409                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  1410                                            pod labels will be ignored. The default value is empty.
  1411                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  1412                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  1413                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  1414                                          items:
  1415                                            type: string
  1416                                          type: array
  1417                                          x-kubernetes-list-type: atomic
  1418                                        namespaceSelector:
  1419                                          description: |-
  1420                                            A label query over the set of namespaces that the term applies to.
  1421                                            The term is applied to the union of the namespaces selected by this field
  1422                                            and the ones listed in the namespaces field.
  1423                                            null selector and null or empty namespaces list means "this pod's namespace".
  1424                                            An empty selector ({}) matches all namespaces.
  1425                                          properties:
  1426                                            matchExpressions:
  1427                                              description: matchExpressions is a list
  1428                                                of label selector requirements. The
  1429                                                requirements are ANDed.
  1430                                              items:
  1431                                                description: |-
  1432                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  1433                                                  relates the key and values.
  1434                                                properties:
  1435                                                  key:
  1436                                                    description: key is the label
  1437                                                      key that the selector applies
  1438                                                      to.
  1439                                                    type: string
  1440                                                  operator:
  1441                                                    description: |-
  1442                                                      operator represents a key's relationship to a set of values.
  1443                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  1444                                                    type: string
  1445                                                  values:
  1446                                                    description: |-
  1447                                                      values is an array of string values. If the operator is In or NotIn,
  1448                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1449                                                      the values array must be empty. This array is replaced during a strategic
  1450                                                      merge patch.
  1451                                                    items:
  1452                                                      type: string
  1453                                                    type: array
  1454                                                    x-kubernetes-list-type: atomic
  1455                                                required:
  1456                                                - key
  1457                                                - operator
  1458                                                type: object
  1459                                              type: array
  1460                                              x-kubernetes-list-type: atomic
  1461                                            matchLabels:
  1462                                              additionalProperties:
  1463                                                type: string
  1464                                              description: |-
  1465                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1466                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  1467                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  1468                                              type: object
  1469                                          type: object
  1470                                          x-kubernetes-map-type: atomic
  1471                                        namespaces:
  1472                                          description: |-
  1473                                            namespaces specifies a static list of namespace names that the term applies to.
  1474                                            The term is applied to the union of the namespaces listed in this field
  1475                                            and the ones selected by namespaceSelector.
  1476                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  1477                                          items:
  1478                                            type: string
  1479                                          type: array
  1480                                          x-kubernetes-list-type: atomic
  1481                                        topologyKey:
  1482                                          description: |-
  1483                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  1484                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
  1485                                            whose value of the label with key topologyKey matches that of any node on which any of the
  1486                                            selected pods is running.
  1487                                            Empty topologyKey is not allowed.
  1488                                          type: string
  1489                                      required:
  1490                                      - topologyKey
  1491                                      type: object
  1492                                    weight:
  1493                                      description: |-
  1494                                        weight associated with matching the corresponding podAffinityTerm,
  1495                                        in the range 1-100.
  1496                                      format: int32
  1497                                      type: integer
  1498                                  required:
  1499                                  - podAffinityTerm
  1500                                  - weight
  1501                                  type: object
  1502                                type: array
  1503                                x-kubernetes-list-type: atomic
  1504                              requiredDuringSchedulingIgnoredDuringExecution:
  1505                                description: |-
  1506                                  If the affinity requirements specified by this field are not met at
  1507                                  scheduling time, the pod will not be scheduled onto the node.
  1508                                  If the affinity requirements specified by this field cease to be met
  1509                                  at some point during pod execution (e.g. due to a pod label update), the
  1510                                  system may or may not try to eventually evict the pod from its node.
  1511                                  When there are multiple elements, the lists of nodes corresponding to each
  1512                                  podAffinityTerm are intersected, i.e. all terms must be satisfied.
  1513                                items:
  1514                                  description: |-
  1515                                    Defines a set of pods (namely those matching the labelSelector
  1516                                    relative to the given namespace(s)) that this pod should be
  1517                                    co-located (affinity) or not co-located (anti-affinity) with,
  1518                                    where co-located is defined as running on a node whose value of
  1519                                    the label with key <topologyKey> matches that of any node on which
  1520                                    a pod of the set of pods is running
  1521                                  properties:
  1522                                    labelSelector:
  1523                                      description: |-
  1524                                        A label query over a set of resources, in this case pods.
  1525                                        If it's null, this PodAffinityTerm matches with no Pods.
  1526                                      properties:
  1527                                        matchExpressions:
  1528                                          description: matchExpressions is a list
  1529                                            of label selector requirements. The requirements
  1530                                            are ANDed.
  1531                                          items:
  1532                                            description: |-
  1533                                              A label selector requirement is a selector that contains values, a key, and an operator that
  1534                                              relates the key and values.
  1535                                            properties:
  1536                                              key:
  1537                                                description: key is the label key
  1538                                                  that the selector applies to.
  1539                                                type: string
  1540                                              operator:
  1541                                                description: |-
  1542                                                  operator represents a key's relationship to a set of values.
  1543                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  1544                                                type: string
  1545                                              values:
  1546                                                description: |-
  1547                                                  values is an array of string values. If the operator is In or NotIn,
  1548                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1549                                                  the values array must be empty. This array is replaced during a strategic
  1550                                                  merge patch.
  1551                                                items:
  1552                                                  type: string
  1553                                                type: array
  1554                                                x-kubernetes-list-type: atomic
  1555                                            required:
  1556                                            - key
  1557                                            - operator
  1558                                            type: object
  1559                                          type: array
  1560                                          x-kubernetes-list-type: atomic
  1561                                        matchLabels:
  1562                                          additionalProperties:
  1563                                            type: string
  1564                                          description: |-
  1565                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1566                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  1567                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  1568                                          type: object
  1569                                      type: object
  1570                                      x-kubernetes-map-type: atomic
  1571                                    matchLabelKeys:
  1572                                      description: |-
  1573                                        MatchLabelKeys is a set of pod label keys to select which pods will
  1574                                        be taken into consideration. The keys are used to lookup values from the
  1575                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  1576                                        to select the group of existing pods which pods will be taken into consideration
  1577                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  1578                                        pod labels will be ignored. The default value is empty.
  1579                                        The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  1580                                        Also, matchLabelKeys cannot be set when labelSelector isn't set.
  1581                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  1582                                      items:
  1583                                        type: string
  1584                                      type: array
  1585                                      x-kubernetes-list-type: atomic
  1586                                    mismatchLabelKeys:
  1587                                      description: |-
  1588                                        MismatchLabelKeys is a set of pod label keys to select which pods will
  1589                                        be taken into consideration. The keys are used to lookup values from the
  1590                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  1591                                        to select the group of existing pods which pods will be taken into consideration
  1592                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  1593                                        pod labels will be ignored. The default value is empty.
  1594                                        The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  1595                                        Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  1596                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  1597                                      items:
  1598                                        type: string
  1599                                      type: array
  1600                                      x-kubernetes-list-type: atomic
  1601                                    namespaceSelector:
  1602                                      description: |-
  1603                                        A label query over the set of namespaces that the term applies to.
  1604                                        The term is applied to the union of the namespaces selected by this field
  1605                                        and the ones listed in the namespaces field.
  1606                                        null selector and null or empty namespaces list means "this pod's namespace".
  1607                                        An empty selector ({}) matches all namespaces.
  1608                                      properties:
  1609                                        matchExpressions:
  1610                                          description: matchExpressions is a list
  1611                                            of label selector requirements. The requirements
  1612                                            are ANDed.
  1613                                          items:
  1614                                            description: |-
  1615                                              A label selector requirement is a selector that contains values, a key, and an operator that
  1616                                              relates the key and values.
  1617                                            properties:
  1618                                              key:
  1619                                                description: key is the label key
  1620                                                  that the selector applies to.
  1621                                                type: string
  1622                                              operator:
  1623                                                description: |-
  1624                                                  operator represents a key's relationship to a set of values.
  1625                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  1626                                                type: string
  1627                                              values:
  1628                                                description: |-
  1629                                                  values is an array of string values. If the operator is In or NotIn,
  1630                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1631                                                  the values array must be empty. This array is replaced during a strategic
  1632                                                  merge patch.
  1633                                                items:
  1634                                                  type: string
  1635                                                type: array
  1636                                                x-kubernetes-list-type: atomic
  1637                                            required:
  1638                                            - key
  1639                                            - operator
  1640                                            type: object
  1641                                          type: array
  1642                                          x-kubernetes-list-type: atomic
  1643                                        matchLabels:
  1644                                          additionalProperties:
  1645                                            type: string
  1646                                          description: |-
  1647                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1648                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  1649                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  1650                                          type: object
  1651                                      type: object
  1652                                      x-kubernetes-map-type: atomic
  1653                                    namespaces:
  1654                                      description: |-
  1655                                        namespaces specifies a static list of namespace names that the term applies to.
  1656                                        The term is applied to the union of the namespaces listed in this field
  1657                                        and the ones selected by namespaceSelector.
  1658                                        null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  1659                                      items:
  1660                                        type: string
  1661                                      type: array
  1662                                      x-kubernetes-list-type: atomic
  1663                                    topologyKey:
  1664                                      description: |-
  1665                                        This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  1666                                        the labelSelector in the specified namespaces, where co-located is defined as running on a node
  1667                                        whose value of the label with key topologyKey matches that of any node on which any of the
  1668                                        selected pods is running.
  1669                                        Empty topologyKey is not allowed.
  1670                                      type: string
  1671                                  required:
  1672                                  - topologyKey
  1673                                  type: object
  1674                                type: array
  1675                                x-kubernetes-list-type: atomic
  1676                            type: object
  1677                          podAntiAffinity:
  1678                            description: Describes pod anti-affinity scheduling rules
  1679                              (e.g. avoid putting this pod in the same node, zone,
  1680                              etc. as some other pod(s)).
  1681                            properties:
  1682                              preferredDuringSchedulingIgnoredDuringExecution:
  1683                                description: |-
  1684                                  The scheduler will prefer to schedule pods to nodes that satisfy
  1685                                  the anti-affinity expressions specified by this field, but it may choose
  1686                                  a node that violates one or more of the expressions. The node that is
  1687                                  most preferred is the one with the greatest sum of weights, i.e.
  1688                                  for each node that meets all of the scheduling requirements (resource
  1689                                  request, requiredDuringScheduling anti-affinity expressions, etc.),
  1690                                  compute a sum by iterating through the elements of this field and adding
  1691                                  "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  1692                                  node(s) with the highest sum are the most preferred.
  1693                                items:
  1694                                  description: The weights of all of the matched WeightedPodAffinityTerm
  1695                                    fields are added per-node to find the most preferred
  1696                                    node(s)
  1697                                  properties:
  1698                                    podAffinityTerm:
  1699                                      description: Required. A pod affinity term,
  1700                                        associated with the corresponding weight.
  1701                                      properties:
  1702                                        labelSelector:
  1703                                          description: |-
  1704                                            A label query over a set of resources, in this case pods.
  1705                                            If it's null, this PodAffinityTerm matches with no Pods.
  1706                                          properties:
  1707                                            matchExpressions:
  1708                                              description: matchExpressions is a list
  1709                                                of label selector requirements. The
  1710                                                requirements are ANDed.
  1711                                              items:
  1712                                                description: |-
  1713                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  1714                                                  relates the key and values.
  1715                                                properties:
  1716                                                  key:
  1717                                                    description: key is the label
  1718                                                      key that the selector applies
  1719                                                      to.
  1720                                                    type: string
  1721                                                  operator:
  1722                                                    description: |-
  1723                                                      operator represents a key's relationship to a set of values.
  1724                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  1725                                                    type: string
  1726                                                  values:
  1727                                                    description: |-
  1728                                                      values is an array of string values. If the operator is In or NotIn,
  1729                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1730                                                      the values array must be empty. This array is replaced during a strategic
  1731                                                      merge patch.
  1732                                                    items:
  1733                                                      type: string
  1734                                                    type: array
  1735                                                    x-kubernetes-list-type: atomic
  1736                                                required:
  1737                                                - key
  1738                                                - operator
  1739                                                type: object
  1740                                              type: array
  1741                                              x-kubernetes-list-type: atomic
  1742                                            matchLabels:
  1743                                              additionalProperties:
  1744                                                type: string
  1745                                              description: |-
  1746                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1747                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  1748                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  1749                                              type: object
  1750                                          type: object
  1751                                          x-kubernetes-map-type: atomic
  1752                                        matchLabelKeys:
  1753                                          description: |-
  1754                                            MatchLabelKeys is a set of pod label keys to select which pods will
  1755                                            be taken into consideration. The keys are used to lookup values from the
  1756                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  1757                                            to select the group of existing pods which pods will be taken into consideration
  1758                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  1759                                            pod labels will be ignored. The default value is empty.
  1760                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  1761                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
  1762                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  1763                                          items:
  1764                                            type: string
  1765                                          type: array
  1766                                          x-kubernetes-list-type: atomic
  1767                                        mismatchLabelKeys:
  1768                                          description: |-
  1769                                            MismatchLabelKeys is a set of pod label keys to select which pods will
  1770                                            be taken into consideration. The keys are used to lookup values from the
  1771                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  1772                                            to select the group of existing pods which pods will be taken into consideration
  1773                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  1774                                            pod labels will be ignored. The default value is empty.
  1775                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  1776                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  1777                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  1778                                          items:
  1779                                            type: string
  1780                                          type: array
  1781                                          x-kubernetes-list-type: atomic
  1782                                        namespaceSelector:
  1783                                          description: |-
  1784                                            A label query over the set of namespaces that the term applies to.
  1785                                            The term is applied to the union of the namespaces selected by this field
  1786                                            and the ones listed in the namespaces field.
  1787                                            null selector and null or empty namespaces list means "this pod's namespace".
  1788                                            An empty selector ({}) matches all namespaces.
  1789                                          properties:
  1790                                            matchExpressions:
  1791                                              description: matchExpressions is a list
  1792                                                of label selector requirements. The
  1793                                                requirements are ANDed.
  1794                                              items:
  1795                                                description: |-
  1796                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  1797                                                  relates the key and values.
  1798                                                properties:
  1799                                                  key:
  1800                                                    description: key is the label
  1801                                                      key that the selector applies
  1802                                                      to.
  1803                                                    type: string
  1804                                                  operator:
  1805                                                    description: |-
  1806                                                      operator represents a key's relationship to a set of values.
  1807                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  1808                                                    type: string
  1809                                                  values:
  1810                                                    description: |-
  1811                                                      values is an array of string values. If the operator is In or NotIn,
  1812                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1813                                                      the values array must be empty. This array is replaced during a strategic
  1814                                                      merge patch.
  1815                                                    items:
  1816                                                      type: string
  1817                                                    type: array
  1818                                                    x-kubernetes-list-type: atomic
  1819                                                required:
  1820                                                - key
  1821                                                - operator
  1822                                                type: object
  1823                                              type: array
  1824                                              x-kubernetes-list-type: atomic
  1825                                            matchLabels:
  1826                                              additionalProperties:
  1827                                                type: string
  1828                                              description: |-
  1829                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1830                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  1831                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  1832                                              type: object
  1833                                          type: object
  1834                                          x-kubernetes-map-type: atomic
  1835                                        namespaces:
  1836                                          description: |-
  1837                                            namespaces specifies a static list of namespace names that the term applies to.
  1838                                            The term is applied to the union of the namespaces listed in this field
  1839                                            and the ones selected by namespaceSelector.
  1840                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  1841                                          items:
  1842                                            type: string
  1843                                          type: array
  1844                                          x-kubernetes-list-type: atomic
  1845                                        topologyKey:
  1846                                          description: |-
  1847                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  1848                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
  1849                                            whose value of the label with key topologyKey matches that of any node on which any of the
  1850                                            selected pods is running.
  1851                                            Empty topologyKey is not allowed.
  1852                                          type: string
  1853                                      required:
  1854                                      - topologyKey
  1855                                      type: object
  1856                                    weight:
  1857                                      description: |-
  1858                                        weight associated with matching the corresponding podAffinityTerm,
  1859                                        in the range 1-100.
  1860                                      format: int32
  1861                                      type: integer
  1862                                  required:
  1863                                  - podAffinityTerm
  1864                                  - weight
  1865                                  type: object
  1866                                type: array
  1867                                x-kubernetes-list-type: atomic
  1868                              requiredDuringSchedulingIgnoredDuringExecution:
  1869                                description: |-
  1870                                  If the anti-affinity requirements specified by this field are not met at
  1871                                  scheduling time, the pod will not be scheduled onto the node.
  1872                                  If the anti-affinity requirements specified by this field cease to be met
  1873                                  at some point during pod execution (e.g. due to a pod label update), the
  1874                                  system may or may not try to eventually evict the pod from its node.
  1875                                  When there are multiple elements, the lists of nodes corresponding to each
  1876                                  podAffinityTerm are intersected, i.e. all terms must be satisfied.
  1877                                items:
  1878                                  description: |-
  1879                                    Defines a set of pods (namely those matching the labelSelector
  1880                                    relative to the given namespace(s)) that this pod should be
  1881                                    co-located (affinity) or not co-located (anti-affinity) with,
  1882                                    where co-located is defined as running on a node whose value of
  1883                                    the label with key <topologyKey> matches that of any node on which
  1884                                    a pod of the set of pods is running
  1885                                  properties:
  1886                                    labelSelector:
  1887                                      description: |-
  1888                                        A label query over a set of resources, in this case pods.
  1889                                        If it's null, this PodAffinityTerm matches with no Pods.
  1890                                      properties:
  1891                                        matchExpressions:
  1892                                          description: matchExpressions is a list
  1893                                            of label selector requirements. The requirements
  1894                                            are ANDed.
  1895                                          items:
  1896                                            description: |-
  1897                                              A label selector requirement is a selector that contains values, a key, and an operator that
  1898                                              relates the key and values.
  1899                                            properties:
  1900                                              key:
  1901                                                description: key is the label key
  1902                                                  that the selector applies to.
  1903                                                type: string
  1904                                              operator:
  1905                                                description: |-
  1906                                                  operator represents a key's relationship to a set of values.
  1907                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  1908                                                type: string
  1909                                              values:
  1910                                                description: |-
  1911                                                  values is an array of string values. If the operator is In or NotIn,
  1912                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1913                                                  the values array must be empty. This array is replaced during a strategic
  1914                                                  merge patch.
  1915                                                items:
  1916                                                  type: string
  1917                                                type: array
  1918                                                x-kubernetes-list-type: atomic
  1919                                            required:
  1920                                            - key
  1921                                            - operator
  1922                                            type: object
  1923                                          type: array
  1924                                          x-kubernetes-list-type: atomic
  1925                                        matchLabels:
  1926                                          additionalProperties:
  1927                                            type: string
  1928                                          description: |-
  1929                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1930                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  1931                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  1932                                          type: object
  1933                                      type: object
  1934                                      x-kubernetes-map-type: atomic
  1935                                    matchLabelKeys:
  1936                                      description: |-
  1937                                        MatchLabelKeys is a set of pod label keys to select which pods will
  1938                                        be taken into consideration. The keys are used to lookup values from the
  1939                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  1940                                        to select the group of existing pods which pods will be taken into consideration
  1941                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  1942                                        pod labels will be ignored. The default value is empty.
  1943                                        The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  1944                                        Also, matchLabelKeys cannot be set when labelSelector isn't set.
  1945                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  1946                                      items:
  1947                                        type: string
  1948                                      type: array
  1949                                      x-kubernetes-list-type: atomic
  1950                                    mismatchLabelKeys:
  1951                                      description: |-
  1952                                        MismatchLabelKeys is a set of pod label keys to select which pods will
  1953                                        be taken into consideration. The keys are used to lookup values from the
  1954                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  1955                                        to select the group of existing pods which pods will be taken into consideration
  1956                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  1957                                        pod labels will be ignored. The default value is empty.
  1958                                        The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  1959                                        Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  1960                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  1961                                      items:
  1962                                        type: string
  1963                                      type: array
  1964                                      x-kubernetes-list-type: atomic
  1965                                    namespaceSelector:
  1966                                      description: |-
  1967                                        A label query over the set of namespaces that the term applies to.
  1968                                        The term is applied to the union of the namespaces selected by this field
  1969                                        and the ones listed in the namespaces field.
  1970                                        null selector and null or empty namespaces list means "this pod's namespace".
  1971                                        An empty selector ({}) matches all namespaces.
  1972                                      properties:
  1973                                        matchExpressions:
  1974                                          description: matchExpressions is a list
  1975                                            of label selector requirements. The requirements
  1976                                            are ANDed.
  1977                                          items:
  1978                                            description: |-
  1979                                              A label selector requirement is a selector that contains values, a key, and an operator that
  1980                                              relates the key and values.
  1981                                            properties:
  1982                                              key:
  1983                                                description: key is the label key
  1984                                                  that the selector applies to.
  1985                                                type: string
  1986                                              operator:
  1987                                                description: |-
  1988                                                  operator represents a key's relationship to a set of values.
  1989                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  1990                                                type: string
  1991                                              values:
  1992                                                description: |-
  1993                                                  values is an array of string values. If the operator is In or NotIn,
  1994                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1995                                                  the values array must be empty. This array is replaced during a strategic
  1996                                                  merge patch.
  1997                                                items:
  1998                                                  type: string
  1999                                                type: array
  2000                                                x-kubernetes-list-type: atomic
  2001                                            required:
  2002                                            - key
  2003                                            - operator
  2004                                            type: object
  2005                                          type: array
  2006                                          x-kubernetes-list-type: atomic
  2007                                        matchLabels:
  2008                                          additionalProperties:
  2009                                            type: string
  2010                                          description: |-
  2011                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2012                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  2013                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  2014                                          type: object
  2015                                      type: object
  2016                                      x-kubernetes-map-type: atomic
  2017                                    namespaces:
  2018                                      description: |-
  2019                                        namespaces specifies a static list of namespace names that the term applies to.
  2020                                        The term is applied to the union of the namespaces listed in this field
  2021                                        and the ones selected by namespaceSelector.
  2022                                        null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  2023                                      items:
  2024                                        type: string
  2025                                      type: array
  2026                                      x-kubernetes-list-type: atomic
  2027                                    topologyKey:
  2028                                      description: |-
  2029                                        This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  2030                                        the labelSelector in the specified namespaces, where co-located is defined as running on a node
  2031                                        whose value of the label with key topologyKey matches that of any node on which any of the
  2032                                        selected pods is running.
  2033                                        Empty topologyKey is not allowed.
  2034                                      type: string
  2035                                  required:
  2036                                  - topologyKey
  2037                                  type: object
  2038                                type: array
  2039                                x-kubernetes-list-type: atomic
  2040                            type: object
  2041                        type: object
  2042                      nodeSelector:
  2043                        additionalProperties:
  2044                          type: string
  2045                        description: |-
  2046                          nodeSelector is the node selector applied to the relevant kind of pods
  2047                          It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
  2048                          the node must have each of the indicated key-value pairs as labels
  2049                          (it can have additional labels as well).
  2050                          See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  2051                        type: object
  2052                      tolerations:
  2053                        description: |-
  2054                          tolerations is a list of tolerations applied to the relevant kind of pods
  2055                          See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
  2056                          These are additional tolerations other than default ones.
  2057                        items:
  2058                          description: |-
  2059                            The pod this Toleration is attached to tolerates any taint that matches
  2060                            the triple <key,value,effect> using the matching operator <operator>.
  2061                          properties:
  2062                            effect:
  2063                              description: |-
  2064                                Effect indicates the taint effect to match. Empty means match all taint effects.
  2065                                When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  2066                              type: string
  2067                            key:
  2068                              description: |-
  2069                                Key is the taint key that the toleration applies to. Empty means match all taint keys.
  2070                                If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  2071                              type: string
  2072                            operator:
  2073                              description: |-
  2074                                Operator represents a key's relationship to the value.
  2075                                Valid operators are Exists and Equal. Defaults to Equal.
  2076                                Exists is equivalent to wildcard for value, so that a pod can
  2077                                tolerate all taints of a particular category.
  2078                              type: string
  2079                            tolerationSeconds:
  2080                              description: |-
  2081                                TolerationSeconds represents the period of time the toleration (which must be
  2082                                of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  2083                                it is not set, which means tolerate the taint forever (do not evict). Zero and
  2084                                negative values will be treated as 0 (evict immediately) by the system.
  2085                              format: int64
  2086                              type: integer
  2087                            value:
  2088                              description: |-
  2089                                Value is the taint value the toleration matches to.
  2090                                If the operator is Exists, the value should be empty, otherwise just a regular string.
  2091                              type: string
  2092                          type: object
  2093                        type: array
  2094                    type: object
  2095                  replicas:
  2096                    description: |-
  2097                      replicas indicates how many replicas should be created for each KubeVirt infrastructure
  2098                      component (like virt-api or virt-controller). Defaults to 2.
  2099                      WARNING: this is an advanced feature that prevents auto-scaling for core kubevirt components. Please use with caution!
  2100                    type: integer
  2101                type: object
  2102              monitorAccount:
  2103                description: |-
  2104                  The name of the Prometheus service account that needs read-access to KubeVirt endpoints
  2105                  Defaults to prometheus-k8s
  2106                type: string
  2107              monitorNamespace:
  2108                description: |-
  2109                  The namespace Prometheus is deployed in
  2110                  Defaults to openshift-monitor
  2111                type: string
  2112              productComponent:
  2113                description: |-
  2114                  Designate the apps.kubevirt.io/component label for KubeVirt components.
  2115                  Useful if KubeVirt is included as part of a product.
  2116                  If ProductComponent is not specified, the component label default value is kubevirt.
  2117                type: string
  2118              productName:
  2119                description: |-
  2120                  Designate the apps.kubevirt.io/part-of label for KubeVirt components.
  2121                  Useful if KubeVirt is included as part of a product.
  2122                  If ProductName is not specified, the part-of label will be omitted.
  2123                type: string
  2124              productVersion:
  2125                description: |-
  2126                  Designate the apps.kubevirt.io/version label for KubeVirt components.
  2127                  Useful if KubeVirt is included as part of a product.
  2128                  If ProductVersion is not specified, KubeVirt's version will be used.
  2129                type: string
  2130              serviceMonitorNamespace:
  2131                description: |-
  2132                  The namespace the service monitor will be deployed
  2133                   When ServiceMonitorNamespace is set, then we'll install the service monitor object in that namespace
  2134                  otherwise we will use the monitoring namespace.
  2135                type: string
  2136              uninstallStrategy:
  2137                description: |-
  2138                  Specifies if kubevirt can be deleted if workloads are still present.
  2139                  This is mainly a precaution to avoid accidental data loss
  2140                type: string
  2141              workloadUpdateStrategy:
  2142                description: |-
  2143                  WorkloadUpdateStrategy defines at the cluster level how to handle
  2144                  automated workload updates
  2145                properties:
  2146                  batchEvictionInterval:
  2147                    description: |-
  2148                      BatchEvictionInterval Represents the interval to wait before issuing the next
  2149                      batch of shutdowns
  2150
  2151                      Defaults to 1 minute
  2152                    type: string
  2153                  batchEvictionSize:
  2154                    description: |-
  2155                      BatchEvictionSize Represents the number of VMIs that can be forced updated per
  2156                      the BatchShutdownInteral interval
  2157
  2158                      Defaults to 10
  2159                    type: integer
  2160                  workloadUpdateMethods:
  2161                    description: |-
  2162                      WorkloadUpdateMethods defines the methods that can be used to disrupt workloads
  2163                      during automated workload updates.
  2164                      When multiple methods are present, the least disruptive method takes
  2165                      precedence over more disruptive methods. For example if both LiveMigrate and Shutdown
  2166                      methods are listed, only VMs which are not live migratable will be restarted/shutdown
  2167
  2168                      An empty list defaults to no automated workload updating
  2169                    items:
  2170                      type: string
  2171                    type: array
  2172                    x-kubernetes-list-type: atomic
  2173                type: object
  2174              workloads:
  2175                description: selectors and tolerations that should apply to KubeVirt
  2176                  workloads
  2177                properties:
  2178                  nodePlacement:
  2179                    description: |-
  2180                      nodePlacement describes scheduling configuration for specific
  2181                      KubeVirt components
  2182                    properties:
  2183                      affinity:
  2184                        description: |-
  2185                          affinity enables pod affinity/anti-affinity placement expanding the types of constraints
  2186                          that can be expressed with nodeSelector.
  2187                          affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
  2188                          See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  2189                        properties:
  2190                          nodeAffinity:
  2191                            description: Describes node affinity scheduling rules
  2192                              for the pod.
  2193                            properties:
  2194                              preferredDuringSchedulingIgnoredDuringExecution:
  2195                                description: |-
  2196                                  The scheduler will prefer to schedule pods to nodes that satisfy
  2197                                  the affinity expressions specified by this field, but it may choose
  2198                                  a node that violates one or more of the expressions. The node that is
  2199                                  most preferred is the one with the greatest sum of weights, i.e.
  2200                                  for each node that meets all of the scheduling requirements (resource
  2201                                  request, requiredDuringScheduling affinity expressions, etc.),
  2202                                  compute a sum by iterating through the elements of this field and adding
  2203                                  "weight" to the sum if the node matches the corresponding matchExpressions; the
  2204                                  node(s) with the highest sum are the most preferred.
  2205                                items:
  2206                                  description: |-
  2207                                    An empty preferred scheduling term matches all objects with implicit weight 0
  2208                                    (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  2209                                  properties:
  2210                                    preference:
  2211                                      description: A node selector term, associated
  2212                                        with the corresponding weight.
  2213                                      properties:
  2214                                        matchExpressions:
  2215                                          description: A list of node selector requirements
  2216                                            by node's labels.
  2217                                          items:
  2218                                            description: |-
  2219                                              A node selector requirement is a selector that contains values, a key, and an operator
  2220                                              that relates the key and values.
  2221                                            properties:
  2222                                              key:
  2223                                                description: The label key that the
  2224                                                  selector applies to.
  2225                                                type: string
  2226                                              operator:
  2227                                                description: |-
  2228                                                  Represents a key's relationship to a set of values.
  2229                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  2230                                                type: string
  2231                                              values:
  2232                                                description: |-
  2233                                                  An array of string values. If the operator is In or NotIn,
  2234                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2235                                                  the values array must be empty. If the operator is Gt or Lt, the values
  2236                                                  array must have a single element, which will be interpreted as an integer.
  2237                                                  This array is replaced during a strategic merge patch.
  2238                                                items:
  2239                                                  type: string
  2240                                                type: array
  2241                                                x-kubernetes-list-type: atomic
  2242                                            required:
  2243                                            - key
  2244                                            - operator
  2245                                            type: object
  2246                                          type: array
  2247                                          x-kubernetes-list-type: atomic
  2248                                        matchFields:
  2249                                          description: A list of node selector requirements
  2250                                            by node's fields.
  2251                                          items:
  2252                                            description: |-
  2253                                              A node selector requirement is a selector that contains values, a key, and an operator
  2254                                              that relates the key and values.
  2255                                            properties:
  2256                                              key:
  2257                                                description: The label key that the
  2258                                                  selector applies to.
  2259                                                type: string
  2260                                              operator:
  2261                                                description: |-
  2262                                                  Represents a key's relationship to a set of values.
  2263                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  2264                                                type: string
  2265                                              values:
  2266                                                description: |-
  2267                                                  An array of string values. If the operator is In or NotIn,
  2268                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2269                                                  the values array must be empty. If the operator is Gt or Lt, the values
  2270                                                  array must have a single element, which will be interpreted as an integer.
  2271                                                  This array is replaced during a strategic merge patch.
  2272                                                items:
  2273                                                  type: string
  2274                                                type: array
  2275                                                x-kubernetes-list-type: atomic
  2276                                            required:
  2277                                            - key
  2278                                            - operator
  2279                                            type: object
  2280                                          type: array
  2281                                          x-kubernetes-list-type: atomic
  2282                                      type: object
  2283                                      x-kubernetes-map-type: atomic
  2284                                    weight:
  2285                                      description: Weight associated with matching
  2286                                        the corresponding nodeSelectorTerm, in the
  2287                                        range 1-100.
  2288                                      format: int32
  2289                                      type: integer
  2290                                  required:
  2291                                  - preference
  2292                                  - weight
  2293                                  type: object
  2294                                type: array
  2295                                x-kubernetes-list-type: atomic
  2296                              requiredDuringSchedulingIgnoredDuringExecution:
  2297                                description: |-
  2298                                  If the affinity requirements specified by this field are not met at
  2299                                  scheduling time, the pod will not be scheduled onto the node.
  2300                                  If the affinity requirements specified by this field cease to be met
  2301                                  at some point during pod execution (e.g. due to an update), the system
  2302                                  may or may not try to eventually evict the pod from its node.
  2303                                properties:
  2304                                  nodeSelectorTerms:
  2305                                    description: Required. A list of node selector
  2306                                      terms. The terms are ORed.
  2307                                    items:
  2308                                      description: |-
  2309                                        A null or empty node selector term matches no objects. The requirements of
  2310                                        them are ANDed.
  2311                                        The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  2312                                      properties:
  2313                                        matchExpressions:
  2314                                          description: A list of node selector requirements
  2315                                            by node's labels.
  2316                                          items:
  2317                                            description: |-
  2318                                              A node selector requirement is a selector that contains values, a key, and an operator
  2319                                              that relates the key and values.
  2320                                            properties:
  2321                                              key:
  2322                                                description: The label key that the
  2323                                                  selector applies to.
  2324                                                type: string
  2325                                              operator:
  2326                                                description: |-
  2327                                                  Represents a key's relationship to a set of values.
  2328                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  2329                                                type: string
  2330                                              values:
  2331                                                description: |-
  2332                                                  An array of string values. If the operator is In or NotIn,
  2333                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2334                                                  the values array must be empty. If the operator is Gt or Lt, the values
  2335                                                  array must have a single element, which will be interpreted as an integer.
  2336                                                  This array is replaced during a strategic merge patch.
  2337                                                items:
  2338                                                  type: string
  2339                                                type: array
  2340                                                x-kubernetes-list-type: atomic
  2341                                            required:
  2342                                            - key
  2343                                            - operator
  2344                                            type: object
  2345                                          type: array
  2346                                          x-kubernetes-list-type: atomic
  2347                                        matchFields:
  2348                                          description: A list of node selector requirements
  2349                                            by node's fields.
  2350                                          items:
  2351                                            description: |-
  2352                                              A node selector requirement is a selector that contains values, a key, and an operator
  2353                                              that relates the key and values.
  2354                                            properties:
  2355                                              key:
  2356                                                description: The label key that the
  2357                                                  selector applies to.
  2358                                                type: string
  2359                                              operator:
  2360                                                description: |-
  2361                                                  Represents a key's relationship to a set of values.
  2362                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  2363                                                type: string
  2364                                              values:
  2365                                                description: |-
  2366                                                  An array of string values. If the operator is In or NotIn,
  2367                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2368                                                  the values array must be empty. If the operator is Gt or Lt, the values
  2369                                                  array must have a single element, which will be interpreted as an integer.
  2370                                                  This array is replaced during a strategic merge patch.
  2371                                                items:
  2372                                                  type: string
  2373                                                type: array
  2374                                                x-kubernetes-list-type: atomic
  2375                                            required:
  2376                                            - key
  2377                                            - operator
  2378                                            type: object
  2379                                          type: array
  2380                                          x-kubernetes-list-type: atomic
  2381                                      type: object
  2382                                      x-kubernetes-map-type: atomic
  2383                                    type: array
  2384                                    x-kubernetes-list-type: atomic
  2385                                required:
  2386                                - nodeSelectorTerms
  2387                                type: object
  2388                                x-kubernetes-map-type: atomic
  2389                            type: object
  2390                          podAffinity:
  2391                            description: Describes pod affinity scheduling rules (e.g.
  2392                              co-locate this pod in the same node, zone, etc. as some
  2393                              other pod(s)).
  2394                            properties:
  2395                              preferredDuringSchedulingIgnoredDuringExecution:
  2396                                description: |-
  2397                                  The scheduler will prefer to schedule pods to nodes that satisfy
  2398                                  the affinity expressions specified by this field, but it may choose
  2399                                  a node that violates one or more of the expressions. The node that is
  2400                                  most preferred is the one with the greatest sum of weights, i.e.
  2401                                  for each node that meets all of the scheduling requirements (resource
  2402                                  request, requiredDuringScheduling affinity expressions, etc.),
  2403                                  compute a sum by iterating through the elements of this field and adding
  2404                                  "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  2405                                  node(s) with the highest sum are the most preferred.
  2406                                items:
  2407                                  description: The weights of all of the matched WeightedPodAffinityTerm
  2408                                    fields are added per-node to find the most preferred
  2409                                    node(s)
  2410                                  properties:
  2411                                    podAffinityTerm:
  2412                                      description: Required. A pod affinity term,
  2413                                        associated with the corresponding weight.
  2414                                      properties:
  2415                                        labelSelector:
  2416                                          description: |-
  2417                                            A label query over a set of resources, in this case pods.
  2418                                            If it's null, this PodAffinityTerm matches with no Pods.
  2419                                          properties:
  2420                                            matchExpressions:
  2421                                              description: matchExpressions is a list
  2422                                                of label selector requirements. The
  2423                                                requirements are ANDed.
  2424                                              items:
  2425                                                description: |-
  2426                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  2427                                                  relates the key and values.
  2428                                                properties:
  2429                                                  key:
  2430                                                    description: key is the label
  2431                                                      key that the selector applies
  2432                                                      to.
  2433                                                    type: string
  2434                                                  operator:
  2435                                                    description: |-
  2436                                                      operator represents a key's relationship to a set of values.
  2437                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  2438                                                    type: string
  2439                                                  values:
  2440                                                    description: |-
  2441                                                      values is an array of string values. If the operator is In or NotIn,
  2442                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2443                                                      the values array must be empty. This array is replaced during a strategic
  2444                                                      merge patch.
  2445                                                    items:
  2446                                                      type: string
  2447                                                    type: array
  2448                                                    x-kubernetes-list-type: atomic
  2449                                                required:
  2450                                                - key
  2451                                                - operator
  2452                                                type: object
  2453                                              type: array
  2454                                              x-kubernetes-list-type: atomic
  2455                                            matchLabels:
  2456                                              additionalProperties:
  2457                                                type: string
  2458                                              description: |-
  2459                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2460                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  2461                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  2462                                              type: object
  2463                                          type: object
  2464                                          x-kubernetes-map-type: atomic
  2465                                        matchLabelKeys:
  2466                                          description: |-
  2467                                            MatchLabelKeys is a set of pod label keys to select which pods will
  2468                                            be taken into consideration. The keys are used to lookup values from the
  2469                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  2470                                            to select the group of existing pods which pods will be taken into consideration
  2471                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  2472                                            pod labels will be ignored. The default value is empty.
  2473                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  2474                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
  2475                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  2476                                          items:
  2477                                            type: string
  2478                                          type: array
  2479                                          x-kubernetes-list-type: atomic
  2480                                        mismatchLabelKeys:
  2481                                          description: |-
  2482                                            MismatchLabelKeys is a set of pod label keys to select which pods will
  2483                                            be taken into consideration. The keys are used to lookup values from the
  2484                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  2485                                            to select the group of existing pods which pods will be taken into consideration
  2486                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  2487                                            pod labels will be ignored. The default value is empty.
  2488                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  2489                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  2490                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  2491                                          items:
  2492                                            type: string
  2493                                          type: array
  2494                                          x-kubernetes-list-type: atomic
  2495                                        namespaceSelector:
  2496                                          description: |-
  2497                                            A label query over the set of namespaces that the term applies to.
  2498                                            The term is applied to the union of the namespaces selected by this field
  2499                                            and the ones listed in the namespaces field.
  2500                                            null selector and null or empty namespaces list means "this pod's namespace".
  2501                                            An empty selector ({}) matches all namespaces.
  2502                                          properties:
  2503                                            matchExpressions:
  2504                                              description: matchExpressions is a list
  2505                                                of label selector requirements. The
  2506                                                requirements are ANDed.
  2507                                              items:
  2508                                                description: |-
  2509                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  2510                                                  relates the key and values.
  2511                                                properties:
  2512                                                  key:
  2513                                                    description: key is the label
  2514                                                      key that the selector applies
  2515                                                      to.
  2516                                                    type: string
  2517                                                  operator:
  2518                                                    description: |-
  2519                                                      operator represents a key's relationship to a set of values.
  2520                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  2521                                                    type: string
  2522                                                  values:
  2523                                                    description: |-
  2524                                                      values is an array of string values. If the operator is In or NotIn,
  2525                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2526                                                      the values array must be empty. This array is replaced during a strategic
  2527                                                      merge patch.
  2528                                                    items:
  2529                                                      type: string
  2530                                                    type: array
  2531                                                    x-kubernetes-list-type: atomic
  2532                                                required:
  2533                                                - key
  2534                                                - operator
  2535                                                type: object
  2536                                              type: array
  2537                                              x-kubernetes-list-type: atomic
  2538                                            matchLabels:
  2539                                              additionalProperties:
  2540                                                type: string
  2541                                              description: |-
  2542                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2543                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  2544                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  2545                                              type: object
  2546                                          type: object
  2547                                          x-kubernetes-map-type: atomic
  2548                                        namespaces:
  2549                                          description: |-
  2550                                            namespaces specifies a static list of namespace names that the term applies to.
  2551                                            The term is applied to the union of the namespaces listed in this field
  2552                                            and the ones selected by namespaceSelector.
  2553                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  2554                                          items:
  2555                                            type: string
  2556                                          type: array
  2557                                          x-kubernetes-list-type: atomic
  2558                                        topologyKey:
  2559                                          description: |-
  2560                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  2561                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
  2562                                            whose value of the label with key topologyKey matches that of any node on which any of the
  2563                                            selected pods is running.
  2564                                            Empty topologyKey is not allowed.
  2565                                          type: string
  2566                                      required:
  2567                                      - topologyKey
  2568                                      type: object
  2569                                    weight:
  2570                                      description: |-
  2571                                        weight associated with matching the corresponding podAffinityTerm,
  2572                                        in the range 1-100.
  2573                                      format: int32
  2574                                      type: integer
  2575                                  required:
  2576                                  - podAffinityTerm
  2577                                  - weight
  2578                                  type: object
  2579                                type: array
  2580                                x-kubernetes-list-type: atomic
  2581                              requiredDuringSchedulingIgnoredDuringExecution:
  2582                                description: |-
  2583                                  If the affinity requirements specified by this field are not met at
  2584                                  scheduling time, the pod will not be scheduled onto the node.
  2585                                  If the affinity requirements specified by this field cease to be met
  2586                                  at some point during pod execution (e.g. due to a pod label update), the
  2587                                  system may or may not try to eventually evict the pod from its node.
  2588                                  When there are multiple elements, the lists of nodes corresponding to each
  2589                                  podAffinityTerm are intersected, i.e. all terms must be satisfied.
  2590                                items:
  2591                                  description: |-
  2592                                    Defines a set of pods (namely those matching the labelSelector
  2593                                    relative to the given namespace(s)) that this pod should be
  2594                                    co-located (affinity) or not co-located (anti-affinity) with,
  2595                                    where co-located is defined as running on a node whose value of
  2596                                    the label with key <topologyKey> matches that of any node on which
  2597                                    a pod of the set of pods is running
  2598                                  properties:
  2599                                    labelSelector:
  2600                                      description: |-
  2601                                        A label query over a set of resources, in this case pods.
  2602                                        If it's null, this PodAffinityTerm matches with no Pods.
  2603                                      properties:
  2604                                        matchExpressions:
  2605                                          description: matchExpressions is a list
  2606                                            of label selector requirements. The requirements
  2607                                            are ANDed.
  2608                                          items:
  2609                                            description: |-
  2610                                              A label selector requirement is a selector that contains values, a key, and an operator that
  2611                                              relates the key and values.
  2612                                            properties:
  2613                                              key:
  2614                                                description: key is the label key
  2615                                                  that the selector applies to.
  2616                                                type: string
  2617                                              operator:
  2618                                                description: |-
  2619                                                  operator represents a key's relationship to a set of values.
  2620                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  2621                                                type: string
  2622                                              values:
  2623                                                description: |-
  2624                                                  values is an array of string values. If the operator is In or NotIn,
  2625                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2626                                                  the values array must be empty. This array is replaced during a strategic
  2627                                                  merge patch.
  2628                                                items:
  2629                                                  type: string
  2630                                                type: array
  2631                                                x-kubernetes-list-type: atomic
  2632                                            required:
  2633                                            - key
  2634                                            - operator
  2635                                            type: object
  2636                                          type: array
  2637                                          x-kubernetes-list-type: atomic
  2638                                        matchLabels:
  2639                                          additionalProperties:
  2640                                            type: string
  2641                                          description: |-
  2642                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2643                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  2644                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  2645                                          type: object
  2646                                      type: object
  2647                                      x-kubernetes-map-type: atomic
  2648                                    matchLabelKeys:
  2649                                      description: |-
  2650                                        MatchLabelKeys is a set of pod label keys to select which pods will
  2651                                        be taken into consideration. The keys are used to lookup values from the
  2652                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  2653                                        to select the group of existing pods which pods will be taken into consideration
  2654                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  2655                                        pod labels will be ignored. The default value is empty.
  2656                                        The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  2657                                        Also, matchLabelKeys cannot be set when labelSelector isn't set.
  2658                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  2659                                      items:
  2660                                        type: string
  2661                                      type: array
  2662                                      x-kubernetes-list-type: atomic
  2663                                    mismatchLabelKeys:
  2664                                      description: |-
  2665                                        MismatchLabelKeys is a set of pod label keys to select which pods will
  2666                                        be taken into consideration. The keys are used to lookup values from the
  2667                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  2668                                        to select the group of existing pods which pods will be taken into consideration
  2669                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  2670                                        pod labels will be ignored. The default value is empty.
  2671                                        The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  2672                                        Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  2673                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  2674                                      items:
  2675                                        type: string
  2676                                      type: array
  2677                                      x-kubernetes-list-type: atomic
  2678                                    namespaceSelector:
  2679                                      description: |-
  2680                                        A label query over the set of namespaces that the term applies to.
  2681                                        The term is applied to the union of the namespaces selected by this field
  2682                                        and the ones listed in the namespaces field.
  2683                                        null selector and null or empty namespaces list means "this pod's namespace".
  2684                                        An empty selector ({}) matches all namespaces.
  2685                                      properties:
  2686                                        matchExpressions:
  2687                                          description: matchExpressions is a list
  2688                                            of label selector requirements. The requirements
  2689                                            are ANDed.
  2690                                          items:
  2691                                            description: |-
  2692                                              A label selector requirement is a selector that contains values, a key, and an operator that
  2693                                              relates the key and values.
  2694                                            properties:
  2695                                              key:
  2696                                                description: key is the label key
  2697                                                  that the selector applies to.
  2698                                                type: string
  2699                                              operator:
  2700                                                description: |-
  2701                                                  operator represents a key's relationship to a set of values.
  2702                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  2703                                                type: string
  2704                                              values:
  2705                                                description: |-
  2706                                                  values is an array of string values. If the operator is In or NotIn,
  2707                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2708                                                  the values array must be empty. This array is replaced during a strategic
  2709                                                  merge patch.
  2710                                                items:
  2711                                                  type: string
  2712                                                type: array
  2713                                                x-kubernetes-list-type: atomic
  2714                                            required:
  2715                                            - key
  2716                                            - operator
  2717                                            type: object
  2718                                          type: array
  2719                                          x-kubernetes-list-type: atomic
  2720                                        matchLabels:
  2721                                          additionalProperties:
  2722                                            type: string
  2723                                          description: |-
  2724                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2725                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  2726                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  2727                                          type: object
  2728                                      type: object
  2729                                      x-kubernetes-map-type: atomic
  2730                                    namespaces:
  2731                                      description: |-
  2732                                        namespaces specifies a static list of namespace names that the term applies to.
  2733                                        The term is applied to the union of the namespaces listed in this field
  2734                                        and the ones selected by namespaceSelector.
  2735                                        null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  2736                                      items:
  2737                                        type: string
  2738                                      type: array
  2739                                      x-kubernetes-list-type: atomic
  2740                                    topologyKey:
  2741                                      description: |-
  2742                                        This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  2743                                        the labelSelector in the specified namespaces, where co-located is defined as running on a node
  2744                                        whose value of the label with key topologyKey matches that of any node on which any of the
  2745                                        selected pods is running.
  2746                                        Empty topologyKey is not allowed.
  2747                                      type: string
  2748                                  required:
  2749                                  - topologyKey
  2750                                  type: object
  2751                                type: array
  2752                                x-kubernetes-list-type: atomic
  2753                            type: object
  2754                          podAntiAffinity:
  2755                            description: Describes pod anti-affinity scheduling rules
  2756                              (e.g. avoid putting this pod in the same node, zone,
  2757                              etc. as some other pod(s)).
  2758                            properties:
  2759                              preferredDuringSchedulingIgnoredDuringExecution:
  2760                                description: |-
  2761                                  The scheduler will prefer to schedule pods to nodes that satisfy
  2762                                  the anti-affinity expressions specified by this field, but it may choose
  2763                                  a node that violates one or more of the expressions. The node that is
  2764                                  most preferred is the one with the greatest sum of weights, i.e.
  2765                                  for each node that meets all of the scheduling requirements (resource
  2766                                  request, requiredDuringScheduling anti-affinity expressions, etc.),
  2767                                  compute a sum by iterating through the elements of this field and adding
  2768                                  "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  2769                                  node(s) with the highest sum are the most preferred.
  2770                                items:
  2771                                  description: The weights of all of the matched WeightedPodAffinityTerm
  2772                                    fields are added per-node to find the most preferred
  2773                                    node(s)
  2774                                  properties:
  2775                                    podAffinityTerm:
  2776                                      description: Required. A pod affinity term,
  2777                                        associated with the corresponding weight.
  2778                                      properties:
  2779                                        labelSelector:
  2780                                          description: |-
  2781                                            A label query over a set of resources, in this case pods.
  2782                                            If it's null, this PodAffinityTerm matches with no Pods.
  2783                                          properties:
  2784                                            matchExpressions:
  2785                                              description: matchExpressions is a list
  2786                                                of label selector requirements. The
  2787                                                requirements are ANDed.
  2788                                              items:
  2789                                                description: |-
  2790                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  2791                                                  relates the key and values.
  2792                                                properties:
  2793                                                  key:
  2794                                                    description: key is the label
  2795                                                      key that the selector applies
  2796                                                      to.
  2797                                                    type: string
  2798                                                  operator:
  2799                                                    description: |-
  2800                                                      operator represents a key's relationship to a set of values.
  2801                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  2802                                                    type: string
  2803                                                  values:
  2804                                                    description: |-
  2805                                                      values is an array of string values. If the operator is In or NotIn,
  2806                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2807                                                      the values array must be empty. This array is replaced during a strategic
  2808                                                      merge patch.
  2809                                                    items:
  2810                                                      type: string
  2811                                                    type: array
  2812                                                    x-kubernetes-list-type: atomic
  2813                                                required:
  2814                                                - key
  2815                                                - operator
  2816                                                type: object
  2817                                              type: array
  2818                                              x-kubernetes-list-type: atomic
  2819                                            matchLabels:
  2820                                              additionalProperties:
  2821                                                type: string
  2822                                              description: |-
  2823                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2824                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  2825                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  2826                                              type: object
  2827                                          type: object
  2828                                          x-kubernetes-map-type: atomic
  2829                                        matchLabelKeys:
  2830                                          description: |-
  2831                                            MatchLabelKeys is a set of pod label keys to select which pods will
  2832                                            be taken into consideration. The keys are used to lookup values from the
  2833                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  2834                                            to select the group of existing pods which pods will be taken into consideration
  2835                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  2836                                            pod labels will be ignored. The default value is empty.
  2837                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  2838                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
  2839                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  2840                                          items:
  2841                                            type: string
  2842                                          type: array
  2843                                          x-kubernetes-list-type: atomic
  2844                                        mismatchLabelKeys:
  2845                                          description: |-
  2846                                            MismatchLabelKeys is a set of pod label keys to select which pods will
  2847                                            be taken into consideration. The keys are used to lookup values from the
  2848                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  2849                                            to select the group of existing pods which pods will be taken into consideration
  2850                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  2851                                            pod labels will be ignored. The default value is empty.
  2852                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  2853                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  2854                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  2855                                          items:
  2856                                            type: string
  2857                                          type: array
  2858                                          x-kubernetes-list-type: atomic
  2859                                        namespaceSelector:
  2860                                          description: |-
  2861                                            A label query over the set of namespaces that the term applies to.
  2862                                            The term is applied to the union of the namespaces selected by this field
  2863                                            and the ones listed in the namespaces field.
  2864                                            null selector and null or empty namespaces list means "this pod's namespace".
  2865                                            An empty selector ({}) matches all namespaces.
  2866                                          properties:
  2867                                            matchExpressions:
  2868                                              description: matchExpressions is a list
  2869                                                of label selector requirements. The
  2870                                                requirements are ANDed.
  2871                                              items:
  2872                                                description: |-
  2873                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  2874                                                  relates the key and values.
  2875                                                properties:
  2876                                                  key:
  2877                                                    description: key is the label
  2878                                                      key that the selector applies
  2879                                                      to.
  2880                                                    type: string
  2881                                                  operator:
  2882                                                    description: |-
  2883                                                      operator represents a key's relationship to a set of values.
  2884                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  2885                                                    type: string
  2886                                                  values:
  2887                                                    description: |-
  2888                                                      values is an array of string values. If the operator is In or NotIn,
  2889                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2890                                                      the values array must be empty. This array is replaced during a strategic
  2891                                                      merge patch.
  2892                                                    items:
  2893                                                      type: string
  2894                                                    type: array
  2895                                                    x-kubernetes-list-type: atomic
  2896                                                required:
  2897                                                - key
  2898                                                - operator
  2899                                                type: object
  2900                                              type: array
  2901                                              x-kubernetes-list-type: atomic
  2902                                            matchLabels:
  2903                                              additionalProperties:
  2904                                                type: string
  2905                                              description: |-
  2906                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2907                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  2908                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  2909                                              type: object
  2910                                          type: object
  2911                                          x-kubernetes-map-type: atomic
  2912                                        namespaces:
  2913                                          description: |-
  2914                                            namespaces specifies a static list of namespace names that the term applies to.
  2915                                            The term is applied to the union of the namespaces listed in this field
  2916                                            and the ones selected by namespaceSelector.
  2917                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  2918                                          items:
  2919                                            type: string
  2920                                          type: array
  2921                                          x-kubernetes-list-type: atomic
  2922                                        topologyKey:
  2923                                          description: |-
  2924                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  2925                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
  2926                                            whose value of the label with key topologyKey matches that of any node on which any of the
  2927                                            selected pods is running.
  2928                                            Empty topologyKey is not allowed.
  2929                                          type: string
  2930                                      required:
  2931                                      - topologyKey
  2932                                      type: object
  2933                                    weight:
  2934                                      description: |-
  2935                                        weight associated with matching the corresponding podAffinityTerm,
  2936                                        in the range 1-100.
  2937                                      format: int32
  2938                                      type: integer
  2939                                  required:
  2940                                  - podAffinityTerm
  2941                                  - weight
  2942                                  type: object
  2943                                type: array
  2944                                x-kubernetes-list-type: atomic
  2945                              requiredDuringSchedulingIgnoredDuringExecution:
  2946                                description: |-
  2947                                  If the anti-affinity requirements specified by this field are not met at
  2948                                  scheduling time, the pod will not be scheduled onto the node.
  2949                                  If the anti-affinity requirements specified by this field cease to be met
  2950                                  at some point during pod execution (e.g. due to a pod label update), the
  2951                                  system may or may not try to eventually evict the pod from its node.
  2952                                  When there are multiple elements, the lists of nodes corresponding to each
  2953                                  podAffinityTerm are intersected, i.e. all terms must be satisfied.
  2954                                items:
  2955                                  description: |-
  2956                                    Defines a set of pods (namely those matching the labelSelector
  2957                                    relative to the given namespace(s)) that this pod should be
  2958                                    co-located (affinity) or not co-located (anti-affinity) with,
  2959                                    where co-located is defined as running on a node whose value of
  2960                                    the label with key <topologyKey> matches that of any node on which
  2961                                    a pod of the set of pods is running
  2962                                  properties:
  2963                                    labelSelector:
  2964                                      description: |-
  2965                                        A label query over a set of resources, in this case pods.
  2966                                        If it's null, this PodAffinityTerm matches with no Pods.
  2967                                      properties:
  2968                                        matchExpressions:
  2969                                          description: matchExpressions is a list
  2970                                            of label selector requirements. The requirements
  2971                                            are ANDed.
  2972                                          items:
  2973                                            description: |-
  2974                                              A label selector requirement is a selector that contains values, a key, and an operator that
  2975                                              relates the key and values.
  2976                                            properties:
  2977                                              key:
  2978                                                description: key is the label key
  2979                                                  that the selector applies to.
  2980                                                type: string
  2981                                              operator:
  2982                                                description: |-
  2983                                                  operator represents a key's relationship to a set of values.
  2984                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  2985                                                type: string
  2986                                              values:
  2987                                                description: |-
  2988                                                  values is an array of string values. If the operator is In or NotIn,
  2989                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2990                                                  the values array must be empty. This array is replaced during a strategic
  2991                                                  merge patch.
  2992                                                items:
  2993                                                  type: string
  2994                                                type: array
  2995                                                x-kubernetes-list-type: atomic
  2996                                            required:
  2997                                            - key
  2998                                            - operator
  2999                                            type: object
  3000                                          type: array
  3001                                          x-kubernetes-list-type: atomic
  3002                                        matchLabels:
  3003                                          additionalProperties:
  3004                                            type: string
  3005                                          description: |-
  3006                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  3007                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  3008                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  3009                                          type: object
  3010                                      type: object
  3011                                      x-kubernetes-map-type: atomic
  3012                                    matchLabelKeys:
  3013                                      description: |-
  3014                                        MatchLabelKeys is a set of pod label keys to select which pods will
  3015                                        be taken into consideration. The keys are used to lookup values from the
  3016                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  3017                                        to select the group of existing pods which pods will be taken into consideration
  3018                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  3019                                        pod labels will be ignored. The default value is empty.
  3020                                        The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  3021                                        Also, matchLabelKeys cannot be set when labelSelector isn't set.
  3022                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  3023                                      items:
  3024                                        type: string
  3025                                      type: array
  3026                                      x-kubernetes-list-type: atomic
  3027                                    mismatchLabelKeys:
  3028                                      description: |-
  3029                                        MismatchLabelKeys is a set of pod label keys to select which pods will
  3030                                        be taken into consideration. The keys are used to lookup values from the
  3031                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  3032                                        to select the group of existing pods which pods will be taken into consideration
  3033                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  3034                                        pod labels will be ignored. The default value is empty.
  3035                                        The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  3036                                        Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  3037                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  3038                                      items:
  3039                                        type: string
  3040                                      type: array
  3041                                      x-kubernetes-list-type: atomic
  3042                                    namespaceSelector:
  3043                                      description: |-
  3044                                        A label query over the set of namespaces that the term applies to.
  3045                                        The term is applied to the union of the namespaces selected by this field
  3046                                        and the ones listed in the namespaces field.
  3047                                        null selector and null or empty namespaces list means "this pod's namespace".
  3048                                        An empty selector ({}) matches all namespaces.
  3049                                      properties:
  3050                                        matchExpressions:
  3051                                          description: matchExpressions is a list
  3052                                            of label selector requirements. The requirements
  3053                                            are ANDed.
  3054                                          items:
  3055                                            description: |-
  3056                                              A label selector requirement is a selector that contains values, a key, and an operator that
  3057                                              relates the key and values.
  3058                                            properties:
  3059                                              key:
  3060                                                description: key is the label key
  3061                                                  that the selector applies to.
  3062                                                type: string
  3063                                              operator:
  3064                                                description: |-
  3065                                                  operator represents a key's relationship to a set of values.
  3066                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  3067                                                type: string
  3068                                              values:
  3069                                                description: |-
  3070                                                  values is an array of string values. If the operator is In or NotIn,
  3071                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3072                                                  the values array must be empty. This array is replaced during a strategic
  3073                                                  merge patch.
  3074                                                items:
  3075                                                  type: string
  3076                                                type: array
  3077                                                x-kubernetes-list-type: atomic
  3078                                            required:
  3079                                            - key
  3080                                            - operator
  3081                                            type: object
  3082                                          type: array
  3083                                          x-kubernetes-list-type: atomic
  3084                                        matchLabels:
  3085                                          additionalProperties:
  3086                                            type: string
  3087                                          description: |-
  3088                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  3089                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  3090                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  3091                                          type: object
  3092                                      type: object
  3093                                      x-kubernetes-map-type: atomic
  3094                                    namespaces:
  3095                                      description: |-
  3096                                        namespaces specifies a static list of namespace names that the term applies to.
  3097                                        The term is applied to the union of the namespaces listed in this field
  3098                                        and the ones selected by namespaceSelector.
  3099                                        null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  3100                                      items:
  3101                                        type: string
  3102                                      type: array
  3103                                      x-kubernetes-list-type: atomic
  3104                                    topologyKey:
  3105                                      description: |-
  3106                                        This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  3107                                        the labelSelector in the specified namespaces, where co-located is defined as running on a node
  3108                                        whose value of the label with key topologyKey matches that of any node on which any of the
  3109                                        selected pods is running.
  3110                                        Empty topologyKey is not allowed.
  3111                                      type: string
  3112                                  required:
  3113                                  - topologyKey
  3114                                  type: object
  3115                                type: array
  3116                                x-kubernetes-list-type: atomic
  3117                            type: object
  3118                        type: object
  3119                      nodeSelector:
  3120                        additionalProperties:
  3121                          type: string
  3122                        description: |-
  3123                          nodeSelector is the node selector applied to the relevant kind of pods
  3124                          It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
  3125                          the node must have each of the indicated key-value pairs as labels
  3126                          (it can have additional labels as well).
  3127                          See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  3128                        type: object
  3129                      tolerations:
  3130                        description: |-
  3131                          tolerations is a list of tolerations applied to the relevant kind of pods
  3132                          See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
  3133                          These are additional tolerations other than default ones.
  3134                        items:
  3135                          description: |-
  3136                            The pod this Toleration is attached to tolerates any taint that matches
  3137                            the triple <key,value,effect> using the matching operator <operator>.
  3138                          properties:
  3139                            effect:
  3140                              description: |-
  3141                                Effect indicates the taint effect to match. Empty means match all taint effects.
  3142                                When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  3143                              type: string
  3144                            key:
  3145                              description: |-
  3146                                Key is the taint key that the toleration applies to. Empty means match all taint keys.
  3147                                If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  3148                              type: string
  3149                            operator:
  3150                              description: |-
  3151                                Operator represents a key's relationship to the value.
  3152                                Valid operators are Exists and Equal. Defaults to Equal.
  3153                                Exists is equivalent to wildcard for value, so that a pod can
  3154                                tolerate all taints of a particular category.
  3155                              type: string
  3156                            tolerationSeconds:
  3157                              description: |-
  3158                                TolerationSeconds represents the period of time the toleration (which must be
  3159                                of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  3160                                it is not set, which means tolerate the taint forever (do not evict). Zero and
  3161                                negative values will be treated as 0 (evict immediately) by the system.
  3162                              format: int64
  3163                              type: integer
  3164                            value:
  3165                              description: |-
  3166                                Value is the taint value the toleration matches to.
  3167                                If the operator is Exists, the value should be empty, otherwise just a regular string.
  3168                              type: string
  3169                          type: object
  3170                        type: array
  3171                    type: object
  3172                  replicas:
  3173                    description: |-
  3174                      replicas indicates how many replicas should be created for each KubeVirt infrastructure
  3175                      component (like virt-api or virt-controller). Defaults to 2.
  3176                      WARNING: this is an advanced feature that prevents auto-scaling for core kubevirt components. Please use with caution!
  3177                    type: integer
  3178                type: object
  3179            type: object
  3180          status:
  3181            description: KubeVirtStatus represents information pertaining to a KubeVirt
  3182              deployment.
  3183            properties:
  3184              conditions:
  3185                items:
  3186                  description: KubeVirtCondition represents a condition of a KubeVirt
  3187                    deployment
  3188                  properties:
  3189                    lastProbeTime:
  3190                      format: date-time
  3191                      nullable: true
  3192                      type: string
  3193                    lastTransitionTime:
  3194                      format: date-time
  3195                      nullable: true
  3196                      type: string
  3197                    message:
  3198                      type: string
  3199                    reason:
  3200                      type: string
  3201                    status:
  3202                      type: string
  3203                    type:
  3204                      type: string
  3205                  required:
  3206                  - status
  3207                  - type
  3208                  type: object
  3209                type: array
  3210              defaultArchitecture:
  3211                type: string
  3212              generations:
  3213                items:
  3214                  description: GenerationStatus keeps track of the generation for
  3215                    a given resource so that decisions about forced updates can be
  3216                    made.
  3217                  properties:
  3218                    group:
  3219                      description: group is the group of the thing you're tracking
  3220                      type: string
  3221                    hash:
  3222                      description: hash is an optional field set for resources without
  3223                        generation that are content sensitive like secrets and configmaps
  3224                      type: string
  3225                    lastGeneration:
  3226                      description: lastGeneration is the last generation of the workload
  3227                        controller involved
  3228                      format: int64
  3229                      type: integer
  3230                    name:
  3231                      description: name is the name of the thing you're tracking
  3232                      type: string
  3233                    namespace:
  3234                      description: namespace is where the thing you're tracking is
  3235                      type: string
  3236                    resource:
  3237                      description: resource is the resource type of the thing you're
  3238                        tracking
  3239                      type: string
  3240                  required:
  3241                  - group
  3242                  - lastGeneration
  3243                  - name
  3244                  - resource
  3245                  type: object
  3246                type: array
  3247                x-kubernetes-list-type: atomic
  3248              observedDeploymentConfig:
  3249                type: string
  3250              observedDeploymentID:
  3251                type: string
  3252              observedGeneration:
  3253                format: int64
  3254                type: integer
  3255              observedKubeVirtRegistry:
  3256                type: string
  3257              observedKubeVirtVersion:
  3258                type: string
  3259              operatorVersion:
  3260                type: string
  3261              outdatedVirtualMachineInstanceWorkloads:
  3262                type: integer
  3263              phase:
  3264                description: KubeVirtPhase is a label for the phase of a KubeVirt
  3265                  deployment at the current time.
  3266                type: string
  3267              targetDeploymentConfig:
  3268                type: string
  3269              targetDeploymentID:
  3270                type: string
  3271              targetKubeVirtRegistry:
  3272                type: string
  3273              targetKubeVirtVersion:
  3274                type: string
  3275            type: object
  3276        required:
  3277        - spec
  3278        type: object
  3279    served: true
  3280    storage: true
  3281    subresources:
  3282      status: {}
  3283  - additionalPrinterColumns:
  3284    - jsonPath: .metadata.creationTimestamp
  3285      name: Age
  3286      type: date
  3287    - jsonPath: .status.phase
  3288      name: Phase
  3289      type: string
  3290    deprecated: true
  3291    deprecationWarning: kubevirt.io/v1alpha3 is now deprecated and will be removed
  3292      in a future release.
  3293    name: v1alpha3
  3294    schema:
  3295      openAPIV3Schema:
  3296        description: KubeVirt represents the object deploying all KubeVirt resources
  3297        properties:
  3298          apiVersion:
  3299            description: |-
  3300              APIVersion defines the versioned schema of this representation of an object.
  3301              Servers should convert recognized schemas to the latest internal value, and
  3302              may reject unrecognized values.
  3303              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  3304            type: string
  3305          kind:
  3306            description: |-
  3307              Kind is a string value representing the REST resource this object represents.
  3308              Servers may infer this from the endpoint the client submits requests to.
  3309              Cannot be updated.
  3310              In CamelCase.
  3311              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  3312            type: string
  3313          metadata:
  3314            type: object
  3315          spec:
  3316            properties:
  3317              certificateRotateStrategy:
  3318                properties:
  3319                  selfSigned:
  3320                    properties:
  3321                      ca:
  3322                        description: |-
  3323                          CA configuration
  3324                          CA certs are kept in the CA bundle as long as they are valid
  3325                        properties:
  3326                          duration:
  3327                            description: The requested 'duration' (i.e. lifetime)
  3328                              of the Certificate.
  3329                            type: string
  3330                          renewBefore:
  3331                            description: |-
  3332                              The amount of time before the currently issued certificate's "notAfter"
  3333                              time that we will begin to attempt to renew the certificate.
  3334                            type: string
  3335                        type: object
  3336                      caOverlapInterval:
  3337                        description: Deprecated. Use CA.Duration and CA.RenewBefore
  3338                          instead
  3339                        type: string
  3340                      caRotateInterval:
  3341                        description: Deprecated. Use CA.Duration instead
  3342                        type: string
  3343                      certRotateInterval:
  3344                        description: Deprecated. Use Server.Duration instead
  3345                        type: string
  3346                      server:
  3347                        description: |-
  3348                          Server configuration
  3349                          Certs are rotated and discarded
  3350                        properties:
  3351                          duration:
  3352                            description: The requested 'duration' (i.e. lifetime)
  3353                              of the Certificate.
  3354                            type: string
  3355                          renewBefore:
  3356                            description: |-
  3357                              The amount of time before the currently issued certificate's "notAfter"
  3358                              time that we will begin to attempt to renew the certificate.
  3359                            type: string
  3360                        type: object
  3361                    type: object
  3362                type: object
  3363              configuration:
  3364                description: |-
  3365                  holds kubevirt configurations.
  3366                  same as the virt-configMap
  3367                properties:
  3368                  additionalGuestMemoryOverheadRatio:
  3369                    description: |-
  3370                      AdditionalGuestMemoryOverheadRatio can be used to increase the virtualization infrastructure
  3371                      overhead. This is useful, since the calculation of this overhead is not accurate and cannot
  3372                      be entirely known in advance. The ratio that is being set determines by which factor to increase
  3373                      the overhead calculated by Kubevirt. A higher ratio means that the VMs would be less compromised
  3374                      by node pressures, but would mean that fewer VMs could be scheduled to a node.
  3375                      If not set, the default is 1.
  3376                    type: string
  3377                  apiConfiguration:
  3378                    description: |-
  3379                      ReloadableComponentConfiguration holds all generic k8s configuration options which can
  3380                      be reloaded by components without requiring a restart.
  3381                    properties:
  3382                      restClient:
  3383                        description: RestClient can be used to tune certain aspects
  3384                          of the k8s client in use.
  3385                        properties:
  3386                          rateLimiter:
  3387                            description: RateLimiter allows selecting and configuring
  3388                              different rate limiters for the k8s client.
  3389                            properties:
  3390                              tokenBucketRateLimiter:
  3391                                properties:
  3392                                  burst:
  3393                                    description: |-
  3394                                      Maximum burst for throttle.
  3395                                      If it's zero, the component default will be used
  3396                                    type: integer
  3397                                  qps:
  3398                                    description: |-
  3399                                      QPS indicates the maximum QPS to the apiserver from this client.
  3400                                      If it's zero, the component default will be used
  3401                                    type: number
  3402                                required:
  3403                                - burst
  3404                                - qps
  3405                                type: object
  3406                            type: object
  3407                        type: object
  3408                    type: object
  3409                  architectureConfiguration:
  3410                    properties:
  3411                      amd64:
  3412                        properties:
  3413                          emulatedMachines:
  3414                            items:
  3415                              type: string
  3416                            type: array
  3417                            x-kubernetes-list-type: atomic
  3418                          machineType:
  3419                            type: string
  3420                          ovmfPath:
  3421                            type: string
  3422                        type: object
  3423                      arm64:
  3424                        properties:
  3425                          emulatedMachines:
  3426                            items:
  3427                              type: string
  3428                            type: array
  3429                            x-kubernetes-list-type: atomic
  3430                          machineType:
  3431                            type: string
  3432                          ovmfPath:
  3433                            type: string
  3434                        type: object
  3435                      defaultArchitecture:
  3436                        type: string
  3437                      ppc64le:
  3438                        properties:
  3439                          emulatedMachines:
  3440                            items:
  3441                              type: string
  3442                            type: array
  3443                            x-kubernetes-list-type: atomic
  3444                          machineType:
  3445                            type: string
  3446                          ovmfPath:
  3447                            type: string
  3448                        type: object
  3449                    type: object
  3450                  autoCPULimitNamespaceLabelSelector:
  3451                    description: |-
  3452                      When set, AutoCPULimitNamespaceLabelSelector will set a CPU limit on virt-launcher for VMIs running inside
  3453                      namespaces that match the label selector.
  3454                      The CPU limit will equal the number of requested vCPUs.
  3455                      This setting does not apply to VMIs with dedicated CPUs.
  3456                    properties:
  3457                      matchExpressions:
  3458                        description: matchExpressions is a list of label selector
  3459                          requirements. The requirements are ANDed.
  3460                        items:
  3461                          description: |-
  3462                            A label selector requirement is a selector that contains values, a key, and an operator that
  3463                            relates the key and values.
  3464                          properties:
  3465                            key:
  3466                              description: key is the label key that the selector
  3467                                applies to.
  3468                              type: string
  3469                            operator:
  3470                              description: |-
  3471                                operator represents a key's relationship to a set of values.
  3472                                Valid operators are In, NotIn, Exists and DoesNotExist.
  3473                              type: string
  3474                            values:
  3475                              description: |-
  3476                                values is an array of string values. If the operator is In or NotIn,
  3477                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3478                                the values array must be empty. This array is replaced during a strategic
  3479                                merge patch.
  3480                              items:
  3481                                type: string
  3482                              type: array
  3483                              x-kubernetes-list-type: atomic
  3484                          required:
  3485                          - key
  3486                          - operator
  3487                          type: object
  3488                        type: array
  3489                        x-kubernetes-list-type: atomic
  3490                      matchLabels:
  3491                        additionalProperties:
  3492                          type: string
  3493                        description: |-
  3494                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  3495                          map is equivalent to an element of matchExpressions, whose key field is "key", the
  3496                          operator is "In", and the values array contains only "value". The requirements are ANDed.
  3497                        type: object
  3498                    type: object
  3499                    x-kubernetes-map-type: atomic
  3500                  commonInstancetypesDeployment:
  3501                    description: CommonInstancetypesDeployment controls the deployment
  3502                      of common-instancetypes resources
  3503                    nullable: true
  3504                    properties:
  3505                      enabled:
  3506                        description: Enabled controls the deployment of common-instancetypes
  3507                          resources, defaults to True.
  3508                        nullable: true
  3509                        type: boolean
  3510                    type: object
  3511                  controllerConfiguration:
  3512                    description: |-
  3513                      ReloadableComponentConfiguration holds all generic k8s configuration options which can
  3514                      be reloaded by components without requiring a restart.
  3515                    properties:
  3516                      restClient:
  3517                        description: RestClient can be used to tune certain aspects
  3518                          of the k8s client in use.
  3519                        properties:
  3520                          rateLimiter:
  3521                            description: RateLimiter allows selecting and configuring
  3522                              different rate limiters for the k8s client.
  3523                            properties:
  3524                              tokenBucketRateLimiter:
  3525                                properties:
  3526                                  burst:
  3527                                    description: |-
  3528                                      Maximum burst for throttle.
  3529                                      If it's zero, the component default will be used
  3530                                    type: integer
  3531                                  qps:
  3532                                    description: |-
  3533                                      QPS indicates the maximum QPS to the apiserver from this client.
  3534                                      If it's zero, the component default will be used
  3535                                    type: number
  3536                                required:
  3537                                - burst
  3538                                - qps
  3539                                type: object
  3540                            type: object
  3541                        type: object
  3542                    type: object
  3543                  cpuModel:
  3544                    type: string
  3545                  cpuRequest:
  3546                    anyOf:
  3547                    - type: integer
  3548                    - type: string
  3549                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3550                    x-kubernetes-int-or-string: true
  3551                  defaultRuntimeClass:
  3552                    type: string
  3553                  developerConfiguration:
  3554                    description: DeveloperConfiguration holds developer options
  3555                    properties:
  3556                      cpuAllocationRatio:
  3557                        description: |-
  3558                          For each requested virtual CPU, CPUAllocationRatio defines how much physical CPU to request per VMI
  3559                          from the hosting node. The value is in fraction of a CPU thread (or core on non-hyperthreaded nodes).
  3560                          For example, a value of 1 means 1 physical CPU thread per VMI CPU thread.
  3561                          A value of 100 would be 1% of a physical thread allocated for each requested VMI thread.
  3562                          This option has no effect on VMIs that request dedicated CPUs. More information at:
  3563                          https://kubevirt.io/user-guide/operations/node_overcommit/#node-cpu-allocation-ratio
  3564                          Defaults to 10
  3565                        type: integer
  3566                      diskVerification:
  3567                        description: DiskVerification holds container disks verification
  3568                          limits
  3569                        properties:
  3570                          memoryLimit:
  3571                            anyOf:
  3572                            - type: integer
  3573                            - type: string
  3574                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3575                            x-kubernetes-int-or-string: true
  3576                        required:
  3577                        - memoryLimit
  3578                        type: object
  3579                      featureGates:
  3580                        description: FeatureGates is the list of experimental features
  3581                          to enable. Defaults to none
  3582                        items:
  3583                          type: string
  3584                        type: array
  3585                      logVerbosity:
  3586                        description: LogVerbosity sets log verbosity level of  various
  3587                          components
  3588                        properties:
  3589                          nodeVerbosity:
  3590                            additionalProperties:
  3591                              type: integer
  3592                            description: NodeVerbosity represents a map of nodes with
  3593                              a specific verbosity level
  3594                            type: object
  3595                          virtAPI:
  3596                            type: integer
  3597                          virtController:
  3598                            type: integer
  3599                          virtHandler:
  3600                            type: integer
  3601                          virtLauncher:
  3602                            type: integer
  3603                          virtOperator:
  3604                            type: integer
  3605                        type: object
  3606                      memoryOvercommit:
  3607                        description: |-
  3608                          MemoryOvercommit is the percentage of memory we want to give VMIs compared to the amount
  3609                          given to its parent pod (virt-launcher). For example, a value of 102 means the VMI will
  3610                          "see" 2% more memory than its parent pod. Values under 100 are effectively "undercommits".
  3611                          Overcommits can lead to memory exhaustion, which in turn can lead to crashes. Use carefully.
  3612                          Defaults to 100
  3613                        type: integer
  3614                      minimumClusterTSCFrequency:
  3615                        description: |-
  3616                          Allow overriding the automatically determined minimum TSC frequency of the cluster
  3617                          and fixate the minimum to this frequency.
  3618                        format: int64
  3619                        type: integer
  3620                      minimumReservePVCBytes:
  3621                        description: |-
  3622                          MinimumReservePVCBytes is the amount of space, in bytes, to leave unused on disks.
  3623                          Defaults to 131072 (128KiB)
  3624                        format: int64
  3625                        type: integer
  3626                      nodeSelectors:
  3627                        additionalProperties:
  3628                          type: string
  3629                        description: |-
  3630                          NodeSelectors allows restricting VMI creation to nodes that match a set of labels.
  3631                          Defaults to none
  3632                        type: object
  3633                      pvcTolerateLessSpaceUpToPercent:
  3634                        description: |-
  3635                          LessPVCSpaceToleration determines how much smaller, in percentage, disk PVCs are
  3636                          allowed to be compared to the requested size (to account for various overheads).
  3637                          Defaults to 10
  3638                        type: integer
  3639                      useEmulation:
  3640                        description: |-
  3641                          UseEmulation can be set to true to allow fallback to software emulation
  3642                          in case hardware-assisted emulation is not available. Defaults to false
  3643                        type: boolean
  3644                    type: object
  3645                  emulatedMachines:
  3646                    description: Deprecated. Use architectureConfiguration instead.
  3647                    items:
  3648                      type: string
  3649                    type: array
  3650                  evictionStrategy:
  3651                    description: |-
  3652                      EvictionStrategy defines at the cluster level if the VirtualMachineInstance should be
  3653                      migrated instead of shut-off in case of a node drain. If the VirtualMachineInstance specific
  3654                      field is set it overrides the cluster level one.
  3655                    type: string
  3656                  handlerConfiguration:
  3657                    description: |-
  3658                      ReloadableComponentConfiguration holds all generic k8s configuration options which can
  3659                      be reloaded by components without requiring a restart.
  3660                    properties:
  3661                      restClient:
  3662                        description: RestClient can be used to tune certain aspects
  3663                          of the k8s client in use.
  3664                        properties:
  3665                          rateLimiter:
  3666                            description: RateLimiter allows selecting and configuring
  3667                              different rate limiters for the k8s client.
  3668                            properties:
  3669                              tokenBucketRateLimiter:
  3670                                properties:
  3671                                  burst:
  3672                                    description: |-
  3673                                      Maximum burst for throttle.
  3674                                      If it's zero, the component default will be used
  3675                                    type: integer
  3676                                  qps:
  3677                                    description: |-
  3678                                      QPS indicates the maximum QPS to the apiserver from this client.
  3679                                      If it's zero, the component default will be used
  3680                                    type: number
  3681                                required:
  3682                                - burst
  3683                                - qps
  3684                                type: object
  3685                            type: object
  3686                        type: object
  3687                    type: object
  3688                  imagePullPolicy:
  3689                    description: PullPolicy describes a policy for if/when to pull
  3690                      a container image
  3691                    type: string
  3692                  instancetype:
  3693                    description: Instancetype configuration
  3694                    nullable: true
  3695                    properties:
  3696                      referencePolicy:
  3697                        description: |-
  3698                          ReferencePolicy defines how an instance type or preference should be referenced by the VM after submission, supported values are:
  3699                          reference (default) - Where a copy of the original object is stashed in a ControllerRevision and referenced by the VM.
  3700                          expand - Where the instance type or preference are expanded into the VM if no revisionNames have been populated.
  3701                          expandAll - Where the instance type or preference are expanded into the VM regardless of revisionNames previously being populated.
  3702                        enum:
  3703                        - reference
  3704                        - expand
  3705                        - expandAll
  3706                        nullable: true
  3707                        type: string
  3708                    type: object
  3709                  ksmConfiguration:
  3710                    description: KSMConfiguration holds the information regarding
  3711                      the enabling the KSM in the nodes (if available).
  3712                    properties:
  3713                      nodeLabelSelector:
  3714                        description: |-
  3715                          NodeLabelSelector is a selector that filters in which nodes the KSM will be enabled.
  3716                          Empty NodeLabelSelector will enable ksm for every node.
  3717                        properties:
  3718                          matchExpressions:
  3719                            description: matchExpressions is a list of label selector
  3720                              requirements. The requirements are ANDed.
  3721                            items:
  3722                              description: |-
  3723                                A label selector requirement is a selector that contains values, a key, and an operator that
  3724                                relates the key and values.
  3725                              properties:
  3726                                key:
  3727                                  description: key is the label key that the selector
  3728                                    applies to.
  3729                                  type: string
  3730                                operator:
  3731                                  description: |-
  3732                                    operator represents a key's relationship to a set of values.
  3733                                    Valid operators are In, NotIn, Exists and DoesNotExist.
  3734                                  type: string
  3735                                values:
  3736                                  description: |-
  3737                                    values is an array of string values. If the operator is In or NotIn,
  3738                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3739                                    the values array must be empty. This array is replaced during a strategic
  3740                                    merge patch.
  3741                                  items:
  3742                                    type: string
  3743                                  type: array
  3744                                  x-kubernetes-list-type: atomic
  3745                              required:
  3746                              - key
  3747                              - operator
  3748                              type: object
  3749                            type: array
  3750                            x-kubernetes-list-type: atomic
  3751                          matchLabels:
  3752                            additionalProperties:
  3753                              type: string
  3754                            description: |-
  3755                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  3756                              map is equivalent to an element of matchExpressions, whose key field is "key", the
  3757                              operator is "In", and the values array contains only "value". The requirements are ANDed.
  3758                            type: object
  3759                        type: object
  3760                        x-kubernetes-map-type: atomic
  3761                    type: object
  3762                  liveUpdateConfiguration:
  3763                    description: LiveUpdateConfiguration holds defaults for live update
  3764                      features
  3765                    properties:
  3766                      maxCpuSockets:
  3767                        description: |-
  3768                          MaxCpuSockets provides a MaxSockets value for VMs that do not provide their own.
  3769                          For VMs with more sockets than maximum the MaxSockets will be set to equal number of sockets.
  3770                        format: int32
  3771                        type: integer
  3772                      maxGuest:
  3773                        anyOf:
  3774                        - type: integer
  3775                        - type: string
  3776                        description: |-
  3777                          MaxGuest defines the maximum amount memory that can be allocated
  3778                          to the guest using hotplug.
  3779                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3780                        x-kubernetes-int-or-string: true
  3781                      maxHotplugRatio:
  3782                        description: |-
  3783                          MaxHotplugRatio is the ratio used to define the max amount
  3784                          of a hotplug resource that can be made available to a VM
  3785                          when the specific Max* setting is not defined (MaxCpuSockets, MaxGuest)
  3786                          Example: VM is configured with 512Mi of guest memory, if MaxGuest is not
  3787                          defined and MaxHotplugRatio is 2 then MaxGuest = 1Gi
  3788                          defaults to 4
  3789                        format: int32
  3790                        type: integer
  3791                    type: object
  3792                  machineType:
  3793                    description: Deprecated. Use architectureConfiguration instead.
  3794                    type: string
  3795                  mediatedDevicesConfiguration:
  3796                    description: MediatedDevicesConfiguration holds information about
  3797                      MDEV types to be defined, if available
  3798                    properties:
  3799                      mediatedDeviceTypes:
  3800                        items:
  3801                          type: string
  3802                        type: array
  3803                        x-kubernetes-list-type: atomic
  3804                      mediatedDevicesTypes:
  3805                        description: Deprecated. Use mediatedDeviceTypes instead.
  3806                        items:
  3807                          type: string
  3808                        type: array
  3809                        x-kubernetes-list-type: atomic
  3810                      nodeMediatedDeviceTypes:
  3811                        items:
  3812                          description: NodeMediatedDeviceTypesConfig holds information
  3813                            about MDEV types to be defined in a specific node that
  3814                            matches the NodeSelector field.
  3815                          properties:
  3816                            mediatedDeviceTypes:
  3817                              items:
  3818                                type: string
  3819                              type: array
  3820                              x-kubernetes-list-type: atomic
  3821                            mediatedDevicesTypes:
  3822                              description: Deprecated. Use mediatedDeviceTypes instead.
  3823                              items:
  3824                                type: string
  3825                              type: array
  3826                              x-kubernetes-list-type: atomic
  3827                            nodeSelector:
  3828                              additionalProperties:
  3829                                type: string
  3830                              description: |-
  3831                                NodeSelector is a selector which must be true for the vmi to fit on a node.
  3832                                Selector which must match a node's labels for the vmi to be scheduled on that node.
  3833                                More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  3834                              type: object
  3835                          required:
  3836                          - nodeSelector
  3837                          type: object
  3838                        type: array
  3839                        x-kubernetes-list-type: atomic
  3840                    type: object
  3841                  memBalloonStatsPeriod:
  3842                    format: int32
  3843                    type: integer
  3844                  migrations:
  3845                    description: |-
  3846                      MigrationConfiguration holds migration options.
  3847                      Can be overridden for specific groups of VMs though migration policies.
  3848                      Visit https://kubevirt.io/user-guide/operations/migration_policies/ for more information.
  3849                    properties:
  3850                      allowAutoConverge:
  3851                        description: |-
  3852                          AllowAutoConverge allows the platform to compromise performance/availability of VMIs to
  3853                          guarantee successful VMI live migrations. Defaults to false
  3854                        type: boolean
  3855                      allowPostCopy:
  3856                        description: |-
  3857                          AllowPostCopy enables post-copy live migrations. Such migrations allow even the busiest VMIs
  3858                          to successfully live-migrate. However, events like a network failure can cause a VMI crash.
  3859                          If set to true, migrations will still start in pre-copy, but switch to post-copy when
  3860                          CompletionTimeoutPerGiB triggers. Defaults to false
  3861                        type: boolean
  3862                      bandwidthPerMigration:
  3863                        anyOf:
  3864                        - type: integer
  3865                        - type: string
  3866                        description: |-
  3867                          BandwidthPerMigration limits the amount of network bandwidth live migrations are allowed to use.
  3868                          The value is in quantity per second. Defaults to 0 (no limit)
  3869                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3870                        x-kubernetes-int-or-string: true
  3871                      completionTimeoutPerGiB:
  3872                        description: |-
  3873                          CompletionTimeoutPerGiB is the maximum number of seconds per GiB a migration is allowed to take.
  3874                          If a live-migration takes longer to migrate than this value multiplied by the size of the VMI,
  3875                          the migration will be cancelled, unless AllowPostCopy is true. Defaults to 150
  3876                        format: int64
  3877                        type: integer
  3878                      disableTLS:
  3879                        description: |-
  3880                          When set to true, DisableTLS will disable the additional layer of live migration encryption
  3881                          provided by KubeVirt. This is usually a bad idea. Defaults to false
  3882                        type: boolean
  3883                      matchSELinuxLevelOnMigration:
  3884                        description: |-
  3885                          By default, the SELinux level of target virt-launcher pods is forced to the level of the source virt-launcher.
  3886                          When set to true, MatchSELinuxLevelOnMigration lets the CRI auto-assign a random level to the target.
  3887                          That will ensure the target virt-launcher doesn't share categories with another pod on the node.
  3888                          However, migrations will fail when using RWX volumes that don't automatically deal with SELinux levels.
  3889                        type: boolean
  3890                      network:
  3891                        description: |-
  3892                          Network is the name of the CNI network to use for live migrations. By default, migrations go
  3893                          through the pod network.
  3894                        type: string
  3895                      nodeDrainTaintKey:
  3896                        description: |-
  3897                          NodeDrainTaintKey defines the taint key that indicates a node should be drained.
  3898                          Note: this option relies on the deprecated node taint feature. Default: kubevirt.io/drain
  3899                        type: string
  3900                      parallelMigrationsPerCluster:
  3901                        description: |-
  3902                          ParallelMigrationsPerCluster is the total number of concurrent live migrations
  3903                          allowed cluster-wide. Defaults to 5
  3904                        format: int32
  3905                        type: integer
  3906                      parallelOutboundMigrationsPerNode:
  3907                        description: |-
  3908                          ParallelOutboundMigrationsPerNode is the maximum number of concurrent outgoing live migrations
  3909                          allowed per node. Defaults to 2
  3910                        format: int32
  3911                        type: integer
  3912                      progressTimeout:
  3913                        description: |-
  3914                          ProgressTimeout is the maximum number of seconds a live migration is allowed to make no progress.
  3915                          Hitting this timeout means a migration transferred 0 data for that many seconds. The migration is
  3916                          then considered stuck and therefore cancelled. Defaults to 150
  3917                        format: int64
  3918                        type: integer
  3919                      unsafeMigrationOverride:
  3920                        description: |-
  3921                          UnsafeMigrationOverride allows live migrations to occur even if the compatibility check
  3922                          indicates the migration will be unsafe to the guest. Defaults to false
  3923                        type: boolean
  3924                    type: object
  3925                  minCPUModel:
  3926                    type: string
  3927                  network:
  3928                    description: NetworkConfiguration holds network options
  3929                    properties:
  3930                      binding:
  3931                        additionalProperties:
  3932                          properties:
  3933                            computeResourceOverhead:
  3934                              description: |-
  3935                                ComputeResourceOverhead specifies the resource overhead that should be added to the compute container when using the binding.
  3936                                version: v1alphav1
  3937                              properties:
  3938                                limits:
  3939                                  additionalProperties:
  3940                                    anyOf:
  3941                                    - type: integer
  3942                                    - type: string
  3943                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3944                                    x-kubernetes-int-or-string: true
  3945                                  description: |-
  3946                                    Limits describes the maximum amount of compute resources allowed.
  3947                                    More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  3948                                  type: object
  3949                                requests:
  3950                                  additionalProperties:
  3951                                    anyOf:
  3952                                    - type: integer
  3953                                    - type: string
  3954                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3955                                    x-kubernetes-int-or-string: true
  3956                                  description: |-
  3957                                    Requests describes the minimum amount of compute resources required.
  3958                                    If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  3959                                    otherwise to an implementation-defined value. Requests cannot exceed Limits.
  3960                                    More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  3961                                  type: object
  3962                              type: object
  3963                            domainAttachmentType:
  3964                              description: |-
  3965                                DomainAttachmentType is a standard domain network attachment method kubevirt supports.
  3966                                Supported values: "tap", "managedTap" (since v1.4).
  3967                                The standard domain attachment can be used instead or in addition to the sidecarImage.
  3968                                version: 1alphav1
  3969                              type: string
  3970                            downwardAPI:
  3971                              description: |-
  3972                                DownwardAPI specifies what kind of data should be exposed to the binding plugin sidecar.
  3973                                Supported values: "device-info"
  3974                                version: v1alphav1
  3975                              type: string
  3976                            migration:
  3977                              description: |-
  3978                                Migration means the VM using the plugin can be safely migrated
  3979                                version: 1alphav1
  3980                              properties:
  3981                                method:
  3982                                  description: |-
  3983                                    Method defines a pre-defined migration methodology
  3984                                    version: 1alphav1
  3985                                  type: string
  3986                              type: object
  3987                            networkAttachmentDefinition:
  3988                              description: |-
  3989                                NetworkAttachmentDefinition references to a NetworkAttachmentDefinition CR object.
  3990                                Format: <name>, <namespace>/<name>.
  3991                                If namespace is not specified, VMI namespace is assumed.
  3992                                version: 1alphav1
  3993                              type: string
  3994                            sidecarImage:
  3995                              description: |-
  3996                                SidecarImage references a container image that runs in the virt-launcher pod.
  3997                                The sidecar handles (libvirt) domain configuration and optional services.
  3998                                version: 1alphav1
  3999                              type: string
  4000                          type: object
  4001                        type: object
  4002                      defaultNetworkInterface:
  4003                        type: string
  4004                      permitBridgeInterfaceOnPodNetwork:
  4005                        type: boolean
  4006                      permitSlirpInterface:
  4007                        description: |-
  4008                          DeprecatedPermitSlirpInterface is an alias for the deprecated PermitSlirpInterface.
  4009                          Deprecated: Removed in v1.3.
  4010                        type: boolean
  4011                    type: object
  4012                  obsoleteCPUModels:
  4013                    additionalProperties:
  4014                      type: boolean
  4015                    type: object
  4016                  ovmfPath:
  4017                    description: Deprecated. Use architectureConfiguration instead.
  4018                    type: string
  4019                  permittedHostDevices:
  4020                    description: PermittedHostDevices holds information about devices
  4021                      allowed for passthrough
  4022                    properties:
  4023                      mediatedDevices:
  4024                        items:
  4025                          description: MediatedHostDevice represents a host mediated
  4026                            device allowed for passthrough
  4027                          properties:
  4028                            externalResourceProvider:
  4029                              type: boolean
  4030                            mdevNameSelector:
  4031                              type: string
  4032                            resourceName:
  4033                              type: string
  4034                          required:
  4035                          - mdevNameSelector
  4036                          - resourceName
  4037                          type: object
  4038                        type: array
  4039                        x-kubernetes-list-type: atomic
  4040                      pciHostDevices:
  4041                        items:
  4042                          description: PciHostDevice represents a host PCI device
  4043                            allowed for passthrough
  4044                          properties:
  4045                            externalResourceProvider:
  4046                              description: |-
  4047                                If true, KubeVirt will leave the allocation and monitoring to an
  4048                                external device plugin
  4049                              type: boolean
  4050                            pciVendorSelector:
  4051                              description: The vendor_id:product_id tuple of the PCI
  4052                                device
  4053                              type: string
  4054                            resourceName:
  4055                              description: |-
  4056                                The name of the resource that is representing the device. Exposed by
  4057                                a device plugin and requested by VMs. Typically of the form
  4058                                vendor.com/product_name
  4059                              type: string
  4060                          required:
  4061                          - pciVendorSelector
  4062                          - resourceName
  4063                          type: object
  4064                        type: array
  4065                        x-kubernetes-list-type: atomic
  4066                      usb:
  4067                        items:
  4068                          properties:
  4069                            externalResourceProvider:
  4070                              description: |-
  4071                                If true, KubeVirt will leave the allocation and monitoring to an
  4072                                external device plugin
  4073                              type: boolean
  4074                            resourceName:
  4075                              description: |-
  4076                                Identifies the list of USB host devices.
  4077                                e.g: kubevirt.io/storage, kubevirt.io/bootable-usb, etc
  4078                              type: string
  4079                            selectors:
  4080                              items:
  4081                                properties:
  4082                                  product:
  4083                                    type: string
  4084                                  vendor:
  4085                                    type: string
  4086                                required:
  4087                                - product
  4088                                - vendor
  4089                                type: object
  4090                              type: array
  4091                              x-kubernetes-list-type: atomic
  4092                          required:
  4093                          - resourceName
  4094                          type: object
  4095                        type: array
  4096                        x-kubernetes-list-type: atomic
  4097                    type: object
  4098                  seccompConfiguration:
  4099                    description: SeccompConfiguration holds Seccomp configuration
  4100                      for Kubevirt components
  4101                    properties:
  4102                      virtualMachineInstanceProfile:
  4103                        description: VirtualMachineInstanceProfile defines what profile
  4104                          should be used with virt-launcher. Defaults to none
  4105                        properties:
  4106                          customProfile:
  4107                            description: CustomProfile allows to request arbitrary
  4108                              profile for virt-launcher
  4109                            properties:
  4110                              localhostProfile:
  4111                                type: string
  4112                              runtimeDefaultProfile:
  4113                                type: boolean
  4114                            type: object
  4115                        type: object
  4116                    type: object
  4117                  selinuxLauncherType:
  4118                    type: string
  4119                  smbios:
  4120                    properties:
  4121                      family:
  4122                        type: string
  4123                      manufacturer:
  4124                        type: string
  4125                      product:
  4126                        type: string
  4127                      sku:
  4128                        type: string
  4129                      version:
  4130                        type: string
  4131                    type: object
  4132                  supportContainerResources:
  4133                    description: SupportContainerResources specifies the resource
  4134                      requirements for various types of supporting containers such
  4135                      as container disks/virtiofs/sidecars and hotplug attachment
  4136                      pods. If omitted a sensible default will be supplied.
  4137                    items:
  4138                      description: SupportContainerResources are used to specify the
  4139                        cpu/memory request and limits for the containers that support
  4140                        various features of Virtual Machines. These containers are
  4141                        usually idle and don't require a lot of memory or cpu.
  4142                      properties:
  4143                        resources:
  4144                          description: |-
  4145                            ResourceRequirementsWithoutClaims describes the compute resource requirements.
  4146                            This struct was taken from the k8s.ResourceRequirements and cleaned up the 'Claims' field.
  4147                          properties:
  4148                            limits:
  4149                              additionalProperties:
  4150                                anyOf:
  4151                                - type: integer
  4152                                - type: string
  4153                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4154                                x-kubernetes-int-or-string: true
  4155                              description: |-
  4156                                Limits describes the maximum amount of compute resources allowed.
  4157                                More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  4158                              type: object
  4159                            requests:
  4160                              additionalProperties:
  4161                                anyOf:
  4162                                - type: integer
  4163                                - type: string
  4164                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4165                                x-kubernetes-int-or-string: true
  4166                              description: |-
  4167                                Requests describes the minimum amount of compute resources required.
  4168                                If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  4169                                otherwise to an implementation-defined value. Requests cannot exceed Limits.
  4170                                More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  4171                              type: object
  4172                          type: object
  4173                        type:
  4174                          type: string
  4175                      required:
  4176                      - resources
  4177                      - type
  4178                      type: object
  4179                    type: array
  4180                    x-kubernetes-list-map-keys:
  4181                    - type
  4182                    x-kubernetes-list-type: map
  4183                  supportedGuestAgentVersions:
  4184                    description: deprecated
  4185                    items:
  4186                      type: string
  4187                    type: array
  4188                  tlsConfiguration:
  4189                    description: TLSConfiguration holds TLS options
  4190                    properties:
  4191                      ciphers:
  4192                        items:
  4193                          type: string
  4194                        type: array
  4195                        x-kubernetes-list-type: set
  4196                      minTLSVersion:
  4197                        description: |-
  4198                          MinTLSVersion is a way to specify the minimum protocol version that is acceptable for TLS connections.
  4199                          Protocol versions are based on the following most common TLS configurations:
  4200
  4201                            https://ssl-config.mozilla.org/
  4202
  4203                          Note that SSLv3.0 is not a supported protocol version due to well known
  4204                          vulnerabilities such as POODLE: https://en.wikipedia.org/wiki/POODLE
  4205                        enum:
  4206                        - VersionTLS10
  4207                        - VersionTLS11
  4208                        - VersionTLS12
  4209                        - VersionTLS13
  4210                        type: string
  4211                    type: object
  4212                  virtualMachineInstancesPerNode:
  4213                    type: integer
  4214                  virtualMachineOptions:
  4215                    description: VirtualMachineOptions holds the cluster level information
  4216                      regarding the virtual machine.
  4217                    properties:
  4218                      disableFreePageReporting:
  4219                        description: |-
  4220                          DisableFreePageReporting disable the free page reporting of
  4221                          memory balloon device https://libvirt.org/formatdomain.html#memory-balloon-device.
  4222                          This will have effect only if AutoattachMemBalloon is not false and the vmi is not
  4223                          requesting any high performance feature (dedicatedCPU/realtime/hugePages), in which free page reporting is always disabled.
  4224                        type: object
  4225                      disableSerialConsoleLog:
  4226                        description: |-
  4227                          DisableSerialConsoleLog disables logging the auto-attached default serial console.
  4228                          If not set, serial console logs will be written to a file and then streamed from a container named 'guest-console-log'.
  4229                          The value can be individually overridden for each VM, not relevant if AutoattachSerialConsole is disabled.
  4230                        type: object
  4231                    type: object
  4232                  vmRolloutStrategy:
  4233                    description: VMRolloutStrategy defines how changes to a VM object
  4234                      propagate to its VMI
  4235                    enum:
  4236                    - Stage
  4237                    - LiveUpdate
  4238                    nullable: true
  4239                    type: string
  4240                  vmStateStorageClass:
  4241                    description: |-
  4242                      VMStateStorageClass is the name of the storage class to use for the PVCs created to preserve VM state, like TPM.
  4243                      The storage class must support RWX in filesystem mode.
  4244                    type: string
  4245                  webhookConfiguration:
  4246                    description: |-
  4247                      ReloadableComponentConfiguration holds all generic k8s configuration options which can
  4248                      be reloaded by components without requiring a restart.
  4249                    properties:
  4250                      restClient:
  4251                        description: RestClient can be used to tune certain aspects
  4252                          of the k8s client in use.
  4253                        properties:
  4254                          rateLimiter:
  4255                            description: RateLimiter allows selecting and configuring
  4256                              different rate limiters for the k8s client.
  4257                            properties:
  4258                              tokenBucketRateLimiter:
  4259                                properties:
  4260                                  burst:
  4261                                    description: |-
  4262                                      Maximum burst for throttle.
  4263                                      If it's zero, the component default will be used
  4264                                    type: integer
  4265                                  qps:
  4266                                    description: |-
  4267                                      QPS indicates the maximum QPS to the apiserver from this client.
  4268                                      If it's zero, the component default will be used
  4269                                    type: number
  4270                                required:
  4271                                - burst
  4272                                - qps
  4273                                type: object
  4274                            type: object
  4275                        type: object
  4276                    type: object
  4277                type: object
  4278              customizeComponents:
  4279                properties:
  4280                  flags:
  4281                    description: Configure the value used for deployment and daemonset
  4282                      resources
  4283                    properties:
  4284                      api:
  4285                        additionalProperties:
  4286                          type: string
  4287                        type: object
  4288                      controller:
  4289                        additionalProperties:
  4290                          type: string
  4291                        type: object
  4292                      handler:
  4293                        additionalProperties:
  4294                          type: string
  4295                        type: object
  4296                    type: object
  4297                  patches:
  4298                    items:
  4299                      properties:
  4300                        patch:
  4301                          type: string
  4302                        resourceName:
  4303                          minLength: 1
  4304                          type: string
  4305                        resourceType:
  4306                          minLength: 1
  4307                          type: string
  4308                        type:
  4309                          type: string
  4310                      required:
  4311                      - patch
  4312                      - resourceName
  4313                      - resourceType
  4314                      - type
  4315                      type: object
  4316                    type: array
  4317                    x-kubernetes-list-type: atomic
  4318                type: object
  4319              imagePullPolicy:
  4320                description: The ImagePullPolicy to use.
  4321                type: string
  4322              imagePullSecrets:
  4323                description: |-
  4324                  The imagePullSecrets to pull the container images from
  4325                  Defaults to none
  4326                items:
  4327                  description: |-
  4328                    LocalObjectReference contains enough information to let you locate the
  4329                    referenced object inside the same namespace.
  4330                  properties:
  4331                    name:
  4332                      default: ""
  4333                      description: |-
  4334                        Name of the referent.
  4335                        This field is effectively required, but due to backwards compatibility is
  4336                        allowed to be empty. Instances of this type with an empty value here are
  4337                        almost certainly wrong.
  4338                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4339                      type: string
  4340                  type: object
  4341                  x-kubernetes-map-type: atomic
  4342                type: array
  4343                x-kubernetes-list-type: atomic
  4344              imageRegistry:
  4345                description: |-
  4346                  The image registry to pull the container images from
  4347                  Defaults to the same registry the operator's container image is pulled from.
  4348                type: string
  4349              imageTag:
  4350                description: |-
  4351                  The image tag to use for the continer images installed.
  4352                  Defaults to the same tag as the operator's container image.
  4353                type: string
  4354              infra:
  4355                description: selectors and tolerations that should apply to KubeVirt
  4356                  infrastructure components
  4357                properties:
  4358                  nodePlacement:
  4359                    description: |-
  4360                      nodePlacement describes scheduling configuration for specific
  4361                      KubeVirt components
  4362                    properties:
  4363                      affinity:
  4364                        description: |-
  4365                          affinity enables pod affinity/anti-affinity placement expanding the types of constraints
  4366                          that can be expressed with nodeSelector.
  4367                          affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
  4368                          See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  4369                        properties:
  4370                          nodeAffinity:
  4371                            description: Describes node affinity scheduling rules
  4372                              for the pod.
  4373                            properties:
  4374                              preferredDuringSchedulingIgnoredDuringExecution:
  4375                                description: |-
  4376                                  The scheduler will prefer to schedule pods to nodes that satisfy
  4377                                  the affinity expressions specified by this field, but it may choose
  4378                                  a node that violates one or more of the expressions. The node that is
  4379                                  most preferred is the one with the greatest sum of weights, i.e.
  4380                                  for each node that meets all of the scheduling requirements (resource
  4381                                  request, requiredDuringScheduling affinity expressions, etc.),
  4382                                  compute a sum by iterating through the elements of this field and adding
  4383                                  "weight" to the sum if the node matches the corresponding matchExpressions; the
  4384                                  node(s) with the highest sum are the most preferred.
  4385                                items:
  4386                                  description: |-
  4387                                    An empty preferred scheduling term matches all objects with implicit weight 0
  4388                                    (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  4389                                  properties:
  4390                                    preference:
  4391                                      description: A node selector term, associated
  4392                                        with the corresponding weight.
  4393                                      properties:
  4394                                        matchExpressions:
  4395                                          description: A list of node selector requirements
  4396                                            by node's labels.
  4397                                          items:
  4398                                            description: |-
  4399                                              A node selector requirement is a selector that contains values, a key, and an operator
  4400                                              that relates the key and values.
  4401                                            properties:
  4402                                              key:
  4403                                                description: The label key that the
  4404                                                  selector applies to.
  4405                                                type: string
  4406                                              operator:
  4407                                                description: |-
  4408                                                  Represents a key's relationship to a set of values.
  4409                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  4410                                                type: string
  4411                                              values:
  4412                                                description: |-
  4413                                                  An array of string values. If the operator is In or NotIn,
  4414                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4415                                                  the values array must be empty. If the operator is Gt or Lt, the values
  4416                                                  array must have a single element, which will be interpreted as an integer.
  4417                                                  This array is replaced during a strategic merge patch.
  4418                                                items:
  4419                                                  type: string
  4420                                                type: array
  4421                                                x-kubernetes-list-type: atomic
  4422                                            required:
  4423                                            - key
  4424                                            - operator
  4425                                            type: object
  4426                                          type: array
  4427                                          x-kubernetes-list-type: atomic
  4428                                        matchFields:
  4429                                          description: A list of node selector requirements
  4430                                            by node's fields.
  4431                                          items:
  4432                                            description: |-
  4433                                              A node selector requirement is a selector that contains values, a key, and an operator
  4434                                              that relates the key and values.
  4435                                            properties:
  4436                                              key:
  4437                                                description: The label key that the
  4438                                                  selector applies to.
  4439                                                type: string
  4440                                              operator:
  4441                                                description: |-
  4442                                                  Represents a key's relationship to a set of values.
  4443                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  4444                                                type: string
  4445                                              values:
  4446                                                description: |-
  4447                                                  An array of string values. If the operator is In or NotIn,
  4448                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4449                                                  the values array must be empty. If the operator is Gt or Lt, the values
  4450                                                  array must have a single element, which will be interpreted as an integer.
  4451                                                  This array is replaced during a strategic merge patch.
  4452                                                items:
  4453                                                  type: string
  4454                                                type: array
  4455                                                x-kubernetes-list-type: atomic
  4456                                            required:
  4457                                            - key
  4458                                            - operator
  4459                                            type: object
  4460                                          type: array
  4461                                          x-kubernetes-list-type: atomic
  4462                                      type: object
  4463                                      x-kubernetes-map-type: atomic
  4464                                    weight:
  4465                                      description: Weight associated with matching
  4466                                        the corresponding nodeSelectorTerm, in the
  4467                                        range 1-100.
  4468                                      format: int32
  4469                                      type: integer
  4470                                  required:
  4471                                  - preference
  4472                                  - weight
  4473                                  type: object
  4474                                type: array
  4475                                x-kubernetes-list-type: atomic
  4476                              requiredDuringSchedulingIgnoredDuringExecution:
  4477                                description: |-
  4478                                  If the affinity requirements specified by this field are not met at
  4479                                  scheduling time, the pod will not be scheduled onto the node.
  4480                                  If the affinity requirements specified by this field cease to be met
  4481                                  at some point during pod execution (e.g. due to an update), the system
  4482                                  may or may not try to eventually evict the pod from its node.
  4483                                properties:
  4484                                  nodeSelectorTerms:
  4485                                    description: Required. A list of node selector
  4486                                      terms. The terms are ORed.
  4487                                    items:
  4488                                      description: |-
  4489                                        A null or empty node selector term matches no objects. The requirements of
  4490                                        them are ANDed.
  4491                                        The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  4492                                      properties:
  4493                                        matchExpressions:
  4494                                          description: A list of node selector requirements
  4495                                            by node's labels.
  4496                                          items:
  4497                                            description: |-
  4498                                              A node selector requirement is a selector that contains values, a key, and an operator
  4499                                              that relates the key and values.
  4500                                            properties:
  4501                                              key:
  4502                                                description: The label key that the
  4503                                                  selector applies to.
  4504                                                type: string
  4505                                              operator:
  4506                                                description: |-
  4507                                                  Represents a key's relationship to a set of values.
  4508                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  4509                                                type: string
  4510                                              values:
  4511                                                description: |-
  4512                                                  An array of string values. If the operator is In or NotIn,
  4513                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4514                                                  the values array must be empty. If the operator is Gt or Lt, the values
  4515                                                  array must have a single element, which will be interpreted as an integer.
  4516                                                  This array is replaced during a strategic merge patch.
  4517                                                items:
  4518                                                  type: string
  4519                                                type: array
  4520                                                x-kubernetes-list-type: atomic
  4521                                            required:
  4522                                            - key
  4523                                            - operator
  4524                                            type: object
  4525                                          type: array
  4526                                          x-kubernetes-list-type: atomic
  4527                                        matchFields:
  4528                                          description: A list of node selector requirements
  4529                                            by node's fields.
  4530                                          items:
  4531                                            description: |-
  4532                                              A node selector requirement is a selector that contains values, a key, and an operator
  4533                                              that relates the key and values.
  4534                                            properties:
  4535                                              key:
  4536                                                description: The label key that the
  4537                                                  selector applies to.
  4538                                                type: string
  4539                                              operator:
  4540                                                description: |-
  4541                                                  Represents a key's relationship to a set of values.
  4542                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  4543                                                type: string
  4544                                              values:
  4545                                                description: |-
  4546                                                  An array of string values. If the operator is In or NotIn,
  4547                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4548                                                  the values array must be empty. If the operator is Gt or Lt, the values
  4549                                                  array must have a single element, which will be interpreted as an integer.
  4550                                                  This array is replaced during a strategic merge patch.
  4551                                                items:
  4552                                                  type: string
  4553                                                type: array
  4554                                                x-kubernetes-list-type: atomic
  4555                                            required:
  4556                                            - key
  4557                                            - operator
  4558                                            type: object
  4559                                          type: array
  4560                                          x-kubernetes-list-type: atomic
  4561                                      type: object
  4562                                      x-kubernetes-map-type: atomic
  4563                                    type: array
  4564                                    x-kubernetes-list-type: atomic
  4565                                required:
  4566                                - nodeSelectorTerms
  4567                                type: object
  4568                                x-kubernetes-map-type: atomic
  4569                            type: object
  4570                          podAffinity:
  4571                            description: Describes pod affinity scheduling rules (e.g.
  4572                              co-locate this pod in the same node, zone, etc. as some
  4573                              other pod(s)).
  4574                            properties:
  4575                              preferredDuringSchedulingIgnoredDuringExecution:
  4576                                description: |-
  4577                                  The scheduler will prefer to schedule pods to nodes that satisfy
  4578                                  the affinity expressions specified by this field, but it may choose
  4579                                  a node that violates one or more of the expressions. The node that is
  4580                                  most preferred is the one with the greatest sum of weights, i.e.
  4581                                  for each node that meets all of the scheduling requirements (resource
  4582                                  request, requiredDuringScheduling affinity expressions, etc.),
  4583                                  compute a sum by iterating through the elements of this field and adding
  4584                                  "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  4585                                  node(s) with the highest sum are the most preferred.
  4586                                items:
  4587                                  description: The weights of all of the matched WeightedPodAffinityTerm
  4588                                    fields are added per-node to find the most preferred
  4589                                    node(s)
  4590                                  properties:
  4591                                    podAffinityTerm:
  4592                                      description: Required. A pod affinity term,
  4593                                        associated with the corresponding weight.
  4594                                      properties:
  4595                                        labelSelector:
  4596                                          description: |-
  4597                                            A label query over a set of resources, in this case pods.
  4598                                            If it's null, this PodAffinityTerm matches with no Pods.
  4599                                          properties:
  4600                                            matchExpressions:
  4601                                              description: matchExpressions is a list
  4602                                                of label selector requirements. The
  4603                                                requirements are ANDed.
  4604                                              items:
  4605                                                description: |-
  4606                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  4607                                                  relates the key and values.
  4608                                                properties:
  4609                                                  key:
  4610                                                    description: key is the label
  4611                                                      key that the selector applies
  4612                                                      to.
  4613                                                    type: string
  4614                                                  operator:
  4615                                                    description: |-
  4616                                                      operator represents a key's relationship to a set of values.
  4617                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  4618                                                    type: string
  4619                                                  values:
  4620                                                    description: |-
  4621                                                      values is an array of string values. If the operator is In or NotIn,
  4622                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4623                                                      the values array must be empty. This array is replaced during a strategic
  4624                                                      merge patch.
  4625                                                    items:
  4626                                                      type: string
  4627                                                    type: array
  4628                                                    x-kubernetes-list-type: atomic
  4629                                                required:
  4630                                                - key
  4631                                                - operator
  4632                                                type: object
  4633                                              type: array
  4634                                              x-kubernetes-list-type: atomic
  4635                                            matchLabels:
  4636                                              additionalProperties:
  4637                                                type: string
  4638                                              description: |-
  4639                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4640                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  4641                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  4642                                              type: object
  4643                                          type: object
  4644                                          x-kubernetes-map-type: atomic
  4645                                        matchLabelKeys:
  4646                                          description: |-
  4647                                            MatchLabelKeys is a set of pod label keys to select which pods will
  4648                                            be taken into consideration. The keys are used to lookup values from the
  4649                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  4650                                            to select the group of existing pods which pods will be taken into consideration
  4651                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4652                                            pod labels will be ignored. The default value is empty.
  4653                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4654                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4655                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  4656                                          items:
  4657                                            type: string
  4658                                          type: array
  4659                                          x-kubernetes-list-type: atomic
  4660                                        mismatchLabelKeys:
  4661                                          description: |-
  4662                                            MismatchLabelKeys is a set of pod label keys to select which pods will
  4663                                            be taken into consideration. The keys are used to lookup values from the
  4664                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  4665                                            to select the group of existing pods which pods will be taken into consideration
  4666                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4667                                            pod labels will be ignored. The default value is empty.
  4668                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4669                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4670                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  4671                                          items:
  4672                                            type: string
  4673                                          type: array
  4674                                          x-kubernetes-list-type: atomic
  4675                                        namespaceSelector:
  4676                                          description: |-
  4677                                            A label query over the set of namespaces that the term applies to.
  4678                                            The term is applied to the union of the namespaces selected by this field
  4679                                            and the ones listed in the namespaces field.
  4680                                            null selector and null or empty namespaces list means "this pod's namespace".
  4681                                            An empty selector ({}) matches all namespaces.
  4682                                          properties:
  4683                                            matchExpressions:
  4684                                              description: matchExpressions is a list
  4685                                                of label selector requirements. The
  4686                                                requirements are ANDed.
  4687                                              items:
  4688                                                description: |-
  4689                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  4690                                                  relates the key and values.
  4691                                                properties:
  4692                                                  key:
  4693                                                    description: key is the label
  4694                                                      key that the selector applies
  4695                                                      to.
  4696                                                    type: string
  4697                                                  operator:
  4698                                                    description: |-
  4699                                                      operator represents a key's relationship to a set of values.
  4700                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  4701                                                    type: string
  4702                                                  values:
  4703                                                    description: |-
  4704                                                      values is an array of string values. If the operator is In or NotIn,
  4705                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4706                                                      the values array must be empty. This array is replaced during a strategic
  4707                                                      merge patch.
  4708                                                    items:
  4709                                                      type: string
  4710                                                    type: array
  4711                                                    x-kubernetes-list-type: atomic
  4712                                                required:
  4713                                                - key
  4714                                                - operator
  4715                                                type: object
  4716                                              type: array
  4717                                              x-kubernetes-list-type: atomic
  4718                                            matchLabels:
  4719                                              additionalProperties:
  4720                                                type: string
  4721                                              description: |-
  4722                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4723                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  4724                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  4725                                              type: object
  4726                                          type: object
  4727                                          x-kubernetes-map-type: atomic
  4728                                        namespaces:
  4729                                          description: |-
  4730                                            namespaces specifies a static list of namespace names that the term applies to.
  4731                                            The term is applied to the union of the namespaces listed in this field
  4732                                            and the ones selected by namespaceSelector.
  4733                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4734                                          items:
  4735                                            type: string
  4736                                          type: array
  4737                                          x-kubernetes-list-type: atomic
  4738                                        topologyKey:
  4739                                          description: |-
  4740                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4741                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4742                                            whose value of the label with key topologyKey matches that of any node on which any of the
  4743                                            selected pods is running.
  4744                                            Empty topologyKey is not allowed.
  4745                                          type: string
  4746                                      required:
  4747                                      - topologyKey
  4748                                      type: object
  4749                                    weight:
  4750                                      description: |-
  4751                                        weight associated with matching the corresponding podAffinityTerm,
  4752                                        in the range 1-100.
  4753                                      format: int32
  4754                                      type: integer
  4755                                  required:
  4756                                  - podAffinityTerm
  4757                                  - weight
  4758                                  type: object
  4759                                type: array
  4760                                x-kubernetes-list-type: atomic
  4761                              requiredDuringSchedulingIgnoredDuringExecution:
  4762                                description: |-
  4763                                  If the affinity requirements specified by this field are not met at
  4764                                  scheduling time, the pod will not be scheduled onto the node.
  4765                                  If the affinity requirements specified by this field cease to be met
  4766                                  at some point during pod execution (e.g. due to a pod label update), the
  4767                                  system may or may not try to eventually evict the pod from its node.
  4768                                  When there are multiple elements, the lists of nodes corresponding to each
  4769                                  podAffinityTerm are intersected, i.e. all terms must be satisfied.
  4770                                items:
  4771                                  description: |-
  4772                                    Defines a set of pods (namely those matching the labelSelector
  4773                                    relative to the given namespace(s)) that this pod should be
  4774                                    co-located (affinity) or not co-located (anti-affinity) with,
  4775                                    where co-located is defined as running on a node whose value of
  4776                                    the label with key <topologyKey> matches that of any node on which
  4777                                    a pod of the set of pods is running
  4778                                  properties:
  4779                                    labelSelector:
  4780                                      description: |-
  4781                                        A label query over a set of resources, in this case pods.
  4782                                        If it's null, this PodAffinityTerm matches with no Pods.
  4783                                      properties:
  4784                                        matchExpressions:
  4785                                          description: matchExpressions is a list
  4786                                            of label selector requirements. The requirements
  4787                                            are ANDed.
  4788                                          items:
  4789                                            description: |-
  4790                                              A label selector requirement is a selector that contains values, a key, and an operator that
  4791                                              relates the key and values.
  4792                                            properties:
  4793                                              key:
  4794                                                description: key is the label key
  4795                                                  that the selector applies to.
  4796                                                type: string
  4797                                              operator:
  4798                                                description: |-
  4799                                                  operator represents a key's relationship to a set of values.
  4800                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  4801                                                type: string
  4802                                              values:
  4803                                                description: |-
  4804                                                  values is an array of string values. If the operator is In or NotIn,
  4805                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4806                                                  the values array must be empty. This array is replaced during a strategic
  4807                                                  merge patch.
  4808                                                items:
  4809                                                  type: string
  4810                                                type: array
  4811                                                x-kubernetes-list-type: atomic
  4812                                            required:
  4813                                            - key
  4814                                            - operator
  4815                                            type: object
  4816                                          type: array
  4817                                          x-kubernetes-list-type: atomic
  4818                                        matchLabels:
  4819                                          additionalProperties:
  4820                                            type: string
  4821                                          description: |-
  4822                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4823                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  4824                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  4825                                          type: object
  4826                                      type: object
  4827                                      x-kubernetes-map-type: atomic
  4828                                    matchLabelKeys:
  4829                                      description: |-
  4830                                        MatchLabelKeys is a set of pod label keys to select which pods will
  4831                                        be taken into consideration. The keys are used to lookup values from the
  4832                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  4833                                        to select the group of existing pods which pods will be taken into consideration
  4834                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4835                                        pod labels will be ignored. The default value is empty.
  4836                                        The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4837                                        Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4838                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  4839                                      items:
  4840                                        type: string
  4841                                      type: array
  4842                                      x-kubernetes-list-type: atomic
  4843                                    mismatchLabelKeys:
  4844                                      description: |-
  4845                                        MismatchLabelKeys is a set of pod label keys to select which pods will
  4846                                        be taken into consideration. The keys are used to lookup values from the
  4847                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  4848                                        to select the group of existing pods which pods will be taken into consideration
  4849                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4850                                        pod labels will be ignored. The default value is empty.
  4851                                        The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4852                                        Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4853                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  4854                                      items:
  4855                                        type: string
  4856                                      type: array
  4857                                      x-kubernetes-list-type: atomic
  4858                                    namespaceSelector:
  4859                                      description: |-
  4860                                        A label query over the set of namespaces that the term applies to.
  4861                                        The term is applied to the union of the namespaces selected by this field
  4862                                        and the ones listed in the namespaces field.
  4863                                        null selector and null or empty namespaces list means "this pod's namespace".
  4864                                        An empty selector ({}) matches all namespaces.
  4865                                      properties:
  4866                                        matchExpressions:
  4867                                          description: matchExpressions is a list
  4868                                            of label selector requirements. The requirements
  4869                                            are ANDed.
  4870                                          items:
  4871                                            description: |-
  4872                                              A label selector requirement is a selector that contains values, a key, and an operator that
  4873                                              relates the key and values.
  4874                                            properties:
  4875                                              key:
  4876                                                description: key is the label key
  4877                                                  that the selector applies to.
  4878                                                type: string
  4879                                              operator:
  4880                                                description: |-
  4881                                                  operator represents a key's relationship to a set of values.
  4882                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  4883                                                type: string
  4884                                              values:
  4885                                                description: |-
  4886                                                  values is an array of string values. If the operator is In or NotIn,
  4887                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4888                                                  the values array must be empty. This array is replaced during a strategic
  4889                                                  merge patch.
  4890                                                items:
  4891                                                  type: string
  4892                                                type: array
  4893                                                x-kubernetes-list-type: atomic
  4894                                            required:
  4895                                            - key
  4896                                            - operator
  4897                                            type: object
  4898                                          type: array
  4899                                          x-kubernetes-list-type: atomic
  4900                                        matchLabels:
  4901                                          additionalProperties:
  4902                                            type: string
  4903                                          description: |-
  4904                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4905                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  4906                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  4907                                          type: object
  4908                                      type: object
  4909                                      x-kubernetes-map-type: atomic
  4910                                    namespaces:
  4911                                      description: |-
  4912                                        namespaces specifies a static list of namespace names that the term applies to.
  4913                                        The term is applied to the union of the namespaces listed in this field
  4914                                        and the ones selected by namespaceSelector.
  4915                                        null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4916                                      items:
  4917                                        type: string
  4918                                      type: array
  4919                                      x-kubernetes-list-type: atomic
  4920                                    topologyKey:
  4921                                      description: |-
  4922                                        This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4923                                        the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4924                                        whose value of the label with key topologyKey matches that of any node on which any of the
  4925                                        selected pods is running.
  4926                                        Empty topologyKey is not allowed.
  4927                                      type: string
  4928                                  required:
  4929                                  - topologyKey
  4930                                  type: object
  4931                                type: array
  4932                                x-kubernetes-list-type: atomic
  4933                            type: object
  4934                          podAntiAffinity:
  4935                            description: Describes pod anti-affinity scheduling rules
  4936                              (e.g. avoid putting this pod in the same node, zone,
  4937                              etc. as some other pod(s)).
  4938                            properties:
  4939                              preferredDuringSchedulingIgnoredDuringExecution:
  4940                                description: |-
  4941                                  The scheduler will prefer to schedule pods to nodes that satisfy
  4942                                  the anti-affinity expressions specified by this field, but it may choose
  4943                                  a node that violates one or more of the expressions. The node that is
  4944                                  most preferred is the one with the greatest sum of weights, i.e.
  4945                                  for each node that meets all of the scheduling requirements (resource
  4946                                  request, requiredDuringScheduling anti-affinity expressions, etc.),
  4947                                  compute a sum by iterating through the elements of this field and adding
  4948                                  "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  4949                                  node(s) with the highest sum are the most preferred.
  4950                                items:
  4951                                  description: The weights of all of the matched WeightedPodAffinityTerm
  4952                                    fields are added per-node to find the most preferred
  4953                                    node(s)
  4954                                  properties:
  4955                                    podAffinityTerm:
  4956                                      description: Required. A pod affinity term,
  4957                                        associated with the corresponding weight.
  4958                                      properties:
  4959                                        labelSelector:
  4960                                          description: |-
  4961                                            A label query over a set of resources, in this case pods.
  4962                                            If it's null, this PodAffinityTerm matches with no Pods.
  4963                                          properties:
  4964                                            matchExpressions:
  4965                                              description: matchExpressions is a list
  4966                                                of label selector requirements. The
  4967                                                requirements are ANDed.
  4968                                              items:
  4969                                                description: |-
  4970                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  4971                                                  relates the key and values.
  4972                                                properties:
  4973                                                  key:
  4974                                                    description: key is the label
  4975                                                      key that the selector applies
  4976                                                      to.
  4977                                                    type: string
  4978                                                  operator:
  4979                                                    description: |-
  4980                                                      operator represents a key's relationship to a set of values.
  4981                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  4982                                                    type: string
  4983                                                  values:
  4984                                                    description: |-
  4985                                                      values is an array of string values. If the operator is In or NotIn,
  4986                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4987                                                      the values array must be empty. This array is replaced during a strategic
  4988                                                      merge patch.
  4989                                                    items:
  4990                                                      type: string
  4991                                                    type: array
  4992                                                    x-kubernetes-list-type: atomic
  4993                                                required:
  4994                                                - key
  4995                                                - operator
  4996                                                type: object
  4997                                              type: array
  4998                                              x-kubernetes-list-type: atomic
  4999                                            matchLabels:
  5000                                              additionalProperties:
  5001                                                type: string
  5002                                              description: |-
  5003                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5004                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  5005                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  5006                                              type: object
  5007                                          type: object
  5008                                          x-kubernetes-map-type: atomic
  5009                                        matchLabelKeys:
  5010                                          description: |-
  5011                                            MatchLabelKeys is a set of pod label keys to select which pods will
  5012                                            be taken into consideration. The keys are used to lookup values from the
  5013                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  5014                                            to select the group of existing pods which pods will be taken into consideration
  5015                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  5016                                            pod labels will be ignored. The default value is empty.
  5017                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  5018                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
  5019                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  5020                                          items:
  5021                                            type: string
  5022                                          type: array
  5023                                          x-kubernetes-list-type: atomic
  5024                                        mismatchLabelKeys:
  5025                                          description: |-
  5026                                            MismatchLabelKeys is a set of pod label keys to select which pods will
  5027                                            be taken into consideration. The keys are used to lookup values from the
  5028                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  5029                                            to select the group of existing pods which pods will be taken into consideration
  5030                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  5031                                            pod labels will be ignored. The default value is empty.
  5032                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  5033                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  5034                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  5035                                          items:
  5036                                            type: string
  5037                                          type: array
  5038                                          x-kubernetes-list-type: atomic
  5039                                        namespaceSelector:
  5040                                          description: |-
  5041                                            A label query over the set of namespaces that the term applies to.
  5042                                            The term is applied to the union of the namespaces selected by this field
  5043                                            and the ones listed in the namespaces field.
  5044                                            null selector and null or empty namespaces list means "this pod's namespace".
  5045                                            An empty selector ({}) matches all namespaces.
  5046                                          properties:
  5047                                            matchExpressions:
  5048                                              description: matchExpressions is a list
  5049                                                of label selector requirements. The
  5050                                                requirements are ANDed.
  5051                                              items:
  5052                                                description: |-
  5053                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  5054                                                  relates the key and values.
  5055                                                properties:
  5056                                                  key:
  5057                                                    description: key is the label
  5058                                                      key that the selector applies
  5059                                                      to.
  5060                                                    type: string
  5061                                                  operator:
  5062                                                    description: |-
  5063                                                      operator represents a key's relationship to a set of values.
  5064                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  5065                                                    type: string
  5066                                                  values:
  5067                                                    description: |-
  5068                                                      values is an array of string values. If the operator is In or NotIn,
  5069                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5070                                                      the values array must be empty. This array is replaced during a strategic
  5071                                                      merge patch.
  5072                                                    items:
  5073                                                      type: string
  5074                                                    type: array
  5075                                                    x-kubernetes-list-type: atomic
  5076                                                required:
  5077                                                - key
  5078                                                - operator
  5079                                                type: object
  5080                                              type: array
  5081                                              x-kubernetes-list-type: atomic
  5082                                            matchLabels:
  5083                                              additionalProperties:
  5084                                                type: string
  5085                                              description: |-
  5086                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5087                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  5088                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  5089                                              type: object
  5090                                          type: object
  5091                                          x-kubernetes-map-type: atomic
  5092                                        namespaces:
  5093                                          description: |-
  5094                                            namespaces specifies a static list of namespace names that the term applies to.
  5095                                            The term is applied to the union of the namespaces listed in this field
  5096                                            and the ones selected by namespaceSelector.
  5097                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  5098                                          items:
  5099                                            type: string
  5100                                          type: array
  5101                                          x-kubernetes-list-type: atomic
  5102                                        topologyKey:
  5103                                          description: |-
  5104                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  5105                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
  5106                                            whose value of the label with key topologyKey matches that of any node on which any of the
  5107                                            selected pods is running.
  5108                                            Empty topologyKey is not allowed.
  5109                                          type: string
  5110                                      required:
  5111                                      - topologyKey
  5112                                      type: object
  5113                                    weight:
  5114                                      description: |-
  5115                                        weight associated with matching the corresponding podAffinityTerm,
  5116                                        in the range 1-100.
  5117                                      format: int32
  5118                                      type: integer
  5119                                  required:
  5120                                  - podAffinityTerm
  5121                                  - weight
  5122                                  type: object
  5123                                type: array
  5124                                x-kubernetes-list-type: atomic
  5125                              requiredDuringSchedulingIgnoredDuringExecution:
  5126                                description: |-
  5127                                  If the anti-affinity requirements specified by this field are not met at
  5128                                  scheduling time, the pod will not be scheduled onto the node.
  5129                                  If the anti-affinity requirements specified by this field cease to be met
  5130                                  at some point during pod execution (e.g. due to a pod label update), the
  5131                                  system may or may not try to eventually evict the pod from its node.
  5132                                  When there are multiple elements, the lists of nodes corresponding to each
  5133                                  podAffinityTerm are intersected, i.e. all terms must be satisfied.
  5134                                items:
  5135                                  description: |-
  5136                                    Defines a set of pods (namely those matching the labelSelector
  5137                                    relative to the given namespace(s)) that this pod should be
  5138                                    co-located (affinity) or not co-located (anti-affinity) with,
  5139                                    where co-located is defined as running on a node whose value of
  5140                                    the label with key <topologyKey> matches that of any node on which
  5141                                    a pod of the set of pods is running
  5142                                  properties:
  5143                                    labelSelector:
  5144                                      description: |-
  5145                                        A label query over a set of resources, in this case pods.
  5146                                        If it's null, this PodAffinityTerm matches with no Pods.
  5147                                      properties:
  5148                                        matchExpressions:
  5149                                          description: matchExpressions is a list
  5150                                            of label selector requirements. The requirements
  5151                                            are ANDed.
  5152                                          items:
  5153                                            description: |-
  5154                                              A label selector requirement is a selector that contains values, a key, and an operator that
  5155                                              relates the key and values.
  5156                                            properties:
  5157                                              key:
  5158                                                description: key is the label key
  5159                                                  that the selector applies to.
  5160                                                type: string
  5161                                              operator:
  5162                                                description: |-
  5163                                                  operator represents a key's relationship to a set of values.
  5164                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  5165                                                type: string
  5166                                              values:
  5167                                                description: |-
  5168                                                  values is an array of string values. If the operator is In or NotIn,
  5169                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5170                                                  the values array must be empty. This array is replaced during a strategic
  5171                                                  merge patch.
  5172                                                items:
  5173                                                  type: string
  5174                                                type: array
  5175                                                x-kubernetes-list-type: atomic
  5176                                            required:
  5177                                            - key
  5178                                            - operator
  5179                                            type: object
  5180                                          type: array
  5181                                          x-kubernetes-list-type: atomic
  5182                                        matchLabels:
  5183                                          additionalProperties:
  5184                                            type: string
  5185                                          description: |-
  5186                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5187                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  5188                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  5189                                          type: object
  5190                                      type: object
  5191                                      x-kubernetes-map-type: atomic
  5192                                    matchLabelKeys:
  5193                                      description: |-
  5194                                        MatchLabelKeys is a set of pod label keys to select which pods will
  5195                                        be taken into consideration. The keys are used to lookup values from the
  5196                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  5197                                        to select the group of existing pods which pods will be taken into consideration
  5198                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  5199                                        pod labels will be ignored. The default value is empty.
  5200                                        The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  5201                                        Also, matchLabelKeys cannot be set when labelSelector isn't set.
  5202                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  5203                                      items:
  5204                                        type: string
  5205                                      type: array
  5206                                      x-kubernetes-list-type: atomic
  5207                                    mismatchLabelKeys:
  5208                                      description: |-
  5209                                        MismatchLabelKeys is a set of pod label keys to select which pods will
  5210                                        be taken into consideration. The keys are used to lookup values from the
  5211                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  5212                                        to select the group of existing pods which pods will be taken into consideration
  5213                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  5214                                        pod labels will be ignored. The default value is empty.
  5215                                        The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  5216                                        Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  5217                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  5218                                      items:
  5219                                        type: string
  5220                                      type: array
  5221                                      x-kubernetes-list-type: atomic
  5222                                    namespaceSelector:
  5223                                      description: |-
  5224                                        A label query over the set of namespaces that the term applies to.
  5225                                        The term is applied to the union of the namespaces selected by this field
  5226                                        and the ones listed in the namespaces field.
  5227                                        null selector and null or empty namespaces list means "this pod's namespace".
  5228                                        An empty selector ({}) matches all namespaces.
  5229                                      properties:
  5230                                        matchExpressions:
  5231                                          description: matchExpressions is a list
  5232                                            of label selector requirements. The requirements
  5233                                            are ANDed.
  5234                                          items:
  5235                                            description: |-
  5236                                              A label selector requirement is a selector that contains values, a key, and an operator that
  5237                                              relates the key and values.
  5238                                            properties:
  5239                                              key:
  5240                                                description: key is the label key
  5241                                                  that the selector applies to.
  5242                                                type: string
  5243                                              operator:
  5244                                                description: |-
  5245                                                  operator represents a key's relationship to a set of values.
  5246                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  5247                                                type: string
  5248                                              values:
  5249                                                description: |-
  5250                                                  values is an array of string values. If the operator is In or NotIn,
  5251                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5252                                                  the values array must be empty. This array is replaced during a strategic
  5253                                                  merge patch.
  5254                                                items:
  5255                                                  type: string
  5256                                                type: array
  5257                                                x-kubernetes-list-type: atomic
  5258                                            required:
  5259                                            - key
  5260                                            - operator
  5261                                            type: object
  5262                                          type: array
  5263                                          x-kubernetes-list-type: atomic
  5264                                        matchLabels:
  5265                                          additionalProperties:
  5266                                            type: string
  5267                                          description: |-
  5268                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5269                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  5270                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  5271                                          type: object
  5272                                      type: object
  5273                                      x-kubernetes-map-type: atomic
  5274                                    namespaces:
  5275                                      description: |-
  5276                                        namespaces specifies a static list of namespace names that the term applies to.
  5277                                        The term is applied to the union of the namespaces listed in this field
  5278                                        and the ones selected by namespaceSelector.
  5279                                        null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  5280                                      items:
  5281                                        type: string
  5282                                      type: array
  5283                                      x-kubernetes-list-type: atomic
  5284                                    topologyKey:
  5285                                      description: |-
  5286                                        This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  5287                                        the labelSelector in the specified namespaces, where co-located is defined as running on a node
  5288                                        whose value of the label with key topologyKey matches that of any node on which any of the
  5289                                        selected pods is running.
  5290                                        Empty topologyKey is not allowed.
  5291                                      type: string
  5292                                  required:
  5293                                  - topologyKey
  5294                                  type: object
  5295                                type: array
  5296                                x-kubernetes-list-type: atomic
  5297                            type: object
  5298                        type: object
  5299                      nodeSelector:
  5300                        additionalProperties:
  5301                          type: string
  5302                        description: |-
  5303                          nodeSelector is the node selector applied to the relevant kind of pods
  5304                          It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
  5305                          the node must have each of the indicated key-value pairs as labels
  5306                          (it can have additional labels as well).
  5307                          See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  5308                        type: object
  5309                      tolerations:
  5310                        description: |-
  5311                          tolerations is a list of tolerations applied to the relevant kind of pods
  5312                          See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
  5313                          These are additional tolerations other than default ones.
  5314                        items:
  5315                          description: |-
  5316                            The pod this Toleration is attached to tolerates any taint that matches
  5317                            the triple <key,value,effect> using the matching operator <operator>.
  5318                          properties:
  5319                            effect:
  5320                              description: |-
  5321                                Effect indicates the taint effect to match. Empty means match all taint effects.
  5322                                When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  5323                              type: string
  5324                            key:
  5325                              description: |-
  5326                                Key is the taint key that the toleration applies to. Empty means match all taint keys.
  5327                                If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  5328                              type: string
  5329                            operator:
  5330                              description: |-
  5331                                Operator represents a key's relationship to the value.
  5332                                Valid operators are Exists and Equal. Defaults to Equal.
  5333                                Exists is equivalent to wildcard for value, so that a pod can
  5334                                tolerate all taints of a particular category.
  5335                              type: string
  5336                            tolerationSeconds:
  5337                              description: |-
  5338                                TolerationSeconds represents the period of time the toleration (which must be
  5339                                of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  5340                                it is not set, which means tolerate the taint forever (do not evict). Zero and
  5341                                negative values will be treated as 0 (evict immediately) by the system.
  5342                              format: int64
  5343                              type: integer
  5344                            value:
  5345                              description: |-
  5346                                Value is the taint value the toleration matches to.
  5347                                If the operator is Exists, the value should be empty, otherwise just a regular string.
  5348                              type: string
  5349                          type: object
  5350                        type: array
  5351                    type: object
  5352                  replicas:
  5353                    description: |-
  5354                      replicas indicates how many replicas should be created for each KubeVirt infrastructure
  5355                      component (like virt-api or virt-controller). Defaults to 2.
  5356                      WARNING: this is an advanced feature that prevents auto-scaling for core kubevirt components. Please use with caution!
  5357                    type: integer
  5358                type: object
  5359              monitorAccount:
  5360                description: |-
  5361                  The name of the Prometheus service account that needs read-access to KubeVirt endpoints
  5362                  Defaults to prometheus-k8s
  5363                type: string
  5364              monitorNamespace:
  5365                description: |-
  5366                  The namespace Prometheus is deployed in
  5367                  Defaults to openshift-monitor
  5368                type: string
  5369              productComponent:
  5370                description: |-
  5371                  Designate the apps.kubevirt.io/component label for KubeVirt components.
  5372                  Useful if KubeVirt is included as part of a product.
  5373                  If ProductComponent is not specified, the component label default value is kubevirt.
  5374                type: string
  5375              productName:
  5376                description: |-
  5377                  Designate the apps.kubevirt.io/part-of label for KubeVirt components.
  5378                  Useful if KubeVirt is included as part of a product.
  5379                  If ProductName is not specified, the part-of label will be omitted.
  5380                type: string
  5381              productVersion:
  5382                description: |-
  5383                  Designate the apps.kubevirt.io/version label for KubeVirt components.
  5384                  Useful if KubeVirt is included as part of a product.
  5385                  If ProductVersion is not specified, KubeVirt's version will be used.
  5386                type: string
  5387              serviceMonitorNamespace:
  5388                description: |-
  5389                  The namespace the service monitor will be deployed
  5390                   When ServiceMonitorNamespace is set, then we'll install the service monitor object in that namespace
  5391                  otherwise we will use the monitoring namespace.
  5392                type: string
  5393              uninstallStrategy:
  5394                description: |-
  5395                  Specifies if kubevirt can be deleted if workloads are still present.
  5396                  This is mainly a precaution to avoid accidental data loss
  5397                type: string
  5398              workloadUpdateStrategy:
  5399                description: |-
  5400                  WorkloadUpdateStrategy defines at the cluster level how to handle
  5401                  automated workload updates
  5402                properties:
  5403                  batchEvictionInterval:
  5404                    description: |-
  5405                      BatchEvictionInterval Represents the interval to wait before issuing the next
  5406                      batch of shutdowns
  5407
  5408                      Defaults to 1 minute
  5409                    type: string
  5410                  batchEvictionSize:
  5411                    description: |-
  5412                      BatchEvictionSize Represents the number of VMIs that can be forced updated per
  5413                      the BatchShutdownInteral interval
  5414
  5415                      Defaults to 10
  5416                    type: integer
  5417                  workloadUpdateMethods:
  5418                    description: |-
  5419                      WorkloadUpdateMethods defines the methods that can be used to disrupt workloads
  5420                      during automated workload updates.
  5421                      When multiple methods are present, the least disruptive method takes
  5422                      precedence over more disruptive methods. For example if both LiveMigrate and Shutdown
  5423                      methods are listed, only VMs which are not live migratable will be restarted/shutdown
  5424
  5425                      An empty list defaults to no automated workload updating
  5426                    items:
  5427                      type: string
  5428                    type: array
  5429                    x-kubernetes-list-type: atomic
  5430                type: object
  5431              workloads:
  5432                description: selectors and tolerations that should apply to KubeVirt
  5433                  workloads
  5434                properties:
  5435                  nodePlacement:
  5436                    description: |-
  5437                      nodePlacement describes scheduling configuration for specific
  5438                      KubeVirt components
  5439                    properties:
  5440                      affinity:
  5441                        description: |-
  5442                          affinity enables pod affinity/anti-affinity placement expanding the types of constraints
  5443                          that can be expressed with nodeSelector.
  5444                          affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
  5445                          See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  5446                        properties:
  5447                          nodeAffinity:
  5448                            description: Describes node affinity scheduling rules
  5449                              for the pod.
  5450                            properties:
  5451                              preferredDuringSchedulingIgnoredDuringExecution:
  5452                                description: |-
  5453                                  The scheduler will prefer to schedule pods to nodes that satisfy
  5454                                  the affinity expressions specified by this field, but it may choose
  5455                                  a node that violates one or more of the expressions. The node that is
  5456                                  most preferred is the one with the greatest sum of weights, i.e.
  5457                                  for each node that meets all of the scheduling requirements (resource
  5458                                  request, requiredDuringScheduling affinity expressions, etc.),
  5459                                  compute a sum by iterating through the elements of this field and adding
  5460                                  "weight" to the sum if the node matches the corresponding matchExpressions; the
  5461                                  node(s) with the highest sum are the most preferred.
  5462                                items:
  5463                                  description: |-
  5464                                    An empty preferred scheduling term matches all objects with implicit weight 0
  5465                                    (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  5466                                  properties:
  5467                                    preference:
  5468                                      description: A node selector term, associated
  5469                                        with the corresponding weight.
  5470                                      properties:
  5471                                        matchExpressions:
  5472                                          description: A list of node selector requirements
  5473                                            by node's labels.
  5474                                          items:
  5475                                            description: |-
  5476                                              A node selector requirement is a selector that contains values, a key, and an operator
  5477                                              that relates the key and values.
  5478                                            properties:
  5479                                              key:
  5480                                                description: The label key that the
  5481                                                  selector applies to.
  5482                                                type: string
  5483                                              operator:
  5484                                                description: |-
  5485                                                  Represents a key's relationship to a set of values.
  5486                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  5487                                                type: string
  5488                                              values:
  5489                                                description: |-
  5490                                                  An array of string values. If the operator is In or NotIn,
  5491                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5492                                                  the values array must be empty. If the operator is Gt or Lt, the values
  5493                                                  array must have a single element, which will be interpreted as an integer.
  5494                                                  This array is replaced during a strategic merge patch.
  5495                                                items:
  5496                                                  type: string
  5497                                                type: array
  5498                                                x-kubernetes-list-type: atomic
  5499                                            required:
  5500                                            - key
  5501                                            - operator
  5502                                            type: object
  5503                                          type: array
  5504                                          x-kubernetes-list-type: atomic
  5505                                        matchFields:
  5506                                          description: A list of node selector requirements
  5507                                            by node's fields.
  5508                                          items:
  5509                                            description: |-
  5510                                              A node selector requirement is a selector that contains values, a key, and an operator
  5511                                              that relates the key and values.
  5512                                            properties:
  5513                                              key:
  5514                                                description: The label key that the
  5515                                                  selector applies to.
  5516                                                type: string
  5517                                              operator:
  5518                                                description: |-
  5519                                                  Represents a key's relationship to a set of values.
  5520                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  5521                                                type: string
  5522                                              values:
  5523                                                description: |-
  5524                                                  An array of string values. If the operator is In or NotIn,
  5525                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5526                                                  the values array must be empty. If the operator is Gt or Lt, the values
  5527                                                  array must have a single element, which will be interpreted as an integer.
  5528                                                  This array is replaced during a strategic merge patch.
  5529                                                items:
  5530                                                  type: string
  5531                                                type: array
  5532                                                x-kubernetes-list-type: atomic
  5533                                            required:
  5534                                            - key
  5535                                            - operator
  5536                                            type: object
  5537                                          type: array
  5538                                          x-kubernetes-list-type: atomic
  5539                                      type: object
  5540                                      x-kubernetes-map-type: atomic
  5541                                    weight:
  5542                                      description: Weight associated with matching
  5543                                        the corresponding nodeSelectorTerm, in the
  5544                                        range 1-100.
  5545                                      format: int32
  5546                                      type: integer
  5547                                  required:
  5548                                  - preference
  5549                                  - weight
  5550                                  type: object
  5551                                type: array
  5552                                x-kubernetes-list-type: atomic
  5553                              requiredDuringSchedulingIgnoredDuringExecution:
  5554                                description: |-
  5555                                  If the affinity requirements specified by this field are not met at
  5556                                  scheduling time, the pod will not be scheduled onto the node.
  5557                                  If the affinity requirements specified by this field cease to be met
  5558                                  at some point during pod execution (e.g. due to an update), the system
  5559                                  may or may not try to eventually evict the pod from its node.
  5560                                properties:
  5561                                  nodeSelectorTerms:
  5562                                    description: Required. A list of node selector
  5563                                      terms. The terms are ORed.
  5564                                    items:
  5565                                      description: |-
  5566                                        A null or empty node selector term matches no objects. The requirements of
  5567                                        them are ANDed.
  5568                                        The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  5569                                      properties:
  5570                                        matchExpressions:
  5571                                          description: A list of node selector requirements
  5572                                            by node's labels.
  5573                                          items:
  5574                                            description: |-
  5575                                              A node selector requirement is a selector that contains values, a key, and an operator
  5576                                              that relates the key and values.
  5577                                            properties:
  5578                                              key:
  5579                                                description: The label key that the
  5580                                                  selector applies to.
  5581                                                type: string
  5582                                              operator:
  5583                                                description: |-
  5584                                                  Represents a key's relationship to a set of values.
  5585                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  5586                                                type: string
  5587                                              values:
  5588                                                description: |-
  5589                                                  An array of string values. If the operator is In or NotIn,
  5590                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5591                                                  the values array must be empty. If the operator is Gt or Lt, the values
  5592                                                  array must have a single element, which will be interpreted as an integer.
  5593                                                  This array is replaced during a strategic merge patch.
  5594                                                items:
  5595                                                  type: string
  5596                                                type: array
  5597                                                x-kubernetes-list-type: atomic
  5598                                            required:
  5599                                            - key
  5600                                            - operator
  5601                                            type: object
  5602                                          type: array
  5603                                          x-kubernetes-list-type: atomic
  5604                                        matchFields:
  5605                                          description: A list of node selector requirements
  5606                                            by node's fields.
  5607                                          items:
  5608                                            description: |-
  5609                                              A node selector requirement is a selector that contains values, a key, and an operator
  5610                                              that relates the key and values.
  5611                                            properties:
  5612                                              key:
  5613                                                description: The label key that the
  5614                                                  selector applies to.
  5615                                                type: string
  5616                                              operator:
  5617                                                description: |-
  5618                                                  Represents a key's relationship to a set of values.
  5619                                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  5620                                                type: string
  5621                                              values:
  5622                                                description: |-
  5623                                                  An array of string values. If the operator is In or NotIn,
  5624                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5625                                                  the values array must be empty. If the operator is Gt or Lt, the values
  5626                                                  array must have a single element, which will be interpreted as an integer.
  5627                                                  This array is replaced during a strategic merge patch.
  5628                                                items:
  5629                                                  type: string
  5630                                                type: array
  5631                                                x-kubernetes-list-type: atomic
  5632                                            required:
  5633                                            - key
  5634                                            - operator
  5635                                            type: object
  5636                                          type: array
  5637                                          x-kubernetes-list-type: atomic
  5638                                      type: object
  5639                                      x-kubernetes-map-type: atomic
  5640                                    type: array
  5641                                    x-kubernetes-list-type: atomic
  5642                                required:
  5643                                - nodeSelectorTerms
  5644                                type: object
  5645                                x-kubernetes-map-type: atomic
  5646                            type: object
  5647                          podAffinity:
  5648                            description: Describes pod affinity scheduling rules (e.g.
  5649                              co-locate this pod in the same node, zone, etc. as some
  5650                              other pod(s)).
  5651                            properties:
  5652                              preferredDuringSchedulingIgnoredDuringExecution:
  5653                                description: |-
  5654                                  The scheduler will prefer to schedule pods to nodes that satisfy
  5655                                  the affinity expressions specified by this field, but it may choose
  5656                                  a node that violates one or more of the expressions. The node that is
  5657                                  most preferred is the one with the greatest sum of weights, i.e.
  5658                                  for each node that meets all of the scheduling requirements (resource
  5659                                  request, requiredDuringScheduling affinity expressions, etc.),
  5660                                  compute a sum by iterating through the elements of this field and adding
  5661                                  "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  5662                                  node(s) with the highest sum are the most preferred.
  5663                                items:
  5664                                  description: The weights of all of the matched WeightedPodAffinityTerm
  5665                                    fields are added per-node to find the most preferred
  5666                                    node(s)
  5667                                  properties:
  5668                                    podAffinityTerm:
  5669                                      description: Required. A pod affinity term,
  5670                                        associated with the corresponding weight.
  5671                                      properties:
  5672                                        labelSelector:
  5673                                          description: |-
  5674                                            A label query over a set of resources, in this case pods.
  5675                                            If it's null, this PodAffinityTerm matches with no Pods.
  5676                                          properties:
  5677                                            matchExpressions:
  5678                                              description: matchExpressions is a list
  5679                                                of label selector requirements. The
  5680                                                requirements are ANDed.
  5681                                              items:
  5682                                                description: |-
  5683                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  5684                                                  relates the key and values.
  5685                                                properties:
  5686                                                  key:
  5687                                                    description: key is the label
  5688                                                      key that the selector applies
  5689                                                      to.
  5690                                                    type: string
  5691                                                  operator:
  5692                                                    description: |-
  5693                                                      operator represents a key's relationship to a set of values.
  5694                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  5695                                                    type: string
  5696                                                  values:
  5697                                                    description: |-
  5698                                                      values is an array of string values. If the operator is In or NotIn,
  5699                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5700                                                      the values array must be empty. This array is replaced during a strategic
  5701                                                      merge patch.
  5702                                                    items:
  5703                                                      type: string
  5704                                                    type: array
  5705                                                    x-kubernetes-list-type: atomic
  5706                                                required:
  5707                                                - key
  5708                                                - operator
  5709                                                type: object
  5710                                              type: array
  5711                                              x-kubernetes-list-type: atomic
  5712                                            matchLabels:
  5713                                              additionalProperties:
  5714                                                type: string
  5715                                              description: |-
  5716                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5717                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  5718                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  5719                                              type: object
  5720                                          type: object
  5721                                          x-kubernetes-map-type: atomic
  5722                                        matchLabelKeys:
  5723                                          description: |-
  5724                                            MatchLabelKeys is a set of pod label keys to select which pods will
  5725                                            be taken into consideration. The keys are used to lookup values from the
  5726                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  5727                                            to select the group of existing pods which pods will be taken into consideration
  5728                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  5729                                            pod labels will be ignored. The default value is empty.
  5730                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  5731                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
  5732                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  5733                                          items:
  5734                                            type: string
  5735                                          type: array
  5736                                          x-kubernetes-list-type: atomic
  5737                                        mismatchLabelKeys:
  5738                                          description: |-
  5739                                            MismatchLabelKeys is a set of pod label keys to select which pods will
  5740                                            be taken into consideration. The keys are used to lookup values from the
  5741                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  5742                                            to select the group of existing pods which pods will be taken into consideration
  5743                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  5744                                            pod labels will be ignored. The default value is empty.
  5745                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  5746                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  5747                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  5748                                          items:
  5749                                            type: string
  5750                                          type: array
  5751                                          x-kubernetes-list-type: atomic
  5752                                        namespaceSelector:
  5753                                          description: |-
  5754                                            A label query over the set of namespaces that the term applies to.
  5755                                            The term is applied to the union of the namespaces selected by this field
  5756                                            and the ones listed in the namespaces field.
  5757                                            null selector and null or empty namespaces list means "this pod's namespace".
  5758                                            An empty selector ({}) matches all namespaces.
  5759                                          properties:
  5760                                            matchExpressions:
  5761                                              description: matchExpressions is a list
  5762                                                of label selector requirements. The
  5763                                                requirements are ANDed.
  5764                                              items:
  5765                                                description: |-
  5766                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  5767                                                  relates the key and values.
  5768                                                properties:
  5769                                                  key:
  5770                                                    description: key is the label
  5771                                                      key that the selector applies
  5772                                                      to.
  5773                                                    type: string
  5774                                                  operator:
  5775                                                    description: |-
  5776                                                      operator represents a key's relationship to a set of values.
  5777                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  5778                                                    type: string
  5779                                                  values:
  5780                                                    description: |-
  5781                                                      values is an array of string values. If the operator is In or NotIn,
  5782                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5783                                                      the values array must be empty. This array is replaced during a strategic
  5784                                                      merge patch.
  5785                                                    items:
  5786                                                      type: string
  5787                                                    type: array
  5788                                                    x-kubernetes-list-type: atomic
  5789                                                required:
  5790                                                - key
  5791                                                - operator
  5792                                                type: object
  5793                                              type: array
  5794                                              x-kubernetes-list-type: atomic
  5795                                            matchLabels:
  5796                                              additionalProperties:
  5797                                                type: string
  5798                                              description: |-
  5799                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5800                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  5801                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  5802                                              type: object
  5803                                          type: object
  5804                                          x-kubernetes-map-type: atomic
  5805                                        namespaces:
  5806                                          description: |-
  5807                                            namespaces specifies a static list of namespace names that the term applies to.
  5808                                            The term is applied to the union of the namespaces listed in this field
  5809                                            and the ones selected by namespaceSelector.
  5810                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  5811                                          items:
  5812                                            type: string
  5813                                          type: array
  5814                                          x-kubernetes-list-type: atomic
  5815                                        topologyKey:
  5816                                          description: |-
  5817                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  5818                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
  5819                                            whose value of the label with key topologyKey matches that of any node on which any of the
  5820                                            selected pods is running.
  5821                                            Empty topologyKey is not allowed.
  5822                                          type: string
  5823                                      required:
  5824                                      - topologyKey
  5825                                      type: object
  5826                                    weight:
  5827                                      description: |-
  5828                                        weight associated with matching the corresponding podAffinityTerm,
  5829                                        in the range 1-100.
  5830                                      format: int32
  5831                                      type: integer
  5832                                  required:
  5833                                  - podAffinityTerm
  5834                                  - weight
  5835                                  type: object
  5836                                type: array
  5837                                x-kubernetes-list-type: atomic
  5838                              requiredDuringSchedulingIgnoredDuringExecution:
  5839                                description: |-
  5840                                  If the affinity requirements specified by this field are not met at
  5841                                  scheduling time, the pod will not be scheduled onto the node.
  5842                                  If the affinity requirements specified by this field cease to be met
  5843                                  at some point during pod execution (e.g. due to a pod label update), the
  5844                                  system may or may not try to eventually evict the pod from its node.
  5845                                  When there are multiple elements, the lists of nodes corresponding to each
  5846                                  podAffinityTerm are intersected, i.e. all terms must be satisfied.
  5847                                items:
  5848                                  description: |-
  5849                                    Defines a set of pods (namely those matching the labelSelector
  5850                                    relative to the given namespace(s)) that this pod should be
  5851                                    co-located (affinity) or not co-located (anti-affinity) with,
  5852                                    where co-located is defined as running on a node whose value of
  5853                                    the label with key <topologyKey> matches that of any node on which
  5854                                    a pod of the set of pods is running
  5855                                  properties:
  5856                                    labelSelector:
  5857                                      description: |-
  5858                                        A label query over a set of resources, in this case pods.
  5859                                        If it's null, this PodAffinityTerm matches with no Pods.
  5860                                      properties:
  5861                                        matchExpressions:
  5862                                          description: matchExpressions is a list
  5863                                            of label selector requirements. The requirements
  5864                                            are ANDed.
  5865                                          items:
  5866                                            description: |-
  5867                                              A label selector requirement is a selector that contains values, a key, and an operator that
  5868                                              relates the key and values.
  5869                                            properties:
  5870                                              key:
  5871                                                description: key is the label key
  5872                                                  that the selector applies to.
  5873                                                type: string
  5874                                              operator:
  5875                                                description: |-
  5876                                                  operator represents a key's relationship to a set of values.
  5877                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  5878                                                type: string
  5879                                              values:
  5880                                                description: |-
  5881                                                  values is an array of string values. If the operator is In or NotIn,
  5882                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5883                                                  the values array must be empty. This array is replaced during a strategic
  5884                                                  merge patch.
  5885                                                items:
  5886                                                  type: string
  5887                                                type: array
  5888                                                x-kubernetes-list-type: atomic
  5889                                            required:
  5890                                            - key
  5891                                            - operator
  5892                                            type: object
  5893                                          type: array
  5894                                          x-kubernetes-list-type: atomic
  5895                                        matchLabels:
  5896                                          additionalProperties:
  5897                                            type: string
  5898                                          description: |-
  5899                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5900                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  5901                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  5902                                          type: object
  5903                                      type: object
  5904                                      x-kubernetes-map-type: atomic
  5905                                    matchLabelKeys:
  5906                                      description: |-
  5907                                        MatchLabelKeys is a set of pod label keys to select which pods will
  5908                                        be taken into consideration. The keys are used to lookup values from the
  5909                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  5910                                        to select the group of existing pods which pods will be taken into consideration
  5911                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  5912                                        pod labels will be ignored. The default value is empty.
  5913                                        The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  5914                                        Also, matchLabelKeys cannot be set when labelSelector isn't set.
  5915                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  5916                                      items:
  5917                                        type: string
  5918                                      type: array
  5919                                      x-kubernetes-list-type: atomic
  5920                                    mismatchLabelKeys:
  5921                                      description: |-
  5922                                        MismatchLabelKeys is a set of pod label keys to select which pods will
  5923                                        be taken into consideration. The keys are used to lookup values from the
  5924                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  5925                                        to select the group of existing pods which pods will be taken into consideration
  5926                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  5927                                        pod labels will be ignored. The default value is empty.
  5928                                        The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  5929                                        Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  5930                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  5931                                      items:
  5932                                        type: string
  5933                                      type: array
  5934                                      x-kubernetes-list-type: atomic
  5935                                    namespaceSelector:
  5936                                      description: |-
  5937                                        A label query over the set of namespaces that the term applies to.
  5938                                        The term is applied to the union of the namespaces selected by this field
  5939                                        and the ones listed in the namespaces field.
  5940                                        null selector and null or empty namespaces list means "this pod's namespace".
  5941                                        An empty selector ({}) matches all namespaces.
  5942                                      properties:
  5943                                        matchExpressions:
  5944                                          description: matchExpressions is a list
  5945                                            of label selector requirements. The requirements
  5946                                            are ANDed.
  5947                                          items:
  5948                                            description: |-
  5949                                              A label selector requirement is a selector that contains values, a key, and an operator that
  5950                                              relates the key and values.
  5951                                            properties:
  5952                                              key:
  5953                                                description: key is the label key
  5954                                                  that the selector applies to.
  5955                                                type: string
  5956                                              operator:
  5957                                                description: |-
  5958                                                  operator represents a key's relationship to a set of values.
  5959                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  5960                                                type: string
  5961                                              values:
  5962                                                description: |-
  5963                                                  values is an array of string values. If the operator is In or NotIn,
  5964                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5965                                                  the values array must be empty. This array is replaced during a strategic
  5966                                                  merge patch.
  5967                                                items:
  5968                                                  type: string
  5969                                                type: array
  5970                                                x-kubernetes-list-type: atomic
  5971                                            required:
  5972                                            - key
  5973                                            - operator
  5974                                            type: object
  5975                                          type: array
  5976                                          x-kubernetes-list-type: atomic
  5977                                        matchLabels:
  5978                                          additionalProperties:
  5979                                            type: string
  5980                                          description: |-
  5981                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5982                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  5983                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  5984                                          type: object
  5985                                      type: object
  5986                                      x-kubernetes-map-type: atomic
  5987                                    namespaces:
  5988                                      description: |-
  5989                                        namespaces specifies a static list of namespace names that the term applies to.
  5990                                        The term is applied to the union of the namespaces listed in this field
  5991                                        and the ones selected by namespaceSelector.
  5992                                        null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  5993                                      items:
  5994                                        type: string
  5995                                      type: array
  5996                                      x-kubernetes-list-type: atomic
  5997                                    topologyKey:
  5998                                      description: |-
  5999                                        This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  6000                                        the labelSelector in the specified namespaces, where co-located is defined as running on a node
  6001                                        whose value of the label with key topologyKey matches that of any node on which any of the
  6002                                        selected pods is running.
  6003                                        Empty topologyKey is not allowed.
  6004                                      type: string
  6005                                  required:
  6006                                  - topologyKey
  6007                                  type: object
  6008                                type: array
  6009                                x-kubernetes-list-type: atomic
  6010                            type: object
  6011                          podAntiAffinity:
  6012                            description: Describes pod anti-affinity scheduling rules
  6013                              (e.g. avoid putting this pod in the same node, zone,
  6014                              etc. as some other pod(s)).
  6015                            properties:
  6016                              preferredDuringSchedulingIgnoredDuringExecution:
  6017                                description: |-
  6018                                  The scheduler will prefer to schedule pods to nodes that satisfy
  6019                                  the anti-affinity expressions specified by this field, but it may choose
  6020                                  a node that violates one or more of the expressions. The node that is
  6021                                  most preferred is the one with the greatest sum of weights, i.e.
  6022                                  for each node that meets all of the scheduling requirements (resource
  6023                                  request, requiredDuringScheduling anti-affinity expressions, etc.),
  6024                                  compute a sum by iterating through the elements of this field and adding
  6025                                  "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  6026                                  node(s) with the highest sum are the most preferred.
  6027                                items:
  6028                                  description: The weights of all of the matched WeightedPodAffinityTerm
  6029                                    fields are added per-node to find the most preferred
  6030                                    node(s)
  6031                                  properties:
  6032                                    podAffinityTerm:
  6033                                      description: Required. A pod affinity term,
  6034                                        associated with the corresponding weight.
  6035                                      properties:
  6036                                        labelSelector:
  6037                                          description: |-
  6038                                            A label query over a set of resources, in this case pods.
  6039                                            If it's null, this PodAffinityTerm matches with no Pods.
  6040                                          properties:
  6041                                            matchExpressions:
  6042                                              description: matchExpressions is a list
  6043                                                of label selector requirements. The
  6044                                                requirements are ANDed.
  6045                                              items:
  6046                                                description: |-
  6047                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  6048                                                  relates the key and values.
  6049                                                properties:
  6050                                                  key:
  6051                                                    description: key is the label
  6052                                                      key that the selector applies
  6053                                                      to.
  6054                                                    type: string
  6055                                                  operator:
  6056                                                    description: |-
  6057                                                      operator represents a key's relationship to a set of values.
  6058                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  6059                                                    type: string
  6060                                                  values:
  6061                                                    description: |-
  6062                                                      values is an array of string values. If the operator is In or NotIn,
  6063                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  6064                                                      the values array must be empty. This array is replaced during a strategic
  6065                                                      merge patch.
  6066                                                    items:
  6067                                                      type: string
  6068                                                    type: array
  6069                                                    x-kubernetes-list-type: atomic
  6070                                                required:
  6071                                                - key
  6072                                                - operator
  6073                                                type: object
  6074                                              type: array
  6075                                              x-kubernetes-list-type: atomic
  6076                                            matchLabels:
  6077                                              additionalProperties:
  6078                                                type: string
  6079                                              description: |-
  6080                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  6081                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  6082                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  6083                                              type: object
  6084                                          type: object
  6085                                          x-kubernetes-map-type: atomic
  6086                                        matchLabelKeys:
  6087                                          description: |-
  6088                                            MatchLabelKeys is a set of pod label keys to select which pods will
  6089                                            be taken into consideration. The keys are used to lookup values from the
  6090                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  6091                                            to select the group of existing pods which pods will be taken into consideration
  6092                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  6093                                            pod labels will be ignored. The default value is empty.
  6094                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  6095                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
  6096                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  6097                                          items:
  6098                                            type: string
  6099                                          type: array
  6100                                          x-kubernetes-list-type: atomic
  6101                                        mismatchLabelKeys:
  6102                                          description: |-
  6103                                            MismatchLabelKeys is a set of pod label keys to select which pods will
  6104                                            be taken into consideration. The keys are used to lookup values from the
  6105                                            incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  6106                                            to select the group of existing pods which pods will be taken into consideration
  6107                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  6108                                            pod labels will be ignored. The default value is empty.
  6109                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  6110                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  6111                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  6112                                          items:
  6113                                            type: string
  6114                                          type: array
  6115                                          x-kubernetes-list-type: atomic
  6116                                        namespaceSelector:
  6117                                          description: |-
  6118                                            A label query over the set of namespaces that the term applies to.
  6119                                            The term is applied to the union of the namespaces selected by this field
  6120                                            and the ones listed in the namespaces field.
  6121                                            null selector and null or empty namespaces list means "this pod's namespace".
  6122                                            An empty selector ({}) matches all namespaces.
  6123                                          properties:
  6124                                            matchExpressions:
  6125                                              description: matchExpressions is a list
  6126                                                of label selector requirements. The
  6127                                                requirements are ANDed.
  6128                                              items:
  6129                                                description: |-
  6130                                                  A label selector requirement is a selector that contains values, a key, and an operator that
  6131                                                  relates the key and values.
  6132                                                properties:
  6133                                                  key:
  6134                                                    description: key is the label
  6135                                                      key that the selector applies
  6136                                                      to.
  6137                                                    type: string
  6138                                                  operator:
  6139                                                    description: |-
  6140                                                      operator represents a key's relationship to a set of values.
  6141                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
  6142                                                    type: string
  6143                                                  values:
  6144                                                    description: |-
  6145                                                      values is an array of string values. If the operator is In or NotIn,
  6146                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
  6147                                                      the values array must be empty. This array is replaced during a strategic
  6148                                                      merge patch.
  6149                                                    items:
  6150                                                      type: string
  6151                                                    type: array
  6152                                                    x-kubernetes-list-type: atomic
  6153                                                required:
  6154                                                - key
  6155                                                - operator
  6156                                                type: object
  6157                                              type: array
  6158                                              x-kubernetes-list-type: atomic
  6159                                            matchLabels:
  6160                                              additionalProperties:
  6161                                                type: string
  6162                                              description: |-
  6163                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  6164                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
  6165                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
  6166                                              type: object
  6167                                          type: object
  6168                                          x-kubernetes-map-type: atomic
  6169                                        namespaces:
  6170                                          description: |-
  6171                                            namespaces specifies a static list of namespace names that the term applies to.
  6172                                            The term is applied to the union of the namespaces listed in this field
  6173                                            and the ones selected by namespaceSelector.
  6174                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  6175                                          items:
  6176                                            type: string
  6177                                          type: array
  6178                                          x-kubernetes-list-type: atomic
  6179                                        topologyKey:
  6180                                          description: |-
  6181                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  6182                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
  6183                                            whose value of the label with key topologyKey matches that of any node on which any of the
  6184                                            selected pods is running.
  6185                                            Empty topologyKey is not allowed.
  6186                                          type: string
  6187                                      required:
  6188                                      - topologyKey
  6189                                      type: object
  6190                                    weight:
  6191                                      description: |-
  6192                                        weight associated with matching the corresponding podAffinityTerm,
  6193                                        in the range 1-100.
  6194                                      format: int32
  6195                                      type: integer
  6196                                  required:
  6197                                  - podAffinityTerm
  6198                                  - weight
  6199                                  type: object
  6200                                type: array
  6201                                x-kubernetes-list-type: atomic
  6202                              requiredDuringSchedulingIgnoredDuringExecution:
  6203                                description: |-
  6204                                  If the anti-affinity requirements specified by this field are not met at
  6205                                  scheduling time, the pod will not be scheduled onto the node.
  6206                                  If the anti-affinity requirements specified by this field cease to be met
  6207                                  at some point during pod execution (e.g. due to a pod label update), the
  6208                                  system may or may not try to eventually evict the pod from its node.
  6209                                  When there are multiple elements, the lists of nodes corresponding to each
  6210                                  podAffinityTerm are intersected, i.e. all terms must be satisfied.
  6211                                items:
  6212                                  description: |-
  6213                                    Defines a set of pods (namely those matching the labelSelector
  6214                                    relative to the given namespace(s)) that this pod should be
  6215                                    co-located (affinity) or not co-located (anti-affinity) with,
  6216                                    where co-located is defined as running on a node whose value of
  6217                                    the label with key <topologyKey> matches that of any node on which
  6218                                    a pod of the set of pods is running
  6219                                  properties:
  6220                                    labelSelector:
  6221                                      description: |-
  6222                                        A label query over a set of resources, in this case pods.
  6223                                        If it's null, this PodAffinityTerm matches with no Pods.
  6224                                      properties:
  6225                                        matchExpressions:
  6226                                          description: matchExpressions is a list
  6227                                            of label selector requirements. The requirements
  6228                                            are ANDed.
  6229                                          items:
  6230                                            description: |-
  6231                                              A label selector requirement is a selector that contains values, a key, and an operator that
  6232                                              relates the key and values.
  6233                                            properties:
  6234                                              key:
  6235                                                description: key is the label key
  6236                                                  that the selector applies to.
  6237                                                type: string
  6238                                              operator:
  6239                                                description: |-
  6240                                                  operator represents a key's relationship to a set of values.
  6241                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  6242                                                type: string
  6243                                              values:
  6244                                                description: |-
  6245                                                  values is an array of string values. If the operator is In or NotIn,
  6246                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  6247                                                  the values array must be empty. This array is replaced during a strategic
  6248                                                  merge patch.
  6249                                                items:
  6250                                                  type: string
  6251                                                type: array
  6252                                                x-kubernetes-list-type: atomic
  6253                                            required:
  6254                                            - key
  6255                                            - operator
  6256                                            type: object
  6257                                          type: array
  6258                                          x-kubernetes-list-type: atomic
  6259                                        matchLabels:
  6260                                          additionalProperties:
  6261                                            type: string
  6262                                          description: |-
  6263                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  6264                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  6265                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  6266                                          type: object
  6267                                      type: object
  6268                                      x-kubernetes-map-type: atomic
  6269                                    matchLabelKeys:
  6270                                      description: |-
  6271                                        MatchLabelKeys is a set of pod label keys to select which pods will
  6272                                        be taken into consideration. The keys are used to lookup values from the
  6273                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'
  6274                                        to select the group of existing pods which pods will be taken into consideration
  6275                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  6276                                        pod labels will be ignored. The default value is empty.
  6277                                        The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  6278                                        Also, matchLabelKeys cannot be set when labelSelector isn't set.
  6279                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  6280                                      items:
  6281                                        type: string
  6282                                      type: array
  6283                                      x-kubernetes-list-type: atomic
  6284                                    mismatchLabelKeys:
  6285                                      description: |-
  6286                                        MismatchLabelKeys is a set of pod label keys to select which pods will
  6287                                        be taken into consideration. The keys are used to lookup values from the
  6288                                        incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'
  6289                                        to select the group of existing pods which pods will be taken into consideration
  6290                                        for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  6291                                        pod labels will be ignored. The default value is empty.
  6292                                        The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  6293                                        Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  6294                                        This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
  6295                                      items:
  6296                                        type: string
  6297                                      type: array
  6298                                      x-kubernetes-list-type: atomic
  6299                                    namespaceSelector:
  6300                                      description: |-
  6301                                        A label query over the set of namespaces that the term applies to.
  6302                                        The term is applied to the union of the namespaces selected by this field
  6303                                        and the ones listed in the namespaces field.
  6304                                        null selector and null or empty namespaces list means "this pod's namespace".
  6305                                        An empty selector ({}) matches all namespaces.
  6306                                      properties:
  6307                                        matchExpressions:
  6308                                          description: matchExpressions is a list
  6309                                            of label selector requirements. The requirements
  6310                                            are ANDed.
  6311                                          items:
  6312                                            description: |-
  6313                                              A label selector requirement is a selector that contains values, a key, and an operator that
  6314                                              relates the key and values.
  6315                                            properties:
  6316                                              key:
  6317                                                description: key is the label key
  6318                                                  that the selector applies to.
  6319                                                type: string
  6320                                              operator:
  6321                                                description: |-
  6322                                                  operator represents a key's relationship to a set of values.
  6323                                                  Valid operators are In, NotIn, Exists and DoesNotExist.
  6324                                                type: string
  6325                                              values:
  6326                                                description: |-
  6327                                                  values is an array of string values. If the operator is In or NotIn,
  6328                                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
  6329                                                  the values array must be empty. This array is replaced during a strategic
  6330                                                  merge patch.
  6331                                                items:
  6332                                                  type: string
  6333                                                type: array
  6334                                                x-kubernetes-list-type: atomic
  6335                                            required:
  6336                                            - key
  6337                                            - operator
  6338                                            type: object
  6339                                          type: array
  6340                                          x-kubernetes-list-type: atomic
  6341                                        matchLabels:
  6342                                          additionalProperties:
  6343                                            type: string
  6344                                          description: |-
  6345                                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  6346                                            map is equivalent to an element of matchExpressions, whose key field is "key", the
  6347                                            operator is "In", and the values array contains only "value". The requirements are ANDed.
  6348                                          type: object
  6349                                      type: object
  6350                                      x-kubernetes-map-type: atomic
  6351                                    namespaces:
  6352                                      description: |-
  6353                                        namespaces specifies a static list of namespace names that the term applies to.
  6354                                        The term is applied to the union of the namespaces listed in this field
  6355                                        and the ones selected by namespaceSelector.
  6356                                        null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  6357                                      items:
  6358                                        type: string
  6359                                      type: array
  6360                                      x-kubernetes-list-type: atomic
  6361                                    topologyKey:
  6362                                      description: |-
  6363                                        This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  6364                                        the labelSelector in the specified namespaces, where co-located is defined as running on a node
  6365                                        whose value of the label with key topologyKey matches that of any node on which any of the
  6366                                        selected pods is running.
  6367                                        Empty topologyKey is not allowed.
  6368                                      type: string
  6369                                  required:
  6370                                  - topologyKey
  6371                                  type: object
  6372                                type: array
  6373                                x-kubernetes-list-type: atomic
  6374                            type: object
  6375                        type: object
  6376                      nodeSelector:
  6377                        additionalProperties:
  6378                          type: string
  6379                        description: |-
  6380                          nodeSelector is the node selector applied to the relevant kind of pods
  6381                          It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
  6382                          the node must have each of the indicated key-value pairs as labels
  6383                          (it can have additional labels as well).
  6384                          See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  6385                        type: object
  6386                      tolerations:
  6387                        description: |-
  6388                          tolerations is a list of tolerations applied to the relevant kind of pods
  6389                          See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
  6390                          These are additional tolerations other than default ones.
  6391                        items:
  6392                          description: |-
  6393                            The pod this Toleration is attached to tolerates any taint that matches
  6394                            the triple <key,value,effect> using the matching operator <operator>.
  6395                          properties:
  6396                            effect:
  6397                              description: |-
  6398                                Effect indicates the taint effect to match. Empty means match all taint effects.
  6399                                When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  6400                              type: string
  6401                            key:
  6402                              description: |-
  6403                                Key is the taint key that the toleration applies to. Empty means match all taint keys.
  6404                                If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  6405                              type: string
  6406                            operator:
  6407                              description: |-
  6408                                Operator represents a key's relationship to the value.
  6409                                Valid operators are Exists and Equal. Defaults to Equal.
  6410                                Exists is equivalent to wildcard for value, so that a pod can
  6411                                tolerate all taints of a particular category.
  6412                              type: string
  6413                            tolerationSeconds:
  6414                              description: |-
  6415                                TolerationSeconds represents the period of time the toleration (which must be
  6416                                of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  6417                                it is not set, which means tolerate the taint forever (do not evict). Zero and
  6418                                negative values will be treated as 0 (evict immediately) by the system.
  6419                              format: int64
  6420                              type: integer
  6421                            value:
  6422                              description: |-
  6423                                Value is the taint value the toleration matches to.
  6424                                If the operator is Exists, the value should be empty, otherwise just a regular string.
  6425                              type: string
  6426                          type: object
  6427                        type: array
  6428                    type: object
  6429                  replicas:
  6430                    description: |-
  6431                      replicas indicates how many replicas should be created for each KubeVirt infrastructure
  6432                      component (like virt-api or virt-controller). Defaults to 2.
  6433                      WARNING: this is an advanced feature that prevents auto-scaling for core kubevirt components. Please use with caution!
  6434                    type: integer
  6435                type: object
  6436            type: object
  6437          status:
  6438            description: KubeVirtStatus represents information pertaining to a KubeVirt
  6439              deployment.
  6440            properties:
  6441              conditions:
  6442                items:
  6443                  description: KubeVirtCondition represents a condition of a KubeVirt
  6444                    deployment
  6445                  properties:
  6446                    lastProbeTime:
  6447                      format: date-time
  6448                      nullable: true
  6449                      type: string
  6450                    lastTransitionTime:
  6451                      format: date-time
  6452                      nullable: true
  6453                      type: string
  6454                    message:
  6455                      type: string
  6456                    reason:
  6457                      type: string
  6458                    status:
  6459                      type: string
  6460                    type:
  6461                      type: string
  6462                  required:
  6463                  - status
  6464                  - type
  6465                  type: object
  6466                type: array
  6467              defaultArchitecture:
  6468                type: string
  6469              generations:
  6470                items:
  6471                  description: GenerationStatus keeps track of the generation for
  6472                    a given resource so that decisions about forced updates can be
  6473                    made.
  6474                  properties:
  6475                    group:
  6476                      description: group is the group of the thing you're tracking
  6477                      type: string
  6478                    hash:
  6479                      description: hash is an optional field set for resources without
  6480                        generation that are content sensitive like secrets and configmaps
  6481                      type: string
  6482                    lastGeneration:
  6483                      description: lastGeneration is the last generation of the workload
  6484                        controller involved
  6485                      format: int64
  6486                      type: integer
  6487                    name:
  6488                      description: name is the name of the thing you're tracking
  6489                      type: string
  6490                    namespace:
  6491                      description: namespace is where the thing you're tracking is
  6492                      type: string
  6493                    resource:
  6494                      description: resource is the resource type of the thing you're
  6495                        tracking
  6496                      type: string
  6497                  required:
  6498                  - group
  6499                  - lastGeneration
  6500                  - name
  6501                  - resource
  6502                  type: object
  6503                type: array
  6504                x-kubernetes-list-type: atomic
  6505              observedDeploymentConfig:
  6506                type: string
  6507              observedDeploymentID:
  6508                type: string
  6509              observedGeneration:
  6510                format: int64
  6511                type: integer
  6512              observedKubeVirtRegistry:
  6513                type: string
  6514              observedKubeVirtVersion:
  6515                type: string
  6516              operatorVersion:
  6517                type: string
  6518              outdatedVirtualMachineInstanceWorkloads:
  6519                type: integer
  6520              phase:
  6521                description: KubeVirtPhase is a label for the phase of a KubeVirt
  6522                  deployment at the current time.
  6523                type: string
  6524              targetDeploymentConfig:
  6525                type: string
  6526              targetDeploymentID:
  6527                type: string
  6528              targetKubeVirtRegistry:
  6529                type: string
  6530              targetKubeVirtVersion:
  6531                type: string
  6532            type: object
  6533        required:
  6534        - spec
  6535        type: object
  6536    served: true
  6537    storage: false
  6538    subresources:
  6539      status: {}
  6540
  6541---
  6542apiVersion: scheduling.k8s.io/v1
  6543kind: PriorityClass
  6544metadata:
  6545  name: kubevirt-cluster-critical
  6546value: 1000000000
  6547globalDefault: false
  6548description: "This priority class should be used for core kubevirt components only."
  6549---
  6550apiVersion: rbac.authorization.k8s.io/v1
  6551kind: ClusterRole
  6552metadata:
  6553  name: kubevirt.io:operator
  6554  labels:
  6555    operator.kubevirt.io: ""
  6556    rbac.authorization.k8s.io/aggregate-to-admin: "true"
  6557rules:
  6558  - apiGroups:
  6559      - kubevirt.io
  6560    resources:
  6561      - kubevirts
  6562    verbs:
  6563      - get
  6564      - delete
  6565      - create
  6566      - update
  6567      - patch
  6568      - list
  6569      - watch
  6570      - deletecollection
  6571---
  6572apiVersion: v1
  6573kind: ServiceAccount
  6574metadata:
  6575  labels:
  6576    kubevirt.io: ""
  6577  name: kubevirt-operator
  6578  namespace: kubevirt
  6579---
  6580apiVersion: rbac.authorization.k8s.io/v1
  6581kind: Role
  6582metadata:
  6583  labels:
  6584    kubevirt.io: ""
  6585  name: kubevirt-operator
  6586  namespace: kubevirt
  6587rules:
  6588- apiGroups:
  6589  - ""
  6590  resourceNames:
  6591  - kubevirt-ca
  6592  - kubevirt-export-ca
  6593  - kubevirt-virt-handler-certs
  6594  - kubevirt-virt-handler-server-certs
  6595  - kubevirt-operator-certs
  6596  - kubevirt-virt-api-certs
  6597  - kubevirt-controller-certs
  6598  - kubevirt-exportproxy-certs
  6599  resources:
  6600  - secrets
  6601  verbs:
  6602  - create
  6603  - get
  6604  - list
  6605  - watch
  6606  - patch
  6607  - delete
  6608- apiGroups:
  6609  - ""
  6610  resources:
  6611  - configmaps
  6612  verbs:
  6613  - create
  6614  - get
  6615  - list
  6616  - watch
  6617  - patch
  6618  - delete
  6619- apiGroups:
  6620  - route.openshift.io
  6621  resources:
  6622  - routes
  6623  verbs:
  6624  - create
  6625  - get
  6626  - list
  6627  - watch
  6628  - patch
  6629  - delete
  6630- apiGroups:
  6631  - route.openshift.io
  6632  resources:
  6633  - routes/custom-host
  6634  verbs:
  6635  - create
  6636- apiGroups:
  6637  - coordination.k8s.io
  6638  resources:
  6639  - leases
  6640  verbs:
  6641  - get
  6642  - list
  6643  - watch
  6644  - delete
  6645  - update
  6646  - create
  6647  - patch
  6648- apiGroups:
  6649  - ""
  6650  resources:
  6651  - configmaps
  6652  verbs:
  6653  - get
  6654  - list
  6655  - watch
  6656- apiGroups:
  6657  - route.openshift.io
  6658  resources:
  6659  - routes
  6660  verbs:
  6661  - list
  6662  - get
  6663  - watch
  6664- apiGroups:
  6665  - ""
  6666  resources:
  6667  - secrets
  6668  verbs:
  6669  - list
  6670  - get
  6671  - watch
  6672- apiGroups:
  6673  - networking.k8s.io
  6674  resources:
  6675  - ingresses
  6676  verbs:
  6677  - list
  6678  - get
  6679  - watch
  6680- apiGroups:
  6681  - coordination.k8s.io
  6682  resources:
  6683  - leases
  6684  verbs:
  6685  - get
  6686  - list
  6687  - watch
  6688  - delete
  6689  - update
  6690  - create
  6691  - patch
  6692- apiGroups:
  6693  - ""
  6694  resources:
  6695  - configmaps
  6696  verbs:
  6697  - get
  6698  - list
  6699  - watch
  6700- apiGroups:
  6701  - ""
  6702  resourceNames:
  6703  - kubevirt-export-ca
  6704  resources:
  6705  - configmaps
  6706  verbs:
  6707  - get
  6708  - list
  6709  - watch
  6710---
  6711apiVersion: rbac.authorization.k8s.io/v1
  6712kind: RoleBinding
  6713metadata:
  6714  labels:
  6715    kubevirt.io: ""
  6716  name: kubevirt-operator-rolebinding
  6717  namespace: kubevirt
  6718roleRef:
  6719  apiGroup: rbac.authorization.k8s.io
  6720  kind: Role
  6721  name: kubevirt-operator
  6722subjects:
  6723- kind: ServiceAccount
  6724  name: kubevirt-operator
  6725  namespace: kubevirt
  6726---
  6727apiVersion: rbac.authorization.k8s.io/v1
  6728kind: ClusterRole
  6729metadata:
  6730  labels:
  6731    kubevirt.io: ""
  6732  name: kubevirt-operator
  6733rules:
  6734- apiGroups:
  6735  - kubevirt.io
  6736  resources:
  6737  - kubevirts
  6738  verbs:
  6739  - get
  6740  - list
  6741  - watch
  6742  - patch
  6743  - update
  6744  - patch
  6745- apiGroups:
  6746  - ""
  6747  resources:
  6748  - serviceaccounts
  6749  - services
  6750  - endpoints
  6751  - pods/exec
  6752  verbs:
  6753  - get
  6754  - list
  6755  - watch
  6756  - create
  6757  - update
  6758  - delete
  6759  - patch
  6760- apiGroups:
  6761  - ""
  6762  resources:
  6763  - configmaps
  6764  verbs:
  6765  - patch
  6766  - delete
  6767- apiGroups:
  6768  - batch
  6769  resources:
  6770  - jobs
  6771  verbs:
  6772  - get
  6773  - list
  6774  - watch
  6775  - create
  6776  - delete
  6777  - patch
  6778- apiGroups:
  6779  - apps
  6780  resources:
  6781  - controllerrevisions
  6782  verbs:
  6783  - watch
  6784  - list
  6785  - create
  6786  - delete
  6787  - patch
  6788- apiGroups:
  6789  - apps
  6790  resources:
  6791  - deployments
  6792  - daemonsets
  6793  verbs:
  6794  - get
  6795  - list
  6796  - watch
  6797  - create
  6798  - delete
  6799  - patch
  6800- apiGroups:
  6801  - rbac.authorization.k8s.io
  6802  resources:
  6803  - clusterroles
  6804  - clusterrolebindings
  6805  - roles
  6806  - rolebindings
  6807  verbs:
  6808  - get
  6809  - list
  6810  - watch
  6811  - create
  6812  - delete
  6813  - patch
  6814  - update
  6815- apiGroups:
  6816  - apiextensions.k8s.io
  6817  resources:
  6818  - customresourcedefinitions
  6819  verbs:
  6820  - get
  6821  - list
  6822  - watch
  6823  - create
  6824  - delete
  6825  - patch
  6826- apiGroups:
  6827  - security.openshift.io
  6828  resources:
  6829  - securitycontextconstraints
  6830  verbs:
  6831  - create
  6832  - get
  6833  - list
  6834  - watch
  6835- apiGroups:
  6836  - security.openshift.io
  6837  resourceNames:
  6838  - privileged
  6839  resources:
  6840  - securitycontextconstraints
  6841  verbs:
  6842  - get
  6843  - patch
  6844  - update
  6845- apiGroups:
  6846  - security.openshift.io
  6847  resourceNames:
  6848  - kubevirt-handler
  6849  - kubevirt-controller
  6850  resources:
  6851  - securitycontextconstraints
  6852  verbs:
  6853  - get
  6854  - list
  6855  - watch
  6856  - update
  6857  - delete
  6858- apiGroups:
  6859  - admissionregistration.k8s.io
  6860  resources:
  6861  - validatingwebhookconfigurations
  6862  - mutatingwebhookconfigurations
  6863  - validatingadmissionpolicybindings
  6864  - validatingadmissionpolicies
  6865  verbs:
  6866  - get
  6867  - list
  6868  - watch
  6869  - create
  6870  - delete
  6871  - update
  6872  - patch
  6873- apiGroups:
  6874  - apiregistration.k8s.io
  6875  resources:
  6876  - apiservices
  6877  verbs:
  6878  - get
  6879  - list
  6880  - watch
  6881  - create
  6882  - delete
  6883  - update
  6884  - patch
  6885- apiGroups:
  6886  - monitoring.coreos.com
  6887  resources:
  6888  - servicemonitors
  6889  - prometheusrules
  6890  verbs:
  6891  - get
  6892  - list
  6893  - watch
  6894  - create
  6895  - delete
  6896  - update
  6897  - patch
  6898- apiGroups:
  6899  - ""
  6900  resources:
  6901  - namespaces
  6902  verbs:
  6903  - get
  6904  - list
  6905  - watch
  6906  - patch
  6907- apiGroups:
  6908  - ""
  6909  resources:
  6910  - pods
  6911  verbs:
  6912  - get
  6913  - list
  6914  - delete
  6915  - patch
  6916- apiGroups:
  6917  - kubevirt.io
  6918  resources:
  6919  - virtualmachines
  6920  - virtualmachineinstances
  6921  verbs:
  6922  - get
  6923  - list
  6924  - watch
  6925  - patch
  6926  - update
  6927- apiGroups:
  6928  - ""
  6929  resources:
  6930  - persistentvolumeclaims
  6931  verbs:
  6932  - get
  6933- apiGroups:
  6934  - kubevirt.io
  6935  resources:
  6936  - virtualmachines/status
  6937  verbs:
  6938  - patch
  6939- apiGroups:
  6940  - kubevirt.io
  6941  resources:
  6942  - virtualmachineinstancemigrations
  6943  verbs:
  6944  - create
  6945  - get
  6946  - list
  6947  - watch
  6948  - patch
  6949- apiGroups:
  6950  - kubevirt.io
  6951  resources:
  6952  - virtualmachineinstancepresets
  6953  verbs:
  6954  - watch
  6955  - list
  6956- apiGroups:
  6957  - ""
  6958  resources:
  6959  - configmaps
  6960  verbs:
  6961  - get
  6962  - list
  6963  - watch
  6964- apiGroups:
  6965  - ""
  6966  resources:
  6967  - limitranges
  6968  verbs:
  6969  - watch
  6970  - list
  6971- apiGroups:
  6972  - apiextensions.k8s.io
  6973  resources:
  6974  - customresourcedefinitions
  6975  verbs:
  6976  - get
  6977  - list
  6978  - watch
  6979- apiGroups:
  6980  - kubevirt.io
  6981  resources:
  6982  - kubevirts
  6983  verbs:
  6984  - get
  6985  - list
  6986  - watch
  6987- apiGroups:
  6988  - snapshot.kubevirt.io
  6989  resources:
  6990  - virtualmachinesnapshots
  6991  - virtualmachinerestores
  6992  - virtualmachinesnapshotcontents
  6993  verbs:
  6994  - get
  6995  - list
  6996  - watch
  6997- apiGroups:
  6998  - cdi.kubevirt.io
  6999  resources:
  7000  - datasources
  7001  - datavolumes
  7002  verbs:
  7003  - get
  7004  - list
  7005  - watch
  7006- apiGroups:
  7007  - ""
  7008  resources:
  7009  - namespaces
  7010  verbs:
  7011  - get
  7012  - list
  7013  - watch
  7014- apiGroups:
  7015  - instancetype.kubevirt.io
  7016  resources:
  7017  - virtualmachineinstancetypes
  7018  - virtualmachineclusterinstancetypes
  7019  - virtualmachinepreferences
  7020  - virtualmachineclusterpreferences
  7021  verbs:
  7022  - get
  7023  - list
  7024  - watch
  7025- apiGroups:
  7026  - migrations.kubevirt.io
  7027  resources:
  7028  - migrationpolicies
  7029  verbs:
  7030  - get
  7031  - list
  7032  - watch
  7033- apiGroups:
  7034  - apps
  7035  resources:
  7036  - controllerrevisions
  7037  verbs:
  7038  - create
  7039  - list
  7040  - get
  7041- apiGroups:
  7042  - ""
  7043  resources:
  7044  - namespaces
  7045  verbs:
  7046  - get
  7047  - list
  7048  - watch
  7049  - patch
  7050- apiGroups:
  7051  - policy
  7052  resources:
  7053  - poddisruptionbudgets
  7054  verbs:
  7055  - get
  7056  - list
  7057  - watch
  7058  - delete
  7059  - create
  7060  - patch
  7061- apiGroups:
  7062  - ""
  7063  resources:
  7064  - pods
  7065  - configmaps
  7066  - endpoints
  7067  - services
  7068  verbs:
  7069  - get
  7070  - list
  7071  - watch
  7072  - delete
  7073  - update
  7074  - create
  7075  - patch
  7076- apiGroups:
  7077  - ""
  7078  resources:
  7079  - events
  7080  verbs:
  7081  - update
  7082  - create
  7083  - patch
  7084- apiGroups:
  7085  - ""
  7086  resources:
  7087  - secrets
  7088  verbs:
  7089  - create
  7090- apiGroups:
  7091  - ""
  7092  resources:
  7093  - pods/finalizers
  7094  verbs:
  7095  - update
  7096- apiGroups:
  7097  - ""
  7098  resources:
  7099  - pods/eviction
  7100  verbs:
  7101  - create
  7102- apiGroups:
  7103  - ""
  7104  resources:
  7105  - pods/status
  7106  verbs:
  7107  - patch
  7108- apiGroups:
  7109  - ""
  7110  resources:
  7111  - nodes
  7112  verbs:
  7113  - get
  7114  - list
  7115  - watch
  7116  - update
  7117  - patch
  7118- apiGroups:
  7119  - apps
  7120  resources:
  7121  - daemonsets
  7122  verbs:
  7123  - list
  7124- apiGroups:
  7125  - apps
  7126  resources:
  7127  - controllerrevisions
  7128  verbs:
  7129  - watch
  7130  - list
  7131  - create
  7132  - delete
  7133  - get
  7134  - update
  7135- apiGroups:
  7136  - ""
  7137  resources:
  7138  - persistentvolumeclaims
  7139  verbs:
  7140  - get
  7141  - list
  7142  - watch
  7143  - create
  7144  - update
  7145  - delete
  7146  - patch
  7147- apiGroups:
  7148  - snapshot.kubevirt.io
  7149  resources:
  7150  - virtualmachinesnapshots
  7151  - virtualmachinesnapshots/status
  7152  - virtualmachinesnapshotcontents
  7153  - virtualmachinesnapshotcontents/status
  7154  - virtualmachinesnapshotcontents/finalizers
  7155  - virtualmachinerestores
  7156  - virtualmachinerestores/status
  7157  verbs:
  7158  - get
  7159  - list
  7160  - watch
  7161  - create
  7162  - update
  7163  - delete
  7164  - patch
  7165- apiGroups:
  7166  - export.kubevirt.io
  7167  resources:
  7168  - virtualmachineexports
  7169  - virtualmachineexports/status
  7170  - virtualmachineexports/finalizers
  7171  verbs:
  7172  - get
  7173  - list
  7174  - watch
  7175  - create
  7176  - update
  7177  - delete
  7178  - patch
  7179- apiGroups:
  7180  - pool.kubevirt.io
  7181  resources:
  7182  - virtualmachinepools
  7183  - virtualmachinepools/finalizers
  7184  - virtualmachinepools/status
  7185  - virtualmachinepools/scale
  7186  verbs:
  7187  - watch
  7188  - list
  7189  - create
  7190  - delete
  7191  - update
  7192  - patch
  7193  - get
  7194- apiGroups:
  7195  - kubevirt.io
  7196  resources:
  7197  - '*'
  7198  verbs:
  7199  - '*'
  7200- apiGroups:
  7201  - kubevirt.io
  7202  resources:
  7203  - virtualmachines/finalizers
  7204  verbs:
  7205  - update
  7206- apiGroups:
  7207  - subresources.kubevirt.io
  7208  resources:
  7209  - virtualmachineinstances/addvolume
  7210  - virtualmachineinstances/removevolume
  7211  - virtualmachineinstances/freeze
  7212  - virtualmachineinstances/unfreeze
  7213  - virtualmachineinstances/softreboot
  7214  - virtualmachineinstances/sev/setupsession
  7215  - virtualmachineinstances/sev/injectlaunchsecret
  7216  verbs:
  7217  - update
  7218- apiGroups:
  7219  - cdi.kubevirt.io
  7220  resources:
  7221  - '*'
  7222  verbs:
  7223  - '*'
  7224- apiGroups:
  7225  - k8s.cni.cncf.io
  7226  resources:
  7227  - network-attachment-definitions
  7228  verbs:
  7229  - get
  7230- apiGroups:
  7231  - apiextensions.k8s.io
  7232  resources:
  7233  - customresourcedefinitions
  7234  verbs:
  7235  - get
  7236  - list
  7237  - watch
  7238- apiGroups:
  7239  - authorization.k8s.io
  7240  resources:
  7241  - subjectaccessreviews
  7242  verbs:
  7243  - create
  7244- apiGroups:
  7245  - snapshot.storage.k8s.io
  7246  resources:
  7247  - volumesnapshotclasses
  7248  verbs:
  7249  - get
  7250  - list
  7251  - watch
  7252- apiGroups:
  7253  - snapshot.storage.k8s.io
  7254  resources:
  7255  - volumesnapshots
  7256  verbs:
  7257  - get
  7258  - list
  7259  - watch
  7260  - create
  7261  - update
  7262  - delete
  7263- apiGroups:
  7264  - storage.k8s.io
  7265  resources:
  7266  - storageclasses
  7267  verbs:
  7268  - get
  7269  - list
  7270  - watch
  7271- apiGroups:
  7272  - instancetype.kubevirt.io
  7273  resources:
  7274  - virtualmachineinstancetypes
  7275  - virtualmachineclusterinstancetypes
  7276  - virtualmachinepreferences
  7277  - virtualmachineclusterpreferences
  7278  verbs:
  7279  - get
  7280  - list
  7281  - watch
  7282- apiGroups:
  7283  - migrations.kubevirt.io
  7284  resources:
  7285  - migrationpolicies
  7286  verbs:
  7287  - get
  7288  - list
  7289  - watch
  7290- apiGroups:
  7291  - clone.kubevirt.io
  7292  resources:
  7293  - virtualmachineclones
  7294  - virtualmachineclones/status
  7295  - virtualmachineclones/finalizers
  7296  verbs:
  7297  - get
  7298  - list
  7299  - watch
  7300  - update
  7301  - patch
  7302  - delete
  7303- apiGroups:
  7304  - ""
  7305  resources:
  7306  - namespaces
  7307  verbs:
  7308  - get
  7309- apiGroups:
  7310  - ""
  7311  resources:
  7312  - resourcequotas
  7313  verbs:
  7314  - list
  7315  - watch
  7316- apiGroups:
  7317  - kubevirt.io
  7318  resources:
  7319  - virtualmachineinstances
  7320  verbs:
  7321  - update
  7322  - list
  7323  - watch
  7324- apiGroups:
  7325  - ""
  7326  resources:
  7327  - nodes
  7328  verbs:
  7329  - patch
  7330  - list
  7331  - watch
  7332  - get
  7333- apiGroups:
  7334  - ""
  7335  resources:
  7336  - configmaps
  7337  verbs:
  7338  - get
  7339  - list
  7340  - watch
  7341- apiGroups:
  7342  - ""
  7343  resources:
  7344  - events
  7345  verbs:
  7346  - create
  7347  - patch
  7348- apiGroups:
  7349  - apiextensions.k8s.io
  7350  resources:
  7351  - customresourcedefinitions
  7352  verbs:
  7353  - get
  7354  - list
  7355  - watch
  7356- apiGroups:
  7357  - kubevirt.io
  7358  resources:
  7359  - kubevirts
  7360  verbs:
  7361  - get
  7362  - list
  7363  - watch
  7364- apiGroups:
  7365  - migrations.kubevirt.io
  7366  resources:
  7367  - migrationpolicies
  7368  verbs:
  7369  - get
  7370  - list
  7371  - watch
  7372- apiGroups:
  7373  - export.kubevirt.io
  7374  resources:
  7375  - virtualmachineexports
  7376  verbs:
  7377  - get
  7378  - list
  7379  - watch
  7380- apiGroups:
  7381  - kubevirt.io
  7382  resources:
  7383  - kubevirts
  7384  verbs:
  7385  - list
  7386  - watch
  7387- apiGroups:
  7388  - kubevirt.io
  7389  resources:
  7390  - kubevirts
  7391  verbs:
  7392  - get
  7393  - list
  7394- apiGroups:
  7395  - subresources.kubevirt.io
  7396  resources:
  7397  - version
  7398  - guestfs
  7399  verbs:
  7400  - get
  7401  - list
  7402- apiGroups:
  7403  - subresources.kubevirt.io
  7404  resources:
  7405  - virtualmachineinstances/console
  7406  - virtualmachineinstances/vnc
  7407  - virtualmachineinstances/vnc/screenshot
  7408  - virtualmachineinstances/portforward
  7409  - virtualmachineinstances/guestosinfo
  7410  - virtualmachineinstances/filesystemlist
  7411  - virtualmachineinstances/userlist
  7412  - virtualmachineinstances/sev/fetchcertchain
  7413  - virtualmachineinstances/sev/querylaunchmeasurement
  7414  - virtualmachineinstances/usbredir
  7415  verbs:
  7416  - get
  7417- apiGroups:
  7418  - subresources.kubevirt.io
  7419  resources:
  7420  - virtualmachineinstances/pause
  7421  - virtualmachineinstances/unpause
  7422  - virtualmachineinstances/addvolume
  7423  - virtualmachineinstances/removevolume
  7424  - virtualmachineinstances/freeze
  7425  - virtualmachineinstances/unfreeze
  7426  - virtualmachineinstances/softreboot
  7427  - virtualmachineinstances/sev/setupsession
  7428  - virtualmachineinstances/sev/injectlaunchsecret
  7429  verbs:
  7430  - update
  7431- apiGroups:
  7432  - subresources.kubevirt.io
  7433  resources:
  7434  - virtualmachines/expand-spec
  7435  - virtualmachines/portforward
  7436  verbs:
  7437  - get
  7438- apiGroups:
  7439  - subresources.kubevirt.io
  7440  resources:
  7441  - virtualmachines/start
  7442  - virtualmachines/stop
  7443  - virtualmachines/restart
  7444  - virtualmachines/addvolume
  7445  - virtualmachines/removevolume
  7446  - virtualmachines/migrate
  7447  - virtualmachines/memorydump
  7448  verbs:
  7449  - update
  7450- apiGroups:
  7451  - subresources.kubevirt.io
  7452  resources:
  7453  - expand-vm-spec
  7454  verbs:
  7455  - update
  7456- apiGroups:
  7457  - kubevirt.io
  7458  resources:
  7459  - virtualmachines
  7460  - virtualmachineinstances
  7461  - virtualmachineinstancepresets
  7462  - virtualmachineinstancereplicasets
  7463  - virtualmachineinstancemigrations
  7464  verbs:
  7465  - get
  7466  - delete
  7467  - create
  7468  - update
  7469  - patch
  7470  - list
  7471  - watch
  7472  - deletecollection
  7473- apiGroups:
  7474  - snapshot.kubevirt.io
  7475  resources:
  7476  - virtualmachinesnapshots
  7477  - virtualmachinesnapshotcontents
  7478  - virtualmachinerestores
  7479  verbs:
  7480  - get
  7481  - delete
  7482  - create
  7483  - update
  7484  - patch
  7485  - list
  7486  - watch
  7487  - deletecollection
  7488- apiGroups:
  7489  - export.kubevirt.io
  7490  resources:
  7491  - virtualmachineexports
  7492  verbs:
  7493  - get
  7494  - delete
  7495  - create
  7496  - update
  7497  - patch
  7498  - list
  7499  - watch
  7500  - deletecollection
  7501- apiGroups:
  7502  - clone.kubevirt.io
  7503  resources:
  7504  - virtualmachineclones
  7505  verbs:
  7506  - get
  7507  - delete
  7508  - create
  7509  - update
  7510  - patch
  7511  - list
  7512  - watch
  7513  - deletecollection
  7514- apiGroups:
  7515  - instancetype.kubevirt.io
  7516  resources:
  7517  - virtualmachineinstancetypes
  7518  - virtualmachineclusterinstancetypes
  7519  - virtualmachinepreferences
  7520  - virtualmachineclusterpreferences
  7521  verbs:
  7522  - get
  7523  - delete
  7524  - create
  7525  - update
  7526  - patch
  7527  - list
  7528  - watch
  7529  - deletecollection
  7530- apiGroups:
  7531  - pool.kubevirt.io
  7532  resources:
  7533  - virtualmachinepools
  7534  verbs:
  7535  - get
  7536  - delete
  7537  - create
  7538  - update
  7539  - patch
  7540  - list
  7541  - watch
  7542  - deletecollection
  7543- apiGroups:
  7544  - migrations.kubevirt.io
  7545  resources:
  7546  - migrationpolicies
  7547  verbs:
  7548  - get
  7549  - list
  7550  - watch
  7551- apiGroups:
  7552  - subresources.kubevirt.io
  7553  resources:
  7554  - virtualmachineinstances/console
  7555  - virtualmachineinstances/vnc
  7556  - virtualmachineinstances/vnc/screenshot
  7557  - virtualmachineinstances/portforward
  7558  - virtualmachineinstances/guestosinfo
  7559  - virtualmachineinstances/filesystemlist
  7560  - virtualmachineinstances/userlist
  7561  - virtualmachineinstances/sev/fetchcertchain
  7562  - virtualmachineinstances/sev/querylaunchmeasurement
  7563  - virtualmachineinstances/usbredir
  7564  verbs:
  7565  - get
  7566- apiGroups:
  7567  - subresources.kubevirt.io
  7568  resources:
  7569  - virtualmachineinstances/pause
  7570  - virtualmachineinstances/unpause
  7571  - virtualmachineinstances/addvolume
  7572  - virtualmachineinstances/removevolume
  7573  - virtualmachineinstances/freeze
  7574  - virtualmachineinstances/unfreeze
  7575  - virtualmachineinstances/softreboot
  7576  - virtualmachineinstances/sev/setupsession
  7577  - virtualmachineinstances/sev/injectlaunchsecret
  7578  verbs:
  7579  - update
  7580- apiGroups:
  7581  - subresources.kubevirt.io
  7582  resources:
  7583  - virtualmachines/expand-spec
  7584  - virtualmachines/portforward
  7585  verbs:
  7586  - get
  7587- apiGroups:
  7588  - subresources.kubevirt.io
  7589  resources:
  7590  - virtualmachines/start
  7591  - virtualmachines/stop
  7592  - virtualmachines/restart
  7593  - virtualmachines/addvolume
  7594  - virtualmachines/removevolume
  7595  - virtualmachines/migrate
  7596  - virtualmachines/memorydump
  7597  verbs:
  7598  - update
  7599- apiGroups:
  7600  - subresources.kubevirt.io
  7601  resources:
  7602  - expand-vm-spec
  7603  verbs:
  7604  - update
  7605- apiGroups:
  7606  - kubevirt.io
  7607  resources:
  7608  - virtualmachines
  7609  - virtualmachineinstances
  7610  - virtualmachineinstancepresets
  7611  - virtualmachineinstancereplicasets
  7612  - virtualmachineinstancemigrations
  7613  verbs:
  7614  - get
  7615  - delete
  7616  - create
  7617  - update
  7618  - patch
  7619  - list
  7620  - watch
  7621- apiGroups:
  7622  - snapshot.kubevirt.io
  7623  resources:
  7624  - virtualmachinesnapshots
  7625  - virtualmachinesnapshotcontents
  7626  - virtualmachinerestores
  7627  verbs:
  7628  - get
  7629  - delete
  7630  - create
  7631  - update
  7632  - patch
  7633  - list
  7634  - watch
  7635- apiGroups:
  7636  - export.kubevirt.io
  7637  resources:
  7638  - virtualmachineexports
  7639  verbs:
  7640  - get
  7641  - delete
  7642  - create
  7643  - update
  7644  - patch
  7645  - list
  7646  - watch
  7647- apiGroups:
  7648  - clone.kubevirt.io
  7649  resources:
  7650  - virtualmachineclones
  7651  verbs:
  7652  - get
  7653  - delete
  7654  - create
  7655  - update
  7656  - patch
  7657  - list
  7658  - watch
  7659- apiGroups:
  7660  - instancetype.kubevirt.io
  7661  resources:
  7662  - virtualmachineinstancetypes
  7663  - virtualmachineclusterinstancetypes
  7664  - virtualmachinepreferences
  7665  - virtualmachineclusterpreferences
  7666  verbs:
  7667  - get
  7668  - delete
  7669  - create
  7670  - update
  7671  - patch
  7672  - list
  7673  - watch
  7674- apiGroups:
  7675  - pool.kubevirt.io
  7676  resources:
  7677  - virtualmachinepools
  7678  verbs:
  7679  - get
  7680  - delete
  7681  - create
  7682  - update
  7683  - patch
  7684  - list
  7685  - watch
  7686- apiGroups:
  7687  - kubevirt.io
  7688  resources:
  7689  - kubevirts
  7690  verbs:
  7691  - get
  7692  - list
  7693- apiGroups:
  7694  - migrations.kubevirt.io
  7695  resources:
  7696  - migrationpolicies
  7697  verbs:
  7698  - get
  7699  - list
  7700  - watch
  7701- apiGroups:
  7702  - kubevirt.io
  7703  resources:
  7704  - kubevirts
  7705  verbs:
  7706  - get
  7707  - list
  7708- apiGroups:
  7709  - subresources.kubevirt.io
  7710  resources:
  7711  - virtualmachines/expand-spec
  7712  - virtualmachineinstances/guestosinfo
  7713  - virtualmachineinstances/filesystemlist
  7714  - virtualmachineinstances/userlist
  7715  - virtualmachineinstances/sev/fetchcertchain
  7716  - virtualmachineinstances/sev/querylaunchmeasurement
  7717  verbs:
  7718  - get
  7719- apiGroups:
  7720  - subresources.kubevirt.io
  7721  resources:
  7722  - expand-vm-spec
  7723  verbs:
  7724  - update
  7725- apiGroups:
  7726  - kubevirt.io
  7727  resources:
  7728  - virtualmachines
  7729  - virtualmachineinstances
  7730  - virtualmachineinstancepresets
  7731  - virtualmachineinstancereplicasets
  7732  - virtualmachineinstancemigrations
  7733  verbs:
  7734  - get
  7735  - list
  7736  - watch
  7737- apiGroups:
  7738  - snapshot.kubevirt.io
  7739  resources:
  7740  - virtualmachinesnapshots
  7741  - virtualmachinesnapshotcontents
  7742  - virtualmachinerestores
  7743  verbs:
  7744  - get
  7745  - list
  7746  - watch
  7747- apiGroups:
  7748  - export.kubevirt.io
  7749  resources:
  7750  - virtualmachineexports
  7751  verbs:
  7752  - get
  7753  - list
  7754  - watch
  7755- apiGroups:
  7756  - clone.kubevirt.io
  7757  resources:
  7758  - virtualmachineclones
  7759  verbs:
  7760  - get
  7761  - list
  7762  - watch
  7763- apiGroups:
  7764  - instancetype.kubevirt.io
  7765  resources:
  7766  - virtualmachineinstancetypes
  7767  - virtualmachineclusterinstancetypes
  7768  - virtualmachinepreferences
  7769  - virtualmachineclusterpreferences
  7770  verbs:
  7771  - get
  7772  - list
  7773  - watch
  7774- apiGroups:
  7775  - pool.kubevirt.io
  7776  resources:
  7777  - virtualmachinepools
  7778  verbs:
  7779  - get
  7780  - list
  7781  - watch
  7782- apiGroups:
  7783  - migrations.kubevirt.io
  7784  resources:
  7785  - migrationpolicies
  7786  verbs:
  7787  - get
  7788  - list
  7789  - watch
  7790- apiGroups:
  7791  - instancetype.kubevirt.io
  7792  resources:
  7793  - virtualmachineclusterinstancetypes
  7794  - virtualmachineclusterpreferences
  7795  verbs:
  7796  - get
  7797  - list
  7798  - watch
  7799- apiGroups:
  7800  - authentication.k8s.io
  7801  resources:
  7802  - tokenreviews
  7803  verbs:
  7804  - create
  7805- apiGroups:
  7806  - authorization.k8s.io
  7807  resources:
  7808  - subjectaccessreviews
  7809  verbs:
  7810  - create
  7811---
  7812apiVersion: rbac.authorization.k8s.io/v1
  7813kind: ClusterRoleBinding
  7814metadata:
  7815  labels:
  7816    kubevirt.io: ""
  7817  name: kubevirt-operator
  7818roleRef:
  7819  apiGroup: rbac.authorization.k8s.io
  7820  kind: ClusterRole
  7821  name: kubevirt-operator
  7822subjects:
  7823- kind: ServiceAccount
  7824  name: kubevirt-operator
  7825  namespace: kubevirt
  7826
  7827---
  7828apiVersion: apps/v1
  7829kind: Deployment
  7830metadata:
  7831  labels:
  7832    kubevirt.io: virt-operator
  7833  name: virt-operator
  7834  namespace: kubevirt
  7835spec:
  7836  replicas: 2
  7837  selector:
  7838    matchLabels:
  7839      kubevirt.io: virt-operator
  7840  strategy:
  7841    type: RollingUpdate
  7842  template:
  7843    metadata:
  7844      labels:
  7845        kubevirt.io: virt-operator
  7846        name: virt-operator
  7847        prometheus.kubevirt.io: "true"
  7848      name: virt-operator
  7849    spec:
  7850      affinity:
  7851        podAntiAffinity:
  7852          preferredDuringSchedulingIgnoredDuringExecution:
  7853          - podAffinityTerm:
  7854              labelSelector:
  7855                matchExpressions:
  7856                - key: kubevirt.io
  7857                  operator: In
  7858                  values:
  7859                  - virt-operator
  7860              topologyKey: kubernetes.io/hostname
  7861            weight: 1
  7862      containers:
  7863      - args:
  7864        - --port
  7865        - "8443"
  7866        - -v
  7867        - "2"
  7868        command:
  7869        - virt-operator
  7870        env:
  7871        - name: VIRT_OPERATOR_IMAGE
  7872          value: quay.io/kubevirt/virt-operator:v1.4.0
  7873        - name: WATCH_NAMESPACE
  7874          valueFrom:
  7875            fieldRef:
  7876              fieldPath: metadata.annotations['olm.targetNamespaces']
  7877        - name: KUBEVIRT_VERSION
  7878          value: v1.4.0
  7879        image: quay.io/kubevirt/virt-operator:v1.4.0
  7880        imagePullPolicy: IfNotPresent
  7881        name: virt-operator
  7882        ports:
  7883        - containerPort: 8443
  7884          name: metrics
  7885          protocol: TCP
  7886        - containerPort: 8444
  7887          name: webhooks
  7888          protocol: TCP
  7889        readinessProbe:
  7890          httpGet:
  7891            path: /metrics
  7892            port: 8443
  7893            scheme: HTTPS
  7894          initialDelaySeconds: 5
  7895          timeoutSeconds: 10
  7896        resources:
  7897          requests:
  7898            cpu: 10m
  7899            memory: 450Mi
  7900        securityContext:
  7901          allowPrivilegeEscalation: false
  7902          capabilities:
  7903            drop:
  7904            - ALL
  7905          seccompProfile:
  7906            type: RuntimeDefault
  7907        volumeMounts:
  7908        - mountPath: /etc/virt-operator/certificates
  7909          name: kubevirt-operator-certs
  7910          readOnly: true
  7911        - mountPath: /profile-data
  7912          name: profile-data
  7913      nodeSelector:
  7914        kubernetes.io/os: linux
  7915      priorityClassName: kubevirt-cluster-critical
  7916      securityContext:
  7917        runAsNonRoot: true
  7918        seccompProfile:
  7919          type: RuntimeDefault
  7920      serviceAccountName: kubevirt-operator
  7921      tolerations:
  7922      - key: CriticalAddonsOnly
  7923        operator: Exists
  7924      volumes:
  7925      - name: kubevirt-operator-certs
  7926        secret:
  7927          optional: true
  7928          secretName: kubevirt-operator-certs
  7929      - emptyDir: {}
  7930        name: profile-data

View as plain text