...

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

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

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

View as plain text