github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/applications/openebs/jiva/jiva-operator.yaml (about)

     1  ---
     2  # Create the OpenEBS namespace
     3  apiVersion: v1
     4  kind: Namespace
     5  metadata:
     6    name: openebs
     7  ---
     8  # Create Maya Service Account
     9  apiVersion: v1
    10  kind: ServiceAccount
    11  metadata:
    12    name: openebs-maya-operator
    13    namespace: openebs
    14  ---
    15  # Define Role that allows operations on K8s pods/deployments
    16  kind: ClusterRole
    17  apiVersion: rbac.authorization.k8s.io/v1
    18  metadata:
    19    name: openebs-maya-operator
    20  rules:
    21    - apiGroups: [ "*" ]
    22      resources: [ "nodes", "nodes/proxy" ]
    23      verbs: [ "*" ]
    24    - apiGroups: [ "*" ]
    25      resources: [ "namespaces", "services", "pods", "deployments", "events", "endpoints", "configmaps", "jobs" ]
    26      verbs: [ "*" ]
    27    - apiGroups: [ "*" ]
    28      resources: [ "storageclasses", "persistentvolumeclaims", "persistentvolumes" ]
    29      verbs: [ "*" ]
    30  ---
    31  # Bind the Service Account with the Role Privileges.
    32  kind: ClusterRoleBinding
    33  apiVersion: rbac.authorization.k8s.io/v1
    34  metadata:
    35    name: openebs-maya-operator
    36  subjects:
    37    - kind: ServiceAccount
    38      name: openebs-maya-operator
    39      namespace: openebs
    40  roleRef:
    41    kind: ClusterRole
    42    name: openebs-maya-operator
    43    apiGroup: rbac.authorization.k8s.io
    44  ---
    45  apiVersion: apps/v1
    46  kind: Deployment
    47  metadata:
    48    name: openebs-localpv-provisioner
    49    namespace: openebs
    50    labels:
    51      name: openebs-localpv-provisioner
    52      openebs.io/component-name: openebs-localpv-provisioner
    53      openebs.io/version: 2.11.0
    54  spec:
    55    selector:
    56      matchLabels:
    57        name: openebs-localpv-provisioner
    58        openebs.io/component-name: openebs-localpv-provisioner
    59    replicas: 1
    60    strategy:
    61      type: Recreate
    62    template:
    63      metadata:
    64        labels:
    65          name: openebs-localpv-provisioner
    66          openebs.io/component-name: openebs-localpv-provisioner
    67          openebs.io/version: 2.11.0
    68      spec:
    69        serviceAccountName: openebs-maya-operator
    70        containers:
    71          - name: openebs-provisioner-hostpath
    72            imagePullPolicy: IfNotPresent
    73            image: openebs/provisioner-localpv:2.11.1
    74            env:
    75              # OPENEBS_IO_K8S_MASTER enables openebs provisioner to connect to K8s
    76              # based on this address. This is ignored if empty.
    77              # This is supported for openebs provisioner version 0.5.2 onwards
    78              #- name: OPENEBS_IO_K8S_MASTER
    79              #  value: "http://10.128.0.12:8080"
    80              # OPENEBS_IO_KUBE_CONFIG enables openebs provisioner to connect to K8s
    81              # based on this config. This is ignored if empty.
    82              # This is supported for openebs provisioner version 0.5.2 onwards
    83              #- name: OPENEBS_IO_KUBE_CONFIG
    84              #  value: "/home/ubuntu/.kube/config"
    85              - name: NODE_NAME
    86                valueFrom:
    87                  fieldRef:
    88                    fieldPath: spec.nodeName
    89              - name: OPENEBS_NAMESPACE
    90                valueFrom:
    91                  fieldRef:
    92                    fieldPath: metadata.namespace
    93              # OPENEBS_SERVICE_ACCOUNT provides the service account of this pod as
    94              # environment variable
    95              - name: OPENEBS_SERVICE_ACCOUNT
    96                valueFrom:
    97                  fieldRef:
    98                    fieldPath: spec.serviceAccountName
    99              - name: OPENEBS_IO_ENABLE_ANALYTICS
   100                value: "true"
   101              - name: OPENEBS_IO_INSTALLER_TYPE
   102                value: "openebs-operator-hostpath"
   103              - name: OPENEBS_IO_HELPER_IMAGE
   104                value: "openebs/linux-utils:2.11.0"
   105            # LEADER_ELECTION_ENABLED is used to enable/disable leader election. By default
   106            # leader election is enabled.
   107            #- name: LEADER_ELECTION_ENABLED
   108            #  value: "true"
   109            # OPENEBS_IO_IMAGE_PULL_SECRETS environment variable is used to pass the image pull secrets
   110            # to the helper pod launched by local-pv hostpath provisioner
   111            #- name: OPENEBS_IO_IMAGE_PULL_SECRETS
   112            #  value: ""
   113            # Process name used for matching is limited to the 15 characters
   114            # present in the pgrep output.
   115            # So fullname can't be used here with pgrep (>15 chars).A regular expression
   116            # that matches the entire command name has to specified.
   117            # Anchor `^` : matches any string that starts with `provisioner-loc`
   118            # `.*`: matches any string that has `provisioner-loc` followed by zero or more char
   119            livenessProbe:
   120              exec:
   121                command:
   122                  - sh
   123                  - -c
   124                  - test `pgrep -c "^provisioner-loc.*"` = 1
   125              initialDelaySeconds: 30
   126              periodSeconds: 60
   127  ---
   128  apiVersion: storage.k8s.io/v1
   129  kind: StorageClass
   130  metadata:
   131    name: openebs-hostpath
   132    annotations:
   133      openebs.io/cas-type: local
   134      cas.openebs.io/config: |
   135        # hostpath type will create a PV by
   136        # creating a sub-directory under the
   137        # BASEPATH provided below.
   138        - name: StorageType
   139          value: "hostpath"
   140        # Specify the location (directory) where
   141        # where PV(volume) data will be saved.
   142        # A sub-directory with pv-name will be
   143        # created. When the volume is deleted,
   144        # the PV sub-directory will be deleted.
   145        #Default value is /var/openebs/local
   146        - name: BasePath
   147          value: "/var/openebs/local/"
   148  provisioner: openebs.io/local
   149  volumeBindingMode: WaitForFirstConsumer
   150  reclaimPolicy: Delete
   151  
   152  ---
   153  apiVersion: apiextensions.k8s.io/v1
   154  kind: CustomResourceDefinition
   155  metadata:
   156    annotations:
   157      controller-gen.kubebuilder.io/version: v0.4.1
   158    creationTimestamp: null
   159    name: jivavolumepolicies.openebs.io
   160  spec:
   161    group: openebs.io
   162    names:
   163      kind: JivaVolumePolicy
   164      listKind: JivaVolumePolicyList
   165      plural: jivavolumepolicies
   166      shortNames:
   167        - jvp
   168      singular: jivavolumepolicy
   169    scope: Namespaced
   170    versions:
   171      - name: v1alpha1
   172        schema:
   173          openAPIV3Schema:
   174            description: 'JivaVolumePolicy is the Schema for the jivavolumes API Important:
   175            Run "operator-sdk generate k8s" to regenerate code after modifying this
   176            file'
   177            properties:
   178              apiVersion:
   179                description: 'APIVersion defines the versioned schema of this representation
   180                of an object. Servers should convert recognized schemas to the latest
   181                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   182                type: string
   183              kind:
   184                description: 'Kind is a string value representing the REST resource this
   185                object represents. Servers may infer this from the endpoint the client
   186                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   187                type: string
   188              metadata:
   189                type: object
   190              spec:
   191                description: JivaVolumePolicySpec defines the desired state of JivaVolumePolicy
   192                properties:
   193                  autoScaling:
   194                    description: AutoScaling ...
   195                    type: boolean
   196                  enableBufio:
   197                    description: EnableBufio ...
   198                    type: boolean
   199                  priorityClassName:
   200                    description: PriorityClassName if specified applies to the pod If
   201                      left empty, no priority class is applied.
   202                    type: string
   203                  replica:
   204                    description: ReplicaSpec represents configuration related to replicas
   205                      resources
   206                    nullable: true
   207                    properties:
   208                      affinity:
   209                        description: Affinity if specified, are the pod's affinities
   210                        properties:
   211                          nodeAffinity:
   212                            description: Describes node affinity scheduling rules for
   213                              the pod.
   214                            properties:
   215                              preferredDuringSchedulingIgnoredDuringExecution:
   216                                description: The scheduler will prefer to schedule pods
   217                                  to nodes that satisfy the affinity expressions specified
   218                                  by this field, but it may choose a node that violates
   219                                  one or more of the expressions. The node that is most
   220                                  preferred is the one with the greatest sum of weights,
   221                                  i.e. for each node that meets all of the scheduling
   222                                  requirements (resource request, requiredDuringScheduling
   223                                  affinity expressions, etc.), compute a sum by iterating
   224                                  through the elements of this field and adding "weight"
   225                                  to the sum if the node matches the corresponding matchExpressions;
   226                                  the node(s) with the highest sum are the most preferred.
   227                                items:
   228                                  description: An empty preferred scheduling term matches
   229                                    all objects with implicit weight 0 (i.e. it's a no-op).
   230                                    A null preferred scheduling term matches no objects
   231                                    (i.e. is also a no-op).
   232                                  properties:
   233                                    preference:
   234                                      description: A node selector term, associated with
   235                                        the corresponding weight.
   236                                      properties:
   237                                        matchExpressions:
   238                                          description: A list of node selector requirements
   239                                            by node's labels.
   240                                          items:
   241                                            description: A node selector requirement is
   242                                              a selector that contains values, a key,
   243                                              and an operator that relates the key and
   244                                              values.
   245                                            properties:
   246                                              key:
   247                                                description: The label key that the selector
   248                                                  applies to.
   249                                                type: string
   250                                              operator:
   251                                                description: Represents a key's relationship
   252                                                  to a set of values. Valid operators
   253                                                  are In, NotIn, Exists, DoesNotExist.
   254                                                  Gt, and Lt.
   255                                                type: string
   256                                              values:
   257                                                description: An array of string values.
   258                                                  If the operator is In or NotIn, the
   259                                                  values array must be non-empty. If the
   260                                                  operator is Exists or DoesNotExist,
   261                                                  the values array must be empty. If the
   262                                                  operator is Gt or Lt, the values array
   263                                                  must have a single element, which will
   264                                                  be interpreted as an integer. This array
   265                                                  is replaced during a strategic merge
   266                                                  patch.
   267                                                items:
   268                                                  type: string
   269                                                type: array
   270                                            required:
   271                                              - key
   272                                              - operator
   273                                            type: object
   274                                          type: array
   275                                        matchFields:
   276                                          description: A list of node selector requirements
   277                                            by node's fields.
   278                                          items:
   279                                            description: A node selector requirement is
   280                                              a selector that contains values, a key,
   281                                              and an operator that relates the key and
   282                                              values.
   283                                            properties:
   284                                              key:
   285                                                description: The label key that the selector
   286                                                  applies to.
   287                                                type: string
   288                                              operator:
   289                                                description: Represents a key's relationship
   290                                                  to a set of values. Valid operators
   291                                                  are In, NotIn, Exists, DoesNotExist.
   292                                                  Gt, and Lt.
   293                                                type: string
   294                                              values:
   295                                                description: An array of string values.
   296                                                  If the operator is In or NotIn, the
   297                                                  values array must be non-empty. If the
   298                                                  operator is Exists or DoesNotExist,
   299                                                  the values array must be empty. If the
   300                                                  operator is Gt or Lt, the values array
   301                                                  must have a single element, which will
   302                                                  be interpreted as an integer. This array
   303                                                  is replaced during a strategic merge
   304                                                  patch.
   305                                                items:
   306                                                  type: string
   307                                                type: array
   308                                            required:
   309                                              - key
   310                                              - operator
   311                                            type: object
   312                                          type: array
   313                                      type: object
   314                                    weight:
   315                                      description: Weight associated with matching the
   316                                        corresponding nodeSelectorTerm, in the range 1-100.
   317                                      format: int32
   318                                      type: integer
   319                                  required:
   320                                    - preference
   321                                    - weight
   322                                  type: object
   323                                type: array
   324                              requiredDuringSchedulingIgnoredDuringExecution:
   325                                description: If the affinity requirements specified by
   326                                  this field are not met at scheduling time, the pod will
   327                                  not be scheduled onto the node. If the affinity requirements
   328                                  specified by this field cease to be met at some point
   329                                  during pod execution (e.g. due to an update), the system
   330                                  may or may not try to eventually evict the pod from
   331                                  its node.
   332                                properties:
   333                                  nodeSelectorTerms:
   334                                    description: Required. A list of node selector terms.
   335                                      The terms are ORed.
   336                                    items:
   337                                      description: A null or empty node selector term
   338                                        matches no objects. The requirements of them are
   339                                        ANDed. The TopologySelectorTerm type implements
   340                                        a subset of the NodeSelectorTerm.
   341                                      properties:
   342                                        matchExpressions:
   343                                          description: A list of node selector requirements
   344                                            by node's labels.
   345                                          items:
   346                                            description: A node selector requirement is
   347                                              a selector that contains values, a key,
   348                                              and an operator that relates the key and
   349                                              values.
   350                                            properties:
   351                                              key:
   352                                                description: The label key that the selector
   353                                                  applies to.
   354                                                type: string
   355                                              operator:
   356                                                description: Represents a key's relationship
   357                                                  to a set of values. Valid operators
   358                                                  are In, NotIn, Exists, DoesNotExist.
   359                                                  Gt, and Lt.
   360                                                type: string
   361                                              values:
   362                                                description: An array of string values.
   363                                                  If the operator is In or NotIn, the
   364                                                  values array must be non-empty. If the
   365                                                  operator is Exists or DoesNotExist,
   366                                                  the values array must be empty. If the
   367                                                  operator is Gt or Lt, the values array
   368                                                  must have a single element, which will
   369                                                  be interpreted as an integer. This array
   370                                                  is replaced during a strategic merge
   371                                                  patch.
   372                                                items:
   373                                                  type: string
   374                                                type: array
   375                                            required:
   376                                              - key
   377                                              - operator
   378                                            type: object
   379                                          type: array
   380                                        matchFields:
   381                                          description: A list of node selector requirements
   382                                            by node's fields.
   383                                          items:
   384                                            description: A node selector requirement is
   385                                              a selector that contains values, a key,
   386                                              and an operator that relates the key and
   387                                              values.
   388                                            properties:
   389                                              key:
   390                                                description: The label key that the selector
   391                                                  applies to.
   392                                                type: string
   393                                              operator:
   394                                                description: Represents a key's relationship
   395                                                  to a set of values. Valid operators
   396                                                  are In, NotIn, Exists, DoesNotExist.
   397                                                  Gt, and Lt.
   398                                                type: string
   399                                              values:
   400                                                description: An array of string values.
   401                                                  If the operator is In or NotIn, the
   402                                                  values array must be non-empty. If the
   403                                                  operator is Exists or DoesNotExist,
   404                                                  the values array must be empty. If the
   405                                                  operator is Gt or Lt, the values array
   406                                                  must have a single element, which will
   407                                                  be interpreted as an integer. This array
   408                                                  is replaced during a strategic merge
   409                                                  patch.
   410                                                items:
   411                                                  type: string
   412                                                type: array
   413                                            required:
   414                                              - key
   415                                              - operator
   416                                            type: object
   417                                          type: array
   418                                      type: object
   419                                    type: array
   420                                required:
   421                                  - nodeSelectorTerms
   422                                type: object
   423                            type: object
   424                          podAffinity:
   425                            description: Describes pod affinity scheduling rules (e.g.
   426                              co-locate this pod in the same node, zone, etc. as some
   427                              other pod(s)).
   428                            properties:
   429                              preferredDuringSchedulingIgnoredDuringExecution:
   430                                description: The scheduler will prefer to schedule pods
   431                                  to nodes that satisfy the affinity expressions specified
   432                                  by this field, but it may choose a node that violates
   433                                  one or more of the expressions. The node that is most
   434                                  preferred is the one with the greatest sum of weights,
   435                                  i.e. for each node that meets all of the scheduling
   436                                  requirements (resource request, requiredDuringScheduling
   437                                  affinity expressions, etc.), compute a sum by iterating
   438                                  through the elements of this field and adding "weight"
   439                                  to the sum if the node has pods which matches the corresponding
   440                                  podAffinityTerm; the node(s) with the highest sum are
   441                                  the most preferred.
   442                                items:
   443                                  description: The weights of all of the matched WeightedPodAffinityTerm
   444                                    fields are added per-node to find the most preferred
   445                                    node(s)
   446                                  properties:
   447                                    podAffinityTerm:
   448                                      description: Required. A pod affinity term, associated
   449                                        with the corresponding weight.
   450                                      properties:
   451                                        labelSelector:
   452                                          description: A label query over a set of resources,
   453                                            in this case pods.
   454                                          properties:
   455                                            matchExpressions:
   456                                              description: matchExpressions is a list
   457                                                of label selector requirements. The requirements
   458                                                are ANDed.
   459                                              items:
   460                                                description: A label selector requirement
   461                                                  is a selector that contains values,
   462                                                  a key, and an operator that relates
   463                                                  the key and values.
   464                                                properties:
   465                                                  key:
   466                                                    description: key is the label key
   467                                                      that the selector applies to.
   468                                                    type: string
   469                                                  operator:
   470                                                    description: operator represents a
   471                                                      key's relationship to a set of values.
   472                                                      Valid operators are In, NotIn, Exists
   473                                                      and DoesNotExist.
   474                                                    type: string
   475                                                  values:
   476                                                    description: values is an array of
   477                                                      string values. If the operator is
   478                                                      In or NotIn, the values array must
   479                                                      be non-empty. If the operator is
   480                                                      Exists or DoesNotExist, the values
   481                                                      array must be empty. This array
   482                                                      is replaced during a strategic merge
   483                                                      patch.
   484                                                    items:
   485                                                      type: string
   486                                                    type: array
   487                                                required:
   488                                                  - key
   489                                                  - operator
   490                                                type: object
   491                                              type: array
   492                                            matchLabels:
   493                                              additionalProperties:
   494                                                type: string
   495                                              description: matchLabels is a map of {key,value}
   496                                                pairs. A single {key,value} in the matchLabels
   497                                                map is equivalent to an element of matchExpressions,
   498                                                whose key field is "key", the operator
   499                                                is "In", and the values array contains
   500                                                only "value". The requirements are ANDed.
   501                                              type: object
   502                                          type: object
   503                                        namespaces:
   504                                          description: namespaces specifies which namespaces
   505                                            the labelSelector applies to (matches against);
   506                                            null or empty list means "this pod's namespace"
   507                                          items:
   508                                            type: string
   509                                          type: array
   510                                        topologyKey:
   511                                          description: This pod should be co-located (affinity)
   512                                            or not co-located (anti-affinity) with the
   513                                            pods matching the labelSelector in the specified
   514                                            namespaces, where co-located is defined as
   515                                            running on a node whose value of the label
   516                                            with key topologyKey matches that of any node
   517                                            on which any of the selected pods is running.
   518                                            Empty topologyKey is not allowed.
   519                                          type: string
   520                                      required:
   521                                        - topologyKey
   522                                      type: object
   523                                    weight:
   524                                      description: weight associated with matching the
   525                                        corresponding podAffinityTerm, in the range 1-100.
   526                                      format: int32
   527                                      type: integer
   528                                  required:
   529                                    - podAffinityTerm
   530                                    - weight
   531                                  type: object
   532                                type: array
   533                              requiredDuringSchedulingIgnoredDuringExecution:
   534                                description: If the affinity requirements specified by
   535                                  this field are not met at scheduling time, the pod will
   536                                  not be scheduled onto the node. If the affinity requirements
   537                                  specified by this field cease to be met at some point
   538                                  during pod execution (e.g. due to a pod label update),
   539                                  the system may or may not try to eventually evict the
   540                                  pod from its node. When there are multiple elements,
   541                                  the lists of nodes corresponding to each podAffinityTerm
   542                                  are intersected, i.e. all terms must be satisfied.
   543                                items:
   544                                  description: Defines a set of pods (namely those matching
   545                                    the labelSelector relative to the given namespace(s))
   546                                    that this pod should be co-located (affinity) or not
   547                                    co-located (anti-affinity) with, where co-located
   548                                    is defined as running on a node whose value of the
   549                                    label with key <topologyKey> matches that of any node
   550                                    on which a pod of the set of pods is running
   551                                  properties:
   552                                    labelSelector:
   553                                      description: A label query over a set of resources,
   554                                        in this case pods.
   555                                      properties:
   556                                        matchExpressions:
   557                                          description: matchExpressions is a list of label
   558                                            selector requirements. The requirements are
   559                                            ANDed.
   560                                          items:
   561                                            description: A label selector requirement
   562                                              is a selector that contains values, a key,
   563                                              and an operator that relates the key and
   564                                              values.
   565                                            properties:
   566                                              key:
   567                                                description: key is the label key that
   568                                                  the selector applies to.
   569                                                type: string
   570                                              operator:
   571                                                description: operator represents a key's
   572                                                  relationship to a set of values. Valid
   573                                                  operators are In, NotIn, Exists and
   574                                                  DoesNotExist.
   575                                                type: string
   576                                              values:
   577                                                description: values is an array of string
   578                                                  values. If the operator is In or NotIn,
   579                                                  the values array must be non-empty.
   580                                                  If the operator is Exists or DoesNotExist,
   581                                                  the values array must be empty. This
   582                                                  array is replaced during a strategic
   583                                                  merge patch.
   584                                                items:
   585                                                  type: string
   586                                                type: array
   587                                            required:
   588                                              - key
   589                                              - operator
   590                                            type: object
   591                                          type: array
   592                                        matchLabels:
   593                                          additionalProperties:
   594                                            type: string
   595                                          description: matchLabels is a map of {key,value}
   596                                            pairs. A single {key,value} in the matchLabels
   597                                            map is equivalent to an element of matchExpressions,
   598                                            whose key field is "key", the operator is
   599                                            "In", and the values array contains only "value".
   600                                            The requirements are ANDed.
   601                                          type: object
   602                                      type: object
   603                                    namespaces:
   604                                      description: namespaces specifies which namespaces
   605                                        the labelSelector applies to (matches against);
   606                                        null or empty list means "this pod's namespace"
   607                                      items:
   608                                        type: string
   609                                      type: array
   610                                    topologyKey:
   611                                      description: This pod should be co-located (affinity)
   612                                        or not co-located (anti-affinity) with the pods
   613                                        matching the labelSelector in the specified namespaces,
   614                                        where co-located is defined as running on a node
   615                                        whose value of the label with key topologyKey
   616                                        matches that of any node on which any of the selected
   617                                        pods is running. Empty topologyKey is not allowed.
   618                                      type: string
   619                                  required:
   620                                    - topologyKey
   621                                  type: object
   622                                type: array
   623                            type: object
   624                          podAntiAffinity:
   625                            description: Describes pod anti-affinity scheduling rules
   626                              (e.g. avoid putting this pod in the same node, zone, etc.
   627                              as some other pod(s)).
   628                            properties:
   629                              preferredDuringSchedulingIgnoredDuringExecution:
   630                                description: The scheduler will prefer to schedule pods
   631                                  to nodes that satisfy the anti-affinity expressions
   632                                  specified by this field, but it may choose a node that
   633                                  violates one or more of the expressions. The node that
   634                                  is most preferred is the one with the greatest sum of
   635                                  weights, i.e. for each node that meets all of the scheduling
   636                                  requirements (resource request, requiredDuringScheduling
   637                                  anti-affinity expressions, etc.), compute a sum by iterating
   638                                  through the elements of this field and adding "weight"
   639                                  to the sum if the node has pods which matches the corresponding
   640                                  podAffinityTerm; the node(s) with the highest sum are
   641                                  the most preferred.
   642                                items:
   643                                  description: The weights of all of the matched WeightedPodAffinityTerm
   644                                    fields are added per-node to find the most preferred
   645                                    node(s)
   646                                  properties:
   647                                    podAffinityTerm:
   648                                      description: Required. A pod affinity term, associated
   649                                        with the corresponding weight.
   650                                      properties:
   651                                        labelSelector:
   652                                          description: A label query over a set of resources,
   653                                            in this case pods.
   654                                          properties:
   655                                            matchExpressions:
   656                                              description: matchExpressions is a list
   657                                                of label selector requirements. The requirements
   658                                                are ANDed.
   659                                              items:
   660                                                description: A label selector requirement
   661                                                  is a selector that contains values,
   662                                                  a key, and an operator that relates
   663                                                  the key and values.
   664                                                properties:
   665                                                  key:
   666                                                    description: key is the label key
   667                                                      that the selector applies to.
   668                                                    type: string
   669                                                  operator:
   670                                                    description: operator represents a
   671                                                      key's relationship to a set of values.
   672                                                      Valid operators are In, NotIn, Exists
   673                                                      and DoesNotExist.
   674                                                    type: string
   675                                                  values:
   676                                                    description: values is an array of
   677                                                      string values. If the operator is
   678                                                      In or NotIn, the values array must
   679                                                      be non-empty. If the operator is
   680                                                      Exists or DoesNotExist, the values
   681                                                      array must be empty. This array
   682                                                      is replaced during a strategic merge
   683                                                      patch.
   684                                                    items:
   685                                                      type: string
   686                                                    type: array
   687                                                required:
   688                                                  - key
   689                                                  - operator
   690                                                type: object
   691                                              type: array
   692                                            matchLabels:
   693                                              additionalProperties:
   694                                                type: string
   695                                              description: matchLabels is a map of {key,value}
   696                                                pairs. A single {key,value} in the matchLabels
   697                                                map is equivalent to an element of matchExpressions,
   698                                                whose key field is "key", the operator
   699                                                is "In", and the values array contains
   700                                                only "value". The requirements are ANDed.
   701                                              type: object
   702                                          type: object
   703                                        namespaces:
   704                                          description: namespaces specifies which namespaces
   705                                            the labelSelector applies to (matches against);
   706                                            null or empty list means "this pod's namespace"
   707                                          items:
   708                                            type: string
   709                                          type: array
   710                                        topologyKey:
   711                                          description: This pod should be co-located (affinity)
   712                                            or not co-located (anti-affinity) with the
   713                                            pods matching the labelSelector in the specified
   714                                            namespaces, where co-located is defined as
   715                                            running on a node whose value of the label
   716                                            with key topologyKey matches that of any node
   717                                            on which any of the selected pods is running.
   718                                            Empty topologyKey is not allowed.
   719                                          type: string
   720                                      required:
   721                                        - topologyKey
   722                                      type: object
   723                                    weight:
   724                                      description: weight associated with matching the
   725                                        corresponding podAffinityTerm, in the range 1-100.
   726                                      format: int32
   727                                      type: integer
   728                                  required:
   729                                    - podAffinityTerm
   730                                    - weight
   731                                  type: object
   732                                type: array
   733                              requiredDuringSchedulingIgnoredDuringExecution:
   734                                description: If the anti-affinity requirements specified
   735                                  by this field are not met at scheduling time, the pod
   736                                  will not be scheduled onto the node. If the anti-affinity
   737                                  requirements specified by this field cease to be met
   738                                  at some point during pod execution (e.g. due to a pod
   739                                  label update), the system may or may not try to eventually
   740                                  evict the pod from its node. When there are multiple
   741                                  elements, the lists of nodes corresponding to each podAffinityTerm
   742                                  are intersected, i.e. all terms must be satisfied.
   743                                items:
   744                                  description: Defines a set of pods (namely those matching
   745                                    the labelSelector relative to the given namespace(s))
   746                                    that this pod should be co-located (affinity) or not
   747                                    co-located (anti-affinity) with, where co-located
   748                                    is defined as running on a node whose value of the
   749                                    label with key <topologyKey> matches that of any node
   750                                    on which a pod of the set of pods is running
   751                                  properties:
   752                                    labelSelector:
   753                                      description: A label query over a set of resources,
   754                                        in this case pods.
   755                                      properties:
   756                                        matchExpressions:
   757                                          description: matchExpressions is a list of label
   758                                            selector requirements. The requirements are
   759                                            ANDed.
   760                                          items:
   761                                            description: A label selector requirement
   762                                              is a selector that contains values, a key,
   763                                              and an operator that relates the key and
   764                                              values.
   765                                            properties:
   766                                              key:
   767                                                description: key is the label key that
   768                                                  the selector applies to.
   769                                                type: string
   770                                              operator:
   771                                                description: operator represents a key's
   772                                                  relationship to a set of values. Valid
   773                                                  operators are In, NotIn, Exists and
   774                                                  DoesNotExist.
   775                                                type: string
   776                                              values:
   777                                                description: values is an array of string
   778                                                  values. If the operator is In or NotIn,
   779                                                  the values array must be non-empty.
   780                                                  If the operator is Exists or DoesNotExist,
   781                                                  the values array must be empty. This
   782                                                  array is replaced during a strategic
   783                                                  merge patch.
   784                                                items:
   785                                                  type: string
   786                                                type: array
   787                                            required:
   788                                              - key
   789                                              - operator
   790                                            type: object
   791                                          type: array
   792                                        matchLabels:
   793                                          additionalProperties:
   794                                            type: string
   795                                          description: matchLabels is a map of {key,value}
   796                                            pairs. A single {key,value} in the matchLabels
   797                                            map is equivalent to an element of matchExpressions,
   798                                            whose key field is "key", the operator is
   799                                            "In", and the values array contains only "value".
   800                                            The requirements are ANDed.
   801                                          type: object
   802                                      type: object
   803                                    namespaces:
   804                                      description: namespaces specifies which namespaces
   805                                        the labelSelector applies to (matches against);
   806                                        null or empty list means "this pod's namespace"
   807                                      items:
   808                                        type: string
   809                                      type: array
   810                                    topologyKey:
   811                                      description: This pod should be co-located (affinity)
   812                                        or not co-located (anti-affinity) with the pods
   813                                        matching the labelSelector in the specified namespaces,
   814                                        where co-located is defined as running on a node
   815                                        whose value of the label with key topologyKey
   816                                        matches that of any node on which any of the selected
   817                                        pods is running. Empty topologyKey is not allowed.
   818                                      type: string
   819                                  required:
   820                                    - topologyKey
   821                                  type: object
   822                                type: array
   823                            type: object
   824                        type: object
   825                      nodeSelector:
   826                        additionalProperties:
   827                          type: string
   828                        description: NodeSelector is the labels that will be used to select
   829                          a node for pod scheduling
   830                        type: object
   831                      resources:
   832                        description: Resources are the compute resources required by the
   833                          jiva container.
   834                        properties:
   835                          limits:
   836                            additionalProperties:
   837                              anyOf:
   838                                - type: integer
   839                                - type: string
   840                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   841                              x-kubernetes-int-or-string: true
   842                            description: 'Limits describes the maximum amount of compute
   843                            resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   844                            type: object
   845                          requests:
   846                            additionalProperties:
   847                              anyOf:
   848                                - type: integer
   849                                - type: string
   850                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   851                              x-kubernetes-int-or-string: true
   852                            description: 'Requests describes the minimum amount of compute
   853                            resources required. If Requests is omitted for a container,
   854                            it defaults to Limits if that is explicitly specified, otherwise
   855                            to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   856                            type: object
   857                        type: object
   858                      tolerations:
   859                        description: Tolerations, if specified, are the pod's tolerations
   860                        items:
   861                          description: The pod this Toleration is attached to tolerates
   862                            any taint that matches the triple <key,value,effect> using
   863                            the matching operator <operator>.
   864                          properties:
   865                            effect:
   866                              description: Effect indicates the taint effect to match.
   867                                Empty means match all taint effects. When specified, allowed
   868                                values are NoSchedule, PreferNoSchedule and NoExecute.
   869                              type: string
   870                            key:
   871                              description: Key is the taint key that the toleration applies
   872                                to. Empty means match all taint keys. If the key is empty,
   873                                operator must be Exists; this combination means to match
   874                                all values and all keys.
   875                              type: string
   876                            operator:
   877                              description: Operator represents a key's relationship to
   878                                the value. Valid operators are Exists and Equal. Defaults
   879                                to Equal. Exists is equivalent to wildcard for value,
   880                                so that a pod can tolerate all taints of a particular
   881                                category.
   882                              type: string
   883                            tolerationSeconds:
   884                              description: TolerationSeconds represents the period of
   885                                time the toleration (which must be of effect NoExecute,
   886                                otherwise this field is ignored) tolerates the taint.
   887                                By default, it is not set, which means tolerate the taint
   888                                forever (do not evict). Zero and negative values will
   889                                be treated as 0 (evict immediately) by the system.
   890                              format: int64
   891                              type: integer
   892                            value:
   893                              description: Value is the taint value the toleration matches
   894                                to. If the operator is Exists, the value should be empty,
   895                                otherwise just a regular string.
   896                              type: string
   897                          type: object
   898                        type: array
   899                    type: object
   900                  replicaSC:
   901                    description: ReplicaSC represents the storage class used for creating
   902                      the pvc for the replicas (provisioned by localpv provisioner)
   903                    type: string
   904                  serviceAccountName:
   905                    description: ServiceAccountName can be provided to enable PSP
   906                    type: string
   907                  target:
   908                    description: TargetSpec represents configuration related to jiva target
   909                      and its resources
   910                    nullable: true
   911                    properties:
   912                      affinity:
   913                        description: Affinity if specified, are the pod's affinities
   914                        properties:
   915                          nodeAffinity:
   916                            description: Describes node affinity scheduling rules for
   917                              the pod.
   918                            properties:
   919                              preferredDuringSchedulingIgnoredDuringExecution:
   920                                description: The scheduler will prefer to schedule pods
   921                                  to nodes that satisfy the affinity expressions specified
   922                                  by this field, but it may choose a node that violates
   923                                  one or more of the expressions. The node that is most
   924                                  preferred is the one with the greatest sum of weights,
   925                                  i.e. for each node that meets all of the scheduling
   926                                  requirements (resource request, requiredDuringScheduling
   927                                  affinity expressions, etc.), compute a sum by iterating
   928                                  through the elements of this field and adding "weight"
   929                                  to the sum if the node matches the corresponding matchExpressions;
   930                                  the node(s) with the highest sum are the most preferred.
   931                                items:
   932                                  description: An empty preferred scheduling term matches
   933                                    all objects with implicit weight 0 (i.e. it's a no-op).
   934                                    A null preferred scheduling term matches no objects
   935                                    (i.e. is also a no-op).
   936                                  properties:
   937                                    preference:
   938                                      description: A node selector term, associated with
   939                                        the corresponding weight.
   940                                      properties:
   941                                        matchExpressions:
   942                                          description: A list of node selector requirements
   943                                            by node's labels.
   944                                          items:
   945                                            description: A node selector requirement is
   946                                              a selector that contains values, a key,
   947                                              and an operator that relates the key and
   948                                              values.
   949                                            properties:
   950                                              key:
   951                                                description: The label key that the selector
   952                                                  applies to.
   953                                                type: string
   954                                              operator:
   955                                                description: Represents a key's relationship
   956                                                  to a set of values. Valid operators
   957                                                  are In, NotIn, Exists, DoesNotExist.
   958                                                  Gt, and Lt.
   959                                                type: string
   960                                              values:
   961                                                description: An array of string values.
   962                                                  If the operator is In or NotIn, the
   963                                                  values array must be non-empty. If the
   964                                                  operator is Exists or DoesNotExist,
   965                                                  the values array must be empty. If the
   966                                                  operator is Gt or Lt, the values array
   967                                                  must have a single element, which will
   968                                                  be interpreted as an integer. This array
   969                                                  is replaced during a strategic merge
   970                                                  patch.
   971                                                items:
   972                                                  type: string
   973                                                type: array
   974                                            required:
   975                                              - key
   976                                              - operator
   977                                            type: object
   978                                          type: array
   979                                        matchFields:
   980                                          description: A list of node selector requirements
   981                                            by node's fields.
   982                                          items:
   983                                            description: A node selector requirement is
   984                                              a selector that contains values, a key,
   985                                              and an operator that relates the key and
   986                                              values.
   987                                            properties:
   988                                              key:
   989                                                description: The label key that the selector
   990                                                  applies to.
   991                                                type: string
   992                                              operator:
   993                                                description: Represents a key's relationship
   994                                                  to a set of values. Valid operators
   995                                                  are In, NotIn, Exists, DoesNotExist.
   996                                                  Gt, and Lt.
   997                                                type: string
   998                                              values:
   999                                                description: An array of string values.
  1000                                                  If the operator is In or NotIn, the
  1001                                                  values array must be non-empty. If the
  1002                                                  operator is Exists or DoesNotExist,
  1003                                                  the values array must be empty. If the
  1004                                                  operator is Gt or Lt, the values array
  1005                                                  must have a single element, which will
  1006                                                  be interpreted as an integer. This array
  1007                                                  is replaced during a strategic merge
  1008                                                  patch.
  1009                                                items:
  1010                                                  type: string
  1011                                                type: array
  1012                                            required:
  1013                                              - key
  1014                                              - operator
  1015                                            type: object
  1016                                          type: array
  1017                                      type: object
  1018                                    weight:
  1019                                      description: Weight associated with matching the
  1020                                        corresponding nodeSelectorTerm, in the range 1-100.
  1021                                      format: int32
  1022                                      type: integer
  1023                                  required:
  1024                                    - preference
  1025                                    - weight
  1026                                  type: object
  1027                                type: array
  1028                              requiredDuringSchedulingIgnoredDuringExecution:
  1029                                description: If the affinity requirements specified by
  1030                                  this field are not met at scheduling time, the pod will
  1031                                  not be scheduled onto the node. If the affinity requirements
  1032                                  specified by this field cease to be met at some point
  1033                                  during pod execution (e.g. due to an update), the system
  1034                                  may or may not try to eventually evict the pod from
  1035                                  its node.
  1036                                properties:
  1037                                  nodeSelectorTerms:
  1038                                    description: Required. A list of node selector terms.
  1039                                      The terms are ORed.
  1040                                    items:
  1041                                      description: A null or empty node selector term
  1042                                        matches no objects. The requirements of them are
  1043                                        ANDed. The TopologySelectorTerm type implements
  1044                                        a subset of the NodeSelectorTerm.
  1045                                      properties:
  1046                                        matchExpressions:
  1047                                          description: A list of node selector requirements
  1048                                            by node's labels.
  1049                                          items:
  1050                                            description: A node selector requirement is
  1051                                              a selector that contains values, a key,
  1052                                              and an operator that relates the key and
  1053                                              values.
  1054                                            properties:
  1055                                              key:
  1056                                                description: The label key that the selector
  1057                                                  applies to.
  1058                                                type: string
  1059                                              operator:
  1060                                                description: Represents a key's relationship
  1061                                                  to a set of values. Valid operators
  1062                                                  are In, NotIn, Exists, DoesNotExist.
  1063                                                  Gt, and Lt.
  1064                                                type: string
  1065                                              values:
  1066                                                description: An array of string values.
  1067                                                  If the operator is In or NotIn, the
  1068                                                  values array must be non-empty. If the
  1069                                                  operator is Exists or DoesNotExist,
  1070                                                  the values array must be empty. If the
  1071                                                  operator is Gt or Lt, the values array
  1072                                                  must have a single element, which will
  1073                                                  be interpreted as an integer. This array
  1074                                                  is replaced during a strategic merge
  1075                                                  patch.
  1076                                                items:
  1077                                                  type: string
  1078                                                type: array
  1079                                            required:
  1080                                              - key
  1081                                              - operator
  1082                                            type: object
  1083                                          type: array
  1084                                        matchFields:
  1085                                          description: A list of node selector requirements
  1086                                            by node's fields.
  1087                                          items:
  1088                                            description: A node selector requirement is
  1089                                              a selector that contains values, a key,
  1090                                              and an operator that relates the key and
  1091                                              values.
  1092                                            properties:
  1093                                              key:
  1094                                                description: The label key that the selector
  1095                                                  applies to.
  1096                                                type: string
  1097                                              operator:
  1098                                                description: Represents a key's relationship
  1099                                                  to a set of values. Valid operators
  1100                                                  are In, NotIn, Exists, DoesNotExist.
  1101                                                  Gt, and Lt.
  1102                                                type: string
  1103                                              values:
  1104                                                description: An array of string values.
  1105                                                  If the operator is In or NotIn, the
  1106                                                  values array must be non-empty. If the
  1107                                                  operator is Exists or DoesNotExist,
  1108                                                  the values array must be empty. If the
  1109                                                  operator is Gt or Lt, the values array
  1110                                                  must have a single element, which will
  1111                                                  be interpreted as an integer. This array
  1112                                                  is replaced during a strategic merge
  1113                                                  patch.
  1114                                                items:
  1115                                                  type: string
  1116                                                type: array
  1117                                            required:
  1118                                              - key
  1119                                              - operator
  1120                                            type: object
  1121                                          type: array
  1122                                      type: object
  1123                                    type: array
  1124                                required:
  1125                                  - nodeSelectorTerms
  1126                                type: object
  1127                            type: object
  1128                          podAffinity:
  1129                            description: Describes pod affinity scheduling rules (e.g.
  1130                              co-locate this pod in the same node, zone, etc. as some
  1131                              other pod(s)).
  1132                            properties:
  1133                              preferredDuringSchedulingIgnoredDuringExecution:
  1134                                description: The scheduler will prefer to schedule pods
  1135                                  to nodes that satisfy the affinity expressions specified
  1136                                  by this field, but it may choose a node that violates
  1137                                  one or more of the expressions. The node that is most
  1138                                  preferred is the one with the greatest sum of weights,
  1139                                  i.e. for each node that meets all of the scheduling
  1140                                  requirements (resource request, requiredDuringScheduling
  1141                                  affinity expressions, etc.), compute a sum by iterating
  1142                                  through the elements of this field and adding "weight"
  1143                                  to the sum if the node has pods which matches the corresponding
  1144                                  podAffinityTerm; the node(s) with the highest sum are
  1145                                  the most preferred.
  1146                                items:
  1147                                  description: The weights of all of the matched WeightedPodAffinityTerm
  1148                                    fields are added per-node to find the most preferred
  1149                                    node(s)
  1150                                  properties:
  1151                                    podAffinityTerm:
  1152                                      description: Required. A pod affinity term, associated
  1153                                        with the corresponding weight.
  1154                                      properties:
  1155                                        labelSelector:
  1156                                          description: A label query over a set of resources,
  1157                                            in this case pods.
  1158                                          properties:
  1159                                            matchExpressions:
  1160                                              description: matchExpressions is a list
  1161                                                of label selector requirements. The requirements
  1162                                                are ANDed.
  1163                                              items:
  1164                                                description: A label selector requirement
  1165                                                  is a selector that contains values,
  1166                                                  a key, and an operator that relates
  1167                                                  the key and values.
  1168                                                properties:
  1169                                                  key:
  1170                                                    description: key is the label key
  1171                                                      that the selector applies to.
  1172                                                    type: string
  1173                                                  operator:
  1174                                                    description: operator represents a
  1175                                                      key's relationship to a set of values.
  1176                                                      Valid operators are In, NotIn, Exists
  1177                                                      and DoesNotExist.
  1178                                                    type: string
  1179                                                  values:
  1180                                                    description: values is an array of
  1181                                                      string values. If the operator is
  1182                                                      In or NotIn, the values array must
  1183                                                      be non-empty. If the operator is
  1184                                                      Exists or DoesNotExist, the values
  1185                                                      array must be empty. This array
  1186                                                      is replaced during a strategic merge
  1187                                                      patch.
  1188                                                    items:
  1189                                                      type: string
  1190                                                    type: array
  1191                                                required:
  1192                                                  - key
  1193                                                  - operator
  1194                                                type: object
  1195                                              type: array
  1196                                            matchLabels:
  1197                                              additionalProperties:
  1198                                                type: string
  1199                                              description: matchLabels is a map of {key,value}
  1200                                                pairs. A single {key,value} in the matchLabels
  1201                                                map is equivalent to an element of matchExpressions,
  1202                                                whose key field is "key", the operator
  1203                                                is "In", and the values array contains
  1204                                                only "value". The requirements are ANDed.
  1205                                              type: object
  1206                                          type: object
  1207                                        namespaces:
  1208                                          description: namespaces specifies which namespaces
  1209                                            the labelSelector applies to (matches against);
  1210                                            null or empty list means "this pod's namespace"
  1211                                          items:
  1212                                            type: string
  1213                                          type: array
  1214                                        topologyKey:
  1215                                          description: This pod should be co-located (affinity)
  1216                                            or not co-located (anti-affinity) with the
  1217                                            pods matching the labelSelector in the specified
  1218                                            namespaces, where co-located is defined as
  1219                                            running on a node whose value of the label
  1220                                            with key topologyKey matches that of any node
  1221                                            on which any of the selected pods is running.
  1222                                            Empty topologyKey is not allowed.
  1223                                          type: string
  1224                                      required:
  1225                                        - topologyKey
  1226                                      type: object
  1227                                    weight:
  1228                                      description: weight associated with matching the
  1229                                        corresponding podAffinityTerm, in the range 1-100.
  1230                                      format: int32
  1231                                      type: integer
  1232                                  required:
  1233                                    - podAffinityTerm
  1234                                    - weight
  1235                                  type: object
  1236                                type: array
  1237                              requiredDuringSchedulingIgnoredDuringExecution:
  1238                                description: If the affinity requirements specified by
  1239                                  this field are not met at scheduling time, the pod will
  1240                                  not be scheduled onto the node. If the affinity requirements
  1241                                  specified by this field cease to be met at some point
  1242                                  during pod execution (e.g. due to a pod label update),
  1243                                  the system may or may not try to eventually evict the
  1244                                  pod from its node. When there are multiple elements,
  1245                                  the lists of nodes corresponding to each podAffinityTerm
  1246                                  are intersected, i.e. all terms must be satisfied.
  1247                                items:
  1248                                  description: Defines a set of pods (namely those matching
  1249                                    the labelSelector relative to the given namespace(s))
  1250                                    that this pod should be co-located (affinity) or not
  1251                                    co-located (anti-affinity) with, where co-located
  1252                                    is defined as running on a node whose value of the
  1253                                    label with key <topologyKey> matches that of any node
  1254                                    on which a pod of the set of pods is running
  1255                                  properties:
  1256                                    labelSelector:
  1257                                      description: A label query over a set of resources,
  1258                                        in this case pods.
  1259                                      properties:
  1260                                        matchExpressions:
  1261                                          description: matchExpressions is a list of label
  1262                                            selector requirements. The requirements are
  1263                                            ANDed.
  1264                                          items:
  1265                                            description: A label selector requirement
  1266                                              is a selector that contains values, a key,
  1267                                              and an operator that relates the key and
  1268                                              values.
  1269                                            properties:
  1270                                              key:
  1271                                                description: key is the label key that
  1272                                                  the selector applies to.
  1273                                                type: string
  1274                                              operator:
  1275                                                description: operator represents a key's
  1276                                                  relationship to a set of values. Valid
  1277                                                  operators are In, NotIn, Exists and
  1278                                                  DoesNotExist.
  1279                                                type: string
  1280                                              values:
  1281                                                description: values is an array of string
  1282                                                  values. If the operator is In or NotIn,
  1283                                                  the values array must be non-empty.
  1284                                                  If the operator is Exists or DoesNotExist,
  1285                                                  the values array must be empty. This
  1286                                                  array is replaced during a strategic
  1287                                                  merge patch.
  1288                                                items:
  1289                                                  type: string
  1290                                                type: array
  1291                                            required:
  1292                                              - key
  1293                                              - operator
  1294                                            type: object
  1295                                          type: array
  1296                                        matchLabels:
  1297                                          additionalProperties:
  1298                                            type: string
  1299                                          description: matchLabels is a map of {key,value}
  1300                                            pairs. A single {key,value} in the matchLabels
  1301                                            map is equivalent to an element of matchExpressions,
  1302                                            whose key field is "key", the operator is
  1303                                            "In", and the values array contains only "value".
  1304                                            The requirements are ANDed.
  1305                                          type: object
  1306                                      type: object
  1307                                    namespaces:
  1308                                      description: namespaces specifies which namespaces
  1309                                        the labelSelector applies to (matches against);
  1310                                        null or empty list means "this pod's namespace"
  1311                                      items:
  1312                                        type: string
  1313                                      type: array
  1314                                    topologyKey:
  1315                                      description: This pod should be co-located (affinity)
  1316                                        or not co-located (anti-affinity) with the pods
  1317                                        matching the labelSelector in the specified namespaces,
  1318                                        where co-located is defined as running on a node
  1319                                        whose value of the label with key topologyKey
  1320                                        matches that of any node on which any of the selected
  1321                                        pods is running. Empty topologyKey is not allowed.
  1322                                      type: string
  1323                                  required:
  1324                                    - topologyKey
  1325                                  type: object
  1326                                type: array
  1327                            type: object
  1328                          podAntiAffinity:
  1329                            description: Describes pod anti-affinity scheduling rules
  1330                              (e.g. avoid putting this pod in the same node, zone, etc.
  1331                              as some other pod(s)).
  1332                            properties:
  1333                              preferredDuringSchedulingIgnoredDuringExecution:
  1334                                description: The scheduler will prefer to schedule pods
  1335                                  to nodes that satisfy the anti-affinity expressions
  1336                                  specified by this field, but it may choose a node that
  1337                                  violates one or more of the expressions. The node that
  1338                                  is most preferred is the one with the greatest sum of
  1339                                  weights, i.e. for each node that meets all of the scheduling
  1340                                  requirements (resource request, requiredDuringScheduling
  1341                                  anti-affinity expressions, etc.), compute a sum by iterating
  1342                                  through the elements of this field and adding "weight"
  1343                                  to the sum if the node has pods which matches the corresponding
  1344                                  podAffinityTerm; the node(s) with the highest sum are
  1345                                  the most preferred.
  1346                                items:
  1347                                  description: The weights of all of the matched WeightedPodAffinityTerm
  1348                                    fields are added per-node to find the most preferred
  1349                                    node(s)
  1350                                  properties:
  1351                                    podAffinityTerm:
  1352                                      description: Required. A pod affinity term, associated
  1353                                        with the corresponding weight.
  1354                                      properties:
  1355                                        labelSelector:
  1356                                          description: A label query over a set of resources,
  1357                                            in this case pods.
  1358                                          properties:
  1359                                            matchExpressions:
  1360                                              description: matchExpressions is a list
  1361                                                of label selector requirements. The requirements
  1362                                                are ANDed.
  1363                                              items:
  1364                                                description: A label selector requirement
  1365                                                  is a selector that contains values,
  1366                                                  a key, and an operator that relates
  1367                                                  the key and values.
  1368                                                properties:
  1369                                                  key:
  1370                                                    description: key is the label key
  1371                                                      that the selector applies to.
  1372                                                    type: string
  1373                                                  operator:
  1374                                                    description: operator represents a
  1375                                                      key's relationship to a set of values.
  1376                                                      Valid operators are In, NotIn, Exists
  1377                                                      and DoesNotExist.
  1378                                                    type: string
  1379                                                  values:
  1380                                                    description: values is an array of
  1381                                                      string values. If the operator is
  1382                                                      In or NotIn, the values array must
  1383                                                      be non-empty. If the operator is
  1384                                                      Exists or DoesNotExist, the values
  1385                                                      array must be empty. This array
  1386                                                      is replaced during a strategic merge
  1387                                                      patch.
  1388                                                    items:
  1389                                                      type: string
  1390                                                    type: array
  1391                                                required:
  1392                                                  - key
  1393                                                  - operator
  1394                                                type: object
  1395                                              type: array
  1396                                            matchLabels:
  1397                                              additionalProperties:
  1398                                                type: string
  1399                                              description: matchLabels is a map of {key,value}
  1400                                                pairs. A single {key,value} in the matchLabels
  1401                                                map is equivalent to an element of matchExpressions,
  1402                                                whose key field is "key", the operator
  1403                                                is "In", and the values array contains
  1404                                                only "value". The requirements are ANDed.
  1405                                              type: object
  1406                                          type: object
  1407                                        namespaces:
  1408                                          description: namespaces specifies which namespaces
  1409                                            the labelSelector applies to (matches against);
  1410                                            null or empty list means "this pod's namespace"
  1411                                          items:
  1412                                            type: string
  1413                                          type: array
  1414                                        topologyKey:
  1415                                          description: This pod should be co-located (affinity)
  1416                                            or not co-located (anti-affinity) with the
  1417                                            pods matching the labelSelector in the specified
  1418                                            namespaces, where co-located is defined as
  1419                                            running on a node whose value of the label
  1420                                            with key topologyKey matches that of any node
  1421                                            on which any of the selected pods is running.
  1422                                            Empty topologyKey is not allowed.
  1423                                          type: string
  1424                                      required:
  1425                                        - topologyKey
  1426                                      type: object
  1427                                    weight:
  1428                                      description: weight associated with matching the
  1429                                        corresponding podAffinityTerm, in the range 1-100.
  1430                                      format: int32
  1431                                      type: integer
  1432                                  required:
  1433                                    - podAffinityTerm
  1434                                    - weight
  1435                                  type: object
  1436                                type: array
  1437                              requiredDuringSchedulingIgnoredDuringExecution:
  1438                                description: If the anti-affinity requirements specified
  1439                                  by this field are not met at scheduling time, the pod
  1440                                  will not be scheduled onto the node. If the anti-affinity
  1441                                  requirements specified by this field cease to be met
  1442                                  at some point during pod execution (e.g. due to a pod
  1443                                  label update), the system may or may not try to eventually
  1444                                  evict the pod from its node. When there are multiple
  1445                                  elements, the lists of nodes corresponding to each podAffinityTerm
  1446                                  are intersected, i.e. all terms must be satisfied.
  1447                                items:
  1448                                  description: Defines a set of pods (namely those matching
  1449                                    the labelSelector relative to the given namespace(s))
  1450                                    that this pod should be co-located (affinity) or not
  1451                                    co-located (anti-affinity) with, where co-located
  1452                                    is defined as running on a node whose value of the
  1453                                    label with key <topologyKey> matches that of any node
  1454                                    on which a pod of the set of pods is running
  1455                                  properties:
  1456                                    labelSelector:
  1457                                      description: A label query over a set of resources,
  1458                                        in this case pods.
  1459                                      properties:
  1460                                        matchExpressions:
  1461                                          description: matchExpressions is a list of label
  1462                                            selector requirements. The requirements are
  1463                                            ANDed.
  1464                                          items:
  1465                                            description: A label selector requirement
  1466                                              is a selector that contains values, a key,
  1467                                              and an operator that relates the key and
  1468                                              values.
  1469                                            properties:
  1470                                              key:
  1471                                                description: key is the label key that
  1472                                                  the selector applies to.
  1473                                                type: string
  1474                                              operator:
  1475                                                description: operator represents a key's
  1476                                                  relationship to a set of values. Valid
  1477                                                  operators are In, NotIn, Exists and
  1478                                                  DoesNotExist.
  1479                                                type: string
  1480                                              values:
  1481                                                description: values is an array of string
  1482                                                  values. If the operator is In or NotIn,
  1483                                                  the values array must be non-empty.
  1484                                                  If the operator is Exists or DoesNotExist,
  1485                                                  the values array must be empty. This
  1486                                                  array is replaced during a strategic
  1487                                                  merge patch.
  1488                                                items:
  1489                                                  type: string
  1490                                                type: array
  1491                                            required:
  1492                                              - key
  1493                                              - operator
  1494                                            type: object
  1495                                          type: array
  1496                                        matchLabels:
  1497                                          additionalProperties:
  1498                                            type: string
  1499                                          description: matchLabels is a map of {key,value}
  1500                                            pairs. A single {key,value} in the matchLabels
  1501                                            map is equivalent to an element of matchExpressions,
  1502                                            whose key field is "key", the operator is
  1503                                            "In", and the values array contains only "value".
  1504                                            The requirements are ANDed.
  1505                                          type: object
  1506                                      type: object
  1507                                    namespaces:
  1508                                      description: namespaces specifies which namespaces
  1509                                        the labelSelector applies to (matches against);
  1510                                        null or empty list means "this pod's namespace"
  1511                                      items:
  1512                                        type: string
  1513                                      type: array
  1514                                    topologyKey:
  1515                                      description: This pod should be co-located (affinity)
  1516                                        or not co-located (anti-affinity) with the pods
  1517                                        matching the labelSelector in the specified namespaces,
  1518                                        where co-located is defined as running on a node
  1519                                        whose value of the label with key topologyKey
  1520                                        matches that of any node on which any of the selected
  1521                                        pods is running. Empty topologyKey is not allowed.
  1522                                      type: string
  1523                                  required:
  1524                                    - topologyKey
  1525                                  type: object
  1526                                type: array
  1527                            type: object
  1528                        type: object
  1529                      auxResources:
  1530                        description: AuxResources are the compute resources required by
  1531                          the jiva-target pod side car containers.
  1532                        properties:
  1533                          limits:
  1534                            additionalProperties:
  1535                              anyOf:
  1536                                - type: integer
  1537                                - type: string
  1538                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1539                              x-kubernetes-int-or-string: true
  1540                            description: 'Limits describes the maximum amount of compute
  1541                            resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1542                            type: object
  1543                          requests:
  1544                            additionalProperties:
  1545                              anyOf:
  1546                                - type: integer
  1547                                - type: string
  1548                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1549                              x-kubernetes-int-or-string: true
  1550                            description: 'Requests describes the minimum amount of compute
  1551                            resources required. If Requests is omitted for a container,
  1552                            it defaults to Limits if that is explicitly specified, otherwise
  1553                            to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1554                            type: object
  1555                        type: object
  1556                      monitor:
  1557                        description: Monitor enables or disables the target exporter sidecar
  1558                        type: boolean
  1559                      nodeSelector:
  1560                        additionalProperties:
  1561                          type: string
  1562                        description: NodeSelector is the labels that will be used to select
  1563                          a node for pod scheduling
  1564                        type: object
  1565                      replicationFactor:
  1566                        description: ReplicationFactor represents maximum number of replicas
  1567                          that are allowed to connect to the target
  1568                        type: integer
  1569                      resources:
  1570                        description: Resources are the compute resources required by the
  1571                          jiva container.
  1572                        properties:
  1573                          limits:
  1574                            additionalProperties:
  1575                              anyOf:
  1576                                - type: integer
  1577                                - type: string
  1578                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1579                              x-kubernetes-int-or-string: true
  1580                            description: 'Limits describes the maximum amount of compute
  1581                            resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1582                            type: object
  1583                          requests:
  1584                            additionalProperties:
  1585                              anyOf:
  1586                                - type: integer
  1587                                - type: string
  1588                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1589                              x-kubernetes-int-or-string: true
  1590                            description: 'Requests describes the minimum amount of compute
  1591                            resources required. If Requests is omitted for a container,
  1592                            it defaults to Limits if that is explicitly specified, otherwise
  1593                            to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1594                            type: object
  1595                        type: object
  1596                      tolerations:
  1597                        description: Tolerations, if specified, are the pod's tolerations
  1598                        items:
  1599                          description: The pod this Toleration is attached to tolerates
  1600                            any taint that matches the triple <key,value,effect> using
  1601                            the matching operator <operator>.
  1602                          properties:
  1603                            effect:
  1604                              description: Effect indicates the taint effect to match.
  1605                                Empty means match all taint effects. When specified, allowed
  1606                                values are NoSchedule, PreferNoSchedule and NoExecute.
  1607                              type: string
  1608                            key:
  1609                              description: Key is the taint key that the toleration applies
  1610                                to. Empty means match all taint keys. If the key is empty,
  1611                                operator must be Exists; this combination means to match
  1612                                all values and all keys.
  1613                              type: string
  1614                            operator:
  1615                              description: Operator represents a key's relationship to
  1616                                the value. Valid operators are Exists and Equal. Defaults
  1617                                to Equal. Exists is equivalent to wildcard for value,
  1618                                so that a pod can tolerate all taints of a particular
  1619                                category.
  1620                              type: string
  1621                            tolerationSeconds:
  1622                              description: TolerationSeconds represents the period of
  1623                                time the toleration (which must be of effect NoExecute,
  1624                                otherwise this field is ignored) tolerates the taint.
  1625                                By default, it is not set, which means tolerate the taint
  1626                                forever (do not evict). Zero and negative values will
  1627                                be treated as 0 (evict immediately) by the system.
  1628                              format: int64
  1629                              type: integer
  1630                            value:
  1631                              description: Value is the taint value the toleration matches
  1632                                to. If the operator is Exists, the value should be empty,
  1633                                otherwise just a regular string.
  1634                              type: string
  1635                          type: object
  1636                        type: array
  1637                    type: object
  1638                required:
  1639                  - autoScaling
  1640                  - enableBufio
  1641                type: object
  1642              status:
  1643                description: JivaVolumePolicyStatus is for handling status of JivaVolumePolicy
  1644                properties:
  1645                  phase:
  1646                    type: string
  1647                required:
  1648                  - phase
  1649                type: object
  1650            type: object
  1651        served: true
  1652        storage: true
  1653  status:
  1654    acceptedNames:
  1655      kind: ""
  1656      plural: ""
  1657    conditions: [ ]
  1658    storedVersions: [ ]
  1659  ---
  1660  apiVersion: apiextensions.k8s.io/v1
  1661  kind: CustomResourceDefinition
  1662  metadata:
  1663    annotations:
  1664      controller-gen.kubebuilder.io/version: v0.4.1
  1665    creationTimestamp: null
  1666    name: jivavolumes.openebs.io
  1667  spec:
  1668    group: openebs.io
  1669    names:
  1670      kind: JivaVolume
  1671      listKind: JivaVolumeList
  1672      plural: jivavolumes
  1673      shortNames:
  1674        - jv
  1675      singular: jivavolume
  1676    scope: Namespaced
  1677    versions:
  1678      - additionalPrinterColumns:
  1679          - jsonPath: .status.replicaCount
  1680            name: ReplicaCount
  1681            type: string
  1682          - jsonPath: .status.phase
  1683            name: Phase
  1684            type: string
  1685          - jsonPath: .status.status
  1686            name: Status
  1687            type: string
  1688        name: v1alpha1
  1689        schema:
  1690          openAPIV3Schema:
  1691            description: 'JivaVolume is the Schema for the jivavolumes API Important:
  1692            Run "operator-sdk generate k8s" to regenerate code after modifying this
  1693            file'
  1694            properties:
  1695              apiVersion:
  1696                description: 'APIVersion defines the versioned schema of this representation
  1697                of an object. Servers should convert recognized schemas to the latest
  1698                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1699                type: string
  1700              kind:
  1701                description: 'Kind is a string value representing the REST resource this
  1702                object represents. Servers may infer this from the endpoint the client
  1703                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1704                type: string
  1705              metadata:
  1706                type: object
  1707              spec:
  1708                description: JivaVolumeSpec defines the desired state of JivaVolume
  1709                properties:
  1710                  accessType:
  1711                    description: AccessType can be specified as Block or Mount type
  1712                    type: string
  1713                  capacity:
  1714                    type: string
  1715                  desiredReplicationFactor:
  1716                    type: integer
  1717                  iscsiSpec:
  1718                    nullable: true
  1719                    properties:
  1720                      iqn:
  1721                        type: string
  1722                      targetIP:
  1723                        type: string
  1724                      targetPort:
  1725                        format: int32
  1726                        type: integer
  1727                    type: object
  1728                  mountInfo:
  1729                    nullable: true
  1730                    properties:
  1731                      devicePath:
  1732                        type: string
  1733                      fsType:
  1734                        type: string
  1735                      stagingPath:
  1736                        description: StagingPath is the path provided by K8s during NodeStageVolume
  1737                          rpc call, where volume is mounted globally.
  1738                        type: string
  1739                      targetPath:
  1740                        description: TargetPath is the path provided by K8s during NodePublishVolume
  1741                          rpc call where bind mount happens.
  1742                        type: string
  1743                    type: object
  1744                  policy:
  1745                    description: Policy is the configuration used for creating target
  1746                      and replica pods during volume provisioning
  1747                    nullable: true
  1748                    properties:
  1749                      autoScaling:
  1750                        description: AutoScaling ...
  1751                        type: boolean
  1752                      enableBufio:
  1753                        description: EnableBufio ...
  1754                        type: boolean
  1755                      priorityClassName:
  1756                        description: PriorityClassName if specified applies to the pod
  1757                          If left empty, no priority class is applied.
  1758                        type: string
  1759                      replica:
  1760                        description: ReplicaSpec represents configuration related to replicas
  1761                          resources
  1762                        nullable: true
  1763                        properties:
  1764                          affinity:
  1765                            description: Affinity if specified, are the pod's affinities
  1766                            properties:
  1767                              nodeAffinity:
  1768                                description: Describes node affinity scheduling rules
  1769                                  for the pod.
  1770                                properties:
  1771                                  preferredDuringSchedulingIgnoredDuringExecution:
  1772                                    description: The scheduler will prefer to schedule
  1773                                      pods to nodes that satisfy the affinity expressions
  1774                                      specified by this field, but it may choose a node
  1775                                      that violates one or more of the expressions. The
  1776                                      node that is most preferred is the one with the
  1777                                      greatest sum of weights, i.e. for each node that
  1778                                      meets all of the scheduling requirements (resource
  1779                                      request, requiredDuringScheduling affinity expressions,
  1780                                      etc.), compute a sum by iterating through the elements
  1781                                      of this field and adding "weight" to the sum if
  1782                                      the node matches the corresponding matchExpressions;
  1783                                      the node(s) with the highest sum are the most preferred.
  1784                                    items:
  1785                                      description: An empty preferred scheduling term
  1786                                        matches all objects with implicit weight 0 (i.e.
  1787                                        it's a no-op). A null preferred scheduling term
  1788                                        matches no objects (i.e. is also a no-op).
  1789                                      properties:
  1790                                        preference:
  1791                                          description: A node selector term, associated
  1792                                            with the corresponding weight.
  1793                                          properties:
  1794                                            matchExpressions:
  1795                                              description: A list of node selector requirements
  1796                                                by node's labels.
  1797                                              items:
  1798                                                description: A node selector requirement
  1799                                                  is a selector that contains values,
  1800                                                  a key, and an operator that relates
  1801                                                  the key and values.
  1802                                                properties:
  1803                                                  key:
  1804                                                    description: The label key that the
  1805                                                      selector applies to.
  1806                                                    type: string
  1807                                                  operator:
  1808                                                    description: Represents a key's relationship
  1809                                                      to a set of values. Valid operators
  1810                                                      are In, NotIn, Exists, DoesNotExist.
  1811                                                      Gt, and Lt.
  1812                                                    type: string
  1813                                                  values:
  1814                                                    description: An array of string values.
  1815                                                      If the operator is In or NotIn,
  1816                                                      the values array must be non-empty.
  1817                                                      If the operator is Exists or DoesNotExist,
  1818                                                      the values array must be empty.
  1819                                                      If the operator is Gt or Lt, the
  1820                                                      values array must have a single
  1821                                                      element, which will be interpreted
  1822                                                      as an integer. This array is replaced
  1823                                                      during a strategic merge patch.
  1824                                                    items:
  1825                                                      type: string
  1826                                                    type: array
  1827                                                required:
  1828                                                  - key
  1829                                                  - operator
  1830                                                type: object
  1831                                              type: array
  1832                                            matchFields:
  1833                                              description: A list of node selector requirements
  1834                                                by node's fields.
  1835                                              items:
  1836                                                description: A node selector requirement
  1837                                                  is a selector that contains values,
  1838                                                  a key, and an operator that relates
  1839                                                  the key and values.
  1840                                                properties:
  1841                                                  key:
  1842                                                    description: The label key that the
  1843                                                      selector applies to.
  1844                                                    type: string
  1845                                                  operator:
  1846                                                    description: Represents a key's relationship
  1847                                                      to a set of values. Valid operators
  1848                                                      are In, NotIn, Exists, DoesNotExist.
  1849                                                      Gt, and Lt.
  1850                                                    type: string
  1851                                                  values:
  1852                                                    description: An array of string values.
  1853                                                      If the operator is In or NotIn,
  1854                                                      the values array must be non-empty.
  1855                                                      If the operator is Exists or DoesNotExist,
  1856                                                      the values array must be empty.
  1857                                                      If the operator is Gt or Lt, the
  1858                                                      values array must have a single
  1859                                                      element, which will be interpreted
  1860                                                      as an integer. This array is replaced
  1861                                                      during a strategic merge patch.
  1862                                                    items:
  1863                                                      type: string
  1864                                                    type: array
  1865                                                required:
  1866                                                  - key
  1867                                                  - operator
  1868                                                type: object
  1869                                              type: array
  1870                                          type: object
  1871                                        weight:
  1872                                          description: Weight associated with matching
  1873                                            the corresponding nodeSelectorTerm, in the
  1874                                            range 1-100.
  1875                                          format: int32
  1876                                          type: integer
  1877                                      required:
  1878                                        - preference
  1879                                        - weight
  1880                                      type: object
  1881                                    type: array
  1882                                  requiredDuringSchedulingIgnoredDuringExecution:
  1883                                    description: If the affinity requirements specified
  1884                                      by this field are not met at scheduling time, the
  1885                                      pod will not be scheduled onto the node. If the
  1886                                      affinity requirements specified by this field cease
  1887                                      to be met at some point during pod execution (e.g.
  1888                                      due to an update), the system may or may not try
  1889                                      to eventually evict the pod from its node.
  1890                                    properties:
  1891                                      nodeSelectorTerms:
  1892                                        description: Required. A list of node selector
  1893                                          terms. The terms are ORed.
  1894                                        items:
  1895                                          description: A null or empty node selector term
  1896                                            matches no objects. The requirements of them
  1897                                            are ANDed. The TopologySelectorTerm type implements
  1898                                            a subset of the NodeSelectorTerm.
  1899                                          properties:
  1900                                            matchExpressions:
  1901                                              description: A list of node selector requirements
  1902                                                by node's labels.
  1903                                              items:
  1904                                                description: A node selector requirement
  1905                                                  is a selector that contains values,
  1906                                                  a key, and an operator that relates
  1907                                                  the key and values.
  1908                                                properties:
  1909                                                  key:
  1910                                                    description: The label key that the
  1911                                                      selector applies to.
  1912                                                    type: string
  1913                                                  operator:
  1914                                                    description: Represents a key's relationship
  1915                                                      to a set of values. Valid operators
  1916                                                      are In, NotIn, Exists, DoesNotExist.
  1917                                                      Gt, and Lt.
  1918                                                    type: string
  1919                                                  values:
  1920                                                    description: An array of string values.
  1921                                                      If the operator is In or NotIn,
  1922                                                      the values array must be non-empty.
  1923                                                      If the operator is Exists or DoesNotExist,
  1924                                                      the values array must be empty.
  1925                                                      If the operator is Gt or Lt, the
  1926                                                      values array must have a single
  1927                                                      element, which will be interpreted
  1928                                                      as an integer. This array is replaced
  1929                                                      during a strategic merge patch.
  1930                                                    items:
  1931                                                      type: string
  1932                                                    type: array
  1933                                                required:
  1934                                                  - key
  1935                                                  - operator
  1936                                                type: object
  1937                                              type: array
  1938                                            matchFields:
  1939                                              description: A list of node selector requirements
  1940                                                by node's fields.
  1941                                              items:
  1942                                                description: A node selector requirement
  1943                                                  is a selector that contains values,
  1944                                                  a key, and an operator that relates
  1945                                                  the key and values.
  1946                                                properties:
  1947                                                  key:
  1948                                                    description: The label key that the
  1949                                                      selector applies to.
  1950                                                    type: string
  1951                                                  operator:
  1952                                                    description: Represents a key's relationship
  1953                                                      to a set of values. Valid operators
  1954                                                      are In, NotIn, Exists, DoesNotExist.
  1955                                                      Gt, and Lt.
  1956                                                    type: string
  1957                                                  values:
  1958                                                    description: An array of string values.
  1959                                                      If the operator is In or NotIn,
  1960                                                      the values array must be non-empty.
  1961                                                      If the operator is Exists or DoesNotExist,
  1962                                                      the values array must be empty.
  1963                                                      If the operator is Gt or Lt, the
  1964                                                      values array must have a single
  1965                                                      element, which will be interpreted
  1966                                                      as an integer. This array is replaced
  1967                                                      during a strategic merge patch.
  1968                                                    items:
  1969                                                      type: string
  1970                                                    type: array
  1971                                                required:
  1972                                                  - key
  1973                                                  - operator
  1974                                                type: object
  1975                                              type: array
  1976                                          type: object
  1977                                        type: array
  1978                                    required:
  1979                                      - nodeSelectorTerms
  1980                                    type: object
  1981                                type: object
  1982                              podAffinity:
  1983                                description: Describes pod affinity scheduling rules (e.g.
  1984                                  co-locate this pod in the same node, zone, etc. as some
  1985                                  other pod(s)).
  1986                                properties:
  1987                                  preferredDuringSchedulingIgnoredDuringExecution:
  1988                                    description: The scheduler will prefer to schedule
  1989                                      pods to nodes that satisfy the affinity expressions
  1990                                      specified by this field, but it may choose a node
  1991                                      that violates one or more of the expressions. The
  1992                                      node that is most preferred is the one with the
  1993                                      greatest sum of weights, i.e. for each node that
  1994                                      meets all of the scheduling requirements (resource
  1995                                      request, requiredDuringScheduling affinity expressions,
  1996                                      etc.), compute a sum by iterating through the elements
  1997                                      of this field and adding "weight" to the sum if
  1998                                      the node has pods which matches the corresponding
  1999                                      podAffinityTerm; the node(s) with the highest sum
  2000                                      are the most preferred.
  2001                                    items:
  2002                                      description: The weights of all of the matched WeightedPodAffinityTerm
  2003                                        fields are added per-node to find the most preferred
  2004                                        node(s)
  2005                                      properties:
  2006                                        podAffinityTerm:
  2007                                          description: Required. A pod affinity term,
  2008                                            associated with the corresponding weight.
  2009                                          properties:
  2010                                            labelSelector:
  2011                                              description: A label query over a set of
  2012                                                resources, in this case pods.
  2013                                              properties:
  2014                                                matchExpressions:
  2015                                                  description: matchExpressions is a list
  2016                                                    of label selector requirements. The
  2017                                                    requirements are ANDed.
  2018                                                  items:
  2019                                                    description: A label selector requirement
  2020                                                      is a selector that contains values,
  2021                                                      a key, and an operator that relates
  2022                                                      the key and values.
  2023                                                    properties:
  2024                                                      key:
  2025                                                        description: key is the label
  2026                                                          key that the selector applies
  2027                                                          to.
  2028                                                        type: string
  2029                                                      operator:
  2030                                                        description: operator represents
  2031                                                          a key's relationship to a set
  2032                                                          of values. Valid operators are
  2033                                                          In, NotIn, Exists and DoesNotExist.
  2034                                                        type: string
  2035                                                      values:
  2036                                                        description: values is an array
  2037                                                          of string values. If the operator
  2038                                                          is In or NotIn, the values array
  2039                                                          must be non-empty. If the operator
  2040                                                          is Exists or DoesNotExist, the
  2041                                                          values array must be empty.
  2042                                                          This array is replaced during
  2043                                                          a strategic merge patch.
  2044                                                        items:
  2045                                                          type: string
  2046                                                        type: array
  2047                                                    required:
  2048                                                      - key
  2049                                                      - operator
  2050                                                    type: object
  2051                                                  type: array
  2052                                                matchLabels:
  2053                                                  additionalProperties:
  2054                                                    type: string
  2055                                                  description: matchLabels is a map of
  2056                                                    {key,value} pairs. A single {key,value}
  2057                                                    in the matchLabels map is equivalent
  2058                                                    to an element of matchExpressions,
  2059                                                    whose key field is "key", the operator
  2060                                                    is "In", and the values array contains
  2061                                                    only "value". The requirements are
  2062                                                    ANDed.
  2063                                                  type: object
  2064                                              type: object
  2065                                            namespaces:
  2066                                              description: namespaces specifies which
  2067                                                namespaces the labelSelector applies to
  2068                                                (matches against); null or empty list
  2069                                                means "this pod's namespace"
  2070                                              items:
  2071                                                type: string
  2072                                              type: array
  2073                                            topologyKey:
  2074                                              description: This pod should be co-located
  2075                                                (affinity) or not co-located (anti-affinity)
  2076                                                with the pods matching the labelSelector
  2077                                                in the specified namespaces, where co-located
  2078                                                is defined as running on a node whose
  2079                                                value of the label with key topologyKey
  2080                                                matches that of any node on which any
  2081                                                of the selected pods is running. Empty
  2082                                                topologyKey is not allowed.
  2083                                              type: string
  2084                                          required:
  2085                                            - topologyKey
  2086                                          type: object
  2087                                        weight:
  2088                                          description: weight associated with matching
  2089                                            the corresponding podAffinityTerm, in the
  2090                                            range 1-100.
  2091                                          format: int32
  2092                                          type: integer
  2093                                      required:
  2094                                        - podAffinityTerm
  2095                                        - weight
  2096                                      type: object
  2097                                    type: array
  2098                                  requiredDuringSchedulingIgnoredDuringExecution:
  2099                                    description: If the affinity requirements specified
  2100                                      by this field are not met at scheduling time, the
  2101                                      pod will not be scheduled onto the node. If the
  2102                                      affinity requirements specified by this field cease
  2103                                      to be met at some point during pod execution (e.g.
  2104                                      due to a pod label update), the system may or may
  2105                                      not try to eventually evict the pod from its node.
  2106                                      When there are multiple elements, the lists of nodes
  2107                                      corresponding to each podAffinityTerm are intersected,
  2108                                      i.e. all terms must be satisfied.
  2109                                    items:
  2110                                      description: Defines a set of pods (namely those
  2111                                        matching the labelSelector relative to the given
  2112                                        namespace(s)) that this pod should be co-located
  2113                                        (affinity) or not co-located (anti-affinity) with,
  2114                                        where co-located is defined as running on a node
  2115                                        whose value of the label with key <topologyKey>
  2116                                        matches that of any node on which a pod of the
  2117                                        set of pods is running
  2118                                      properties:
  2119                                        labelSelector:
  2120                                          description: A label query over a set of resources,
  2121                                            in this case pods.
  2122                                          properties:
  2123                                            matchExpressions:
  2124                                              description: matchExpressions is a list
  2125                                                of label selector requirements. The requirements
  2126                                                are ANDed.
  2127                                              items:
  2128                                                description: A label selector requirement
  2129                                                  is a selector that contains values,
  2130                                                  a key, and an operator that relates
  2131                                                  the key and values.
  2132                                                properties:
  2133                                                  key:
  2134                                                    description: key is the label key
  2135                                                      that the selector applies to.
  2136                                                    type: string
  2137                                                  operator:
  2138                                                    description: operator represents a
  2139                                                      key's relationship to a set of values.
  2140                                                      Valid operators are In, NotIn, Exists
  2141                                                      and DoesNotExist.
  2142                                                    type: string
  2143                                                  values:
  2144                                                    description: values is an array of
  2145                                                      string values. If the operator is
  2146                                                      In or NotIn, the values array must
  2147                                                      be non-empty. If the operator is
  2148                                                      Exists or DoesNotExist, the values
  2149                                                      array must be empty. This array
  2150                                                      is replaced during a strategic merge
  2151                                                      patch.
  2152                                                    items:
  2153                                                      type: string
  2154                                                    type: array
  2155                                                required:
  2156                                                  - key
  2157                                                  - operator
  2158                                                type: object
  2159                                              type: array
  2160                                            matchLabels:
  2161                                              additionalProperties:
  2162                                                type: string
  2163                                              description: matchLabels is a map of {key,value}
  2164                                                pairs. A single {key,value} in the matchLabels
  2165                                                map is equivalent to an element of matchExpressions,
  2166                                                whose key field is "key", the operator
  2167                                                is "In", and the values array contains
  2168                                                only "value". The requirements are ANDed.
  2169                                              type: object
  2170                                          type: object
  2171                                        namespaces:
  2172                                          description: namespaces specifies which namespaces
  2173                                            the labelSelector applies to (matches against);
  2174                                            null or empty list means "this pod's namespace"
  2175                                          items:
  2176                                            type: string
  2177                                          type: array
  2178                                        topologyKey:
  2179                                          description: This pod should be co-located (affinity)
  2180                                            or not co-located (anti-affinity) with the
  2181                                            pods matching the labelSelector in the specified
  2182                                            namespaces, where co-located is defined as
  2183                                            running on a node whose value of the label
  2184                                            with key topologyKey matches that of any node
  2185                                            on which any of the selected pods is running.
  2186                                            Empty topologyKey is not allowed.
  2187                                          type: string
  2188                                      required:
  2189                                        - topologyKey
  2190                                      type: object
  2191                                    type: array
  2192                                type: object
  2193                              podAntiAffinity:
  2194                                description: Describes pod anti-affinity scheduling rules
  2195                                  (e.g. avoid putting this pod in the same node, zone,
  2196                                  etc. as some other pod(s)).
  2197                                properties:
  2198                                  preferredDuringSchedulingIgnoredDuringExecution:
  2199                                    description: The scheduler will prefer to schedule
  2200                                      pods to nodes that satisfy the anti-affinity expressions
  2201                                      specified by this field, but it may choose a node
  2202                                      that violates one or more of the expressions. The
  2203                                      node that is most preferred is the one with the
  2204                                      greatest sum of weights, i.e. for each node that
  2205                                      meets all of the scheduling requirements (resource
  2206                                      request, requiredDuringScheduling anti-affinity
  2207                                      expressions, etc.), compute a sum by iterating through
  2208                                      the elements of this field and adding "weight" to
  2209                                      the sum if the node has pods which matches the corresponding
  2210                                      podAffinityTerm; the node(s) with the highest sum
  2211                                      are the most preferred.
  2212                                    items:
  2213                                      description: The weights of all of the matched WeightedPodAffinityTerm
  2214                                        fields are added per-node to find the most preferred
  2215                                        node(s)
  2216                                      properties:
  2217                                        podAffinityTerm:
  2218                                          description: Required. A pod affinity term,
  2219                                            associated with the corresponding weight.
  2220                                          properties:
  2221                                            labelSelector:
  2222                                              description: A label query over a set of
  2223                                                resources, in this case pods.
  2224                                              properties:
  2225                                                matchExpressions:
  2226                                                  description: matchExpressions is a list
  2227                                                    of label selector requirements. The
  2228                                                    requirements are ANDed.
  2229                                                  items:
  2230                                                    description: A label selector requirement
  2231                                                      is a selector that contains values,
  2232                                                      a key, and an operator that relates
  2233                                                      the key and values.
  2234                                                    properties:
  2235                                                      key:
  2236                                                        description: key is the label
  2237                                                          key that the selector applies
  2238                                                          to.
  2239                                                        type: string
  2240                                                      operator:
  2241                                                        description: operator represents
  2242                                                          a key's relationship to a set
  2243                                                          of values. Valid operators are
  2244                                                          In, NotIn, Exists and DoesNotExist.
  2245                                                        type: string
  2246                                                      values:
  2247                                                        description: values is an array
  2248                                                          of string values. If the operator
  2249                                                          is In or NotIn, the values array
  2250                                                          must be non-empty. If the operator
  2251                                                          is Exists or DoesNotExist, the
  2252                                                          values array must be empty.
  2253                                                          This array is replaced during
  2254                                                          a strategic merge patch.
  2255                                                        items:
  2256                                                          type: string
  2257                                                        type: array
  2258                                                    required:
  2259                                                      - key
  2260                                                      - operator
  2261                                                    type: object
  2262                                                  type: array
  2263                                                matchLabels:
  2264                                                  additionalProperties:
  2265                                                    type: string
  2266                                                  description: matchLabels is a map of
  2267                                                    {key,value} pairs. A single {key,value}
  2268                                                    in the matchLabels map is equivalent
  2269                                                    to an element of matchExpressions,
  2270                                                    whose key field is "key", the operator
  2271                                                    is "In", and the values array contains
  2272                                                    only "value". The requirements are
  2273                                                    ANDed.
  2274                                                  type: object
  2275                                              type: object
  2276                                            namespaces:
  2277                                              description: namespaces specifies which
  2278                                                namespaces the labelSelector applies to
  2279                                                (matches against); null or empty list
  2280                                                means "this pod's namespace"
  2281                                              items:
  2282                                                type: string
  2283                                              type: array
  2284                                            topologyKey:
  2285                                              description: This pod should be co-located
  2286                                                (affinity) or not co-located (anti-affinity)
  2287                                                with the pods matching the labelSelector
  2288                                                in the specified namespaces, where co-located
  2289                                                is defined as running on a node whose
  2290                                                value of the label with key topologyKey
  2291                                                matches that of any node on which any
  2292                                                of the selected pods is running. Empty
  2293                                                topologyKey is not allowed.
  2294                                              type: string
  2295                                          required:
  2296                                            - topologyKey
  2297                                          type: object
  2298                                        weight:
  2299                                          description: weight associated with matching
  2300                                            the corresponding podAffinityTerm, in the
  2301                                            range 1-100.
  2302                                          format: int32
  2303                                          type: integer
  2304                                      required:
  2305                                        - podAffinityTerm
  2306                                        - weight
  2307                                      type: object
  2308                                    type: array
  2309                                  requiredDuringSchedulingIgnoredDuringExecution:
  2310                                    description: If the anti-affinity requirements specified
  2311                                      by this field are not met at scheduling time, the
  2312                                      pod will not be scheduled onto the node. If the
  2313                                      anti-affinity requirements specified by this field
  2314                                      cease to be met at some point during pod execution
  2315                                      (e.g. due to a pod label update), the system may
  2316                                      or may not try to eventually evict the pod from
  2317                                      its node. When there are multiple elements, the
  2318                                      lists of nodes corresponding to each podAffinityTerm
  2319                                      are intersected, i.e. all terms must be satisfied.
  2320                                    items:
  2321                                      description: Defines a set of pods (namely those
  2322                                        matching the labelSelector relative to the given
  2323                                        namespace(s)) that this pod should be co-located
  2324                                        (affinity) or not co-located (anti-affinity) with,
  2325                                        where co-located is defined as running on a node
  2326                                        whose value of the label with key <topologyKey>
  2327                                        matches that of any node on which a pod of the
  2328                                        set of pods is running
  2329                                      properties:
  2330                                        labelSelector:
  2331                                          description: A label query over a set of resources,
  2332                                            in this case pods.
  2333                                          properties:
  2334                                            matchExpressions:
  2335                                              description: matchExpressions is a list
  2336                                                of label selector requirements. The requirements
  2337                                                are ANDed.
  2338                                              items:
  2339                                                description: A label selector requirement
  2340                                                  is a selector that contains values,
  2341                                                  a key, and an operator that relates
  2342                                                  the key and values.
  2343                                                properties:
  2344                                                  key:
  2345                                                    description: key is the label key
  2346                                                      that the selector applies to.
  2347                                                    type: string
  2348                                                  operator:
  2349                                                    description: operator represents a
  2350                                                      key's relationship to a set of values.
  2351                                                      Valid operators are In, NotIn, Exists
  2352                                                      and DoesNotExist.
  2353                                                    type: string
  2354                                                  values:
  2355                                                    description: values is an array of
  2356                                                      string values. If the operator is
  2357                                                      In or NotIn, the values array must
  2358                                                      be non-empty. If the operator is
  2359                                                      Exists or DoesNotExist, the values
  2360                                                      array must be empty. This array
  2361                                                      is replaced during a strategic merge
  2362                                                      patch.
  2363                                                    items:
  2364                                                      type: string
  2365                                                    type: array
  2366                                                required:
  2367                                                  - key
  2368                                                  - operator
  2369                                                type: object
  2370                                              type: array
  2371                                            matchLabels:
  2372                                              additionalProperties:
  2373                                                type: string
  2374                                              description: matchLabels is a map of {key,value}
  2375                                                pairs. A single {key,value} in the matchLabels
  2376                                                map is equivalent to an element of matchExpressions,
  2377                                                whose key field is "key", the operator
  2378                                                is "In", and the values array contains
  2379                                                only "value". The requirements are ANDed.
  2380                                              type: object
  2381                                          type: object
  2382                                        namespaces:
  2383                                          description: namespaces specifies which namespaces
  2384                                            the labelSelector applies to (matches against);
  2385                                            null or empty list means "this pod's namespace"
  2386                                          items:
  2387                                            type: string
  2388                                          type: array
  2389                                        topologyKey:
  2390                                          description: This pod should be co-located (affinity)
  2391                                            or not co-located (anti-affinity) with the
  2392                                            pods matching the labelSelector in the specified
  2393                                            namespaces, where co-located is defined as
  2394                                            running on a node whose value of the label
  2395                                            with key topologyKey matches that of any node
  2396                                            on which any of the selected pods is running.
  2397                                            Empty topologyKey is not allowed.
  2398                                          type: string
  2399                                      required:
  2400                                        - topologyKey
  2401                                      type: object
  2402                                    type: array
  2403                                type: object
  2404                            type: object
  2405                          nodeSelector:
  2406                            additionalProperties:
  2407                              type: string
  2408                            description: NodeSelector is the labels that will be used
  2409                              to select a node for pod scheduling
  2410                            type: object
  2411                          resources:
  2412                            description: Resources are the compute resources required
  2413                              by the jiva container.
  2414                            properties:
  2415                              limits:
  2416                                additionalProperties:
  2417                                  anyOf:
  2418                                    - type: integer
  2419                                    - type: string
  2420                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2421                                  x-kubernetes-int-or-string: true
  2422                                description: 'Limits describes the maximum amount of compute
  2423                                resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  2424                                type: object
  2425                              requests:
  2426                                additionalProperties:
  2427                                  anyOf:
  2428                                    - type: integer
  2429                                    - type: string
  2430                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2431                                  x-kubernetes-int-or-string: true
  2432                                description: 'Requests describes the minimum amount of
  2433                                compute resources required. If Requests is omitted for
  2434                                a container, it defaults to Limits if that is explicitly
  2435                                specified, otherwise to an implementation-defined value.
  2436                                More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  2437                                type: object
  2438                            type: object
  2439                          tolerations:
  2440                            description: Tolerations, if specified, are the pod's tolerations
  2441                            items:
  2442                              description: The pod this Toleration is attached to tolerates
  2443                                any taint that matches the triple <key,value,effect> using
  2444                                the matching operator <operator>.
  2445                              properties:
  2446                                effect:
  2447                                  description: Effect indicates the taint effect to match.
  2448                                    Empty means match all taint effects. When specified,
  2449                                    allowed values are NoSchedule, PreferNoSchedule and
  2450                                    NoExecute.
  2451                                  type: string
  2452                                key:
  2453                                  description: Key is the taint key that the toleration
  2454                                    applies to. Empty means match all taint keys. If the
  2455                                    key is empty, operator must be Exists; this combination
  2456                                    means to match all values and all keys.
  2457                                  type: string
  2458                                operator:
  2459                                  description: Operator represents a key's relationship
  2460                                    to the value. Valid operators are Exists and Equal.
  2461                                    Defaults to Equal. Exists is equivalent to wildcard
  2462                                    for value, so that a pod can tolerate all taints of
  2463                                    a particular category.
  2464                                  type: string
  2465                                tolerationSeconds:
  2466                                  description: TolerationSeconds represents the period
  2467                                    of time the toleration (which must be of effect NoExecute,
  2468                                    otherwise this field is ignored) tolerates the taint.
  2469                                    By default, it is not set, which means tolerate the
  2470                                    taint forever (do not evict). Zero and negative values
  2471                                    will be treated as 0 (evict immediately) by the system.
  2472                                  format: int64
  2473                                  type: integer
  2474                                value:
  2475                                  description: Value is the taint value the toleration
  2476                                    matches to. If the operator is Exists, the value should
  2477                                    be empty, otherwise just a regular string.
  2478                                  type: string
  2479                              type: object
  2480                            type: array
  2481                        type: object
  2482                      replicaSC:
  2483                        description: ReplicaSC represents the storage class used for creating
  2484                          the pvc for the replicas (provisioned by localpv provisioner)
  2485                        type: string
  2486                      serviceAccountName:
  2487                        description: ServiceAccountName can be provided to enable PSP
  2488                        type: string
  2489                      target:
  2490                        description: TargetSpec represents configuration related to jiva
  2491                          target and its resources
  2492                        nullable: true
  2493                        properties:
  2494                          affinity:
  2495                            description: Affinity if specified, are the pod's affinities
  2496                            properties:
  2497                              nodeAffinity:
  2498                                description: Describes node affinity scheduling rules
  2499                                  for the pod.
  2500                                properties:
  2501                                  preferredDuringSchedulingIgnoredDuringExecution:
  2502                                    description: The scheduler will prefer to schedule
  2503                                      pods to nodes that satisfy the affinity expressions
  2504                                      specified by this field, but it may choose a node
  2505                                      that violates one or more of the expressions. The
  2506                                      node that is most preferred is the one with the
  2507                                      greatest sum of weights, i.e. for each node that
  2508                                      meets all of the scheduling requirements (resource
  2509                                      request, requiredDuringScheduling affinity expressions,
  2510                                      etc.), compute a sum by iterating through the elements
  2511                                      of this field and adding "weight" to the sum if
  2512                                      the node matches the corresponding matchExpressions;
  2513                                      the node(s) with the highest sum are the most preferred.
  2514                                    items:
  2515                                      description: An empty preferred scheduling term
  2516                                        matches all objects with implicit weight 0 (i.e.
  2517                                        it's a no-op). A null preferred scheduling term
  2518                                        matches no objects (i.e. is also a no-op).
  2519                                      properties:
  2520                                        preference:
  2521                                          description: A node selector term, associated
  2522                                            with the corresponding weight.
  2523                                          properties:
  2524                                            matchExpressions:
  2525                                              description: A list of node selector requirements
  2526                                                by node's labels.
  2527                                              items:
  2528                                                description: A node selector requirement
  2529                                                  is a selector that contains values,
  2530                                                  a key, and an operator that relates
  2531                                                  the key and values.
  2532                                                properties:
  2533                                                  key:
  2534                                                    description: The label key that the
  2535                                                      selector applies to.
  2536                                                    type: string
  2537                                                  operator:
  2538                                                    description: Represents a key's relationship
  2539                                                      to a set of values. Valid operators
  2540                                                      are In, NotIn, Exists, DoesNotExist.
  2541                                                      Gt, and Lt.
  2542                                                    type: string
  2543                                                  values:
  2544                                                    description: An array of string values.
  2545                                                      If the operator is In or NotIn,
  2546                                                      the values array must be non-empty.
  2547                                                      If the operator is Exists or DoesNotExist,
  2548                                                      the values array must be empty.
  2549                                                      If the operator is Gt or Lt, the
  2550                                                      values array must have a single
  2551                                                      element, which will be interpreted
  2552                                                      as an integer. This array is replaced
  2553                                                      during a strategic merge patch.
  2554                                                    items:
  2555                                                      type: string
  2556                                                    type: array
  2557                                                required:
  2558                                                  - key
  2559                                                  - operator
  2560                                                type: object
  2561                                              type: array
  2562                                            matchFields:
  2563                                              description: A list of node selector requirements
  2564                                                by node's fields.
  2565                                              items:
  2566                                                description: A node selector requirement
  2567                                                  is a selector that contains values,
  2568                                                  a key, and an operator that relates
  2569                                                  the key and values.
  2570                                                properties:
  2571                                                  key:
  2572                                                    description: The label key that the
  2573                                                      selector applies to.
  2574                                                    type: string
  2575                                                  operator:
  2576                                                    description: Represents a key's relationship
  2577                                                      to a set of values. Valid operators
  2578                                                      are In, NotIn, Exists, DoesNotExist.
  2579                                                      Gt, and Lt.
  2580                                                    type: string
  2581                                                  values:
  2582                                                    description: An array of string values.
  2583                                                      If the operator is In or NotIn,
  2584                                                      the values array must be non-empty.
  2585                                                      If the operator is Exists or DoesNotExist,
  2586                                                      the values array must be empty.
  2587                                                      If the operator is Gt or Lt, the
  2588                                                      values array must have a single
  2589                                                      element, which will be interpreted
  2590                                                      as an integer. This array is replaced
  2591                                                      during a strategic merge patch.
  2592                                                    items:
  2593                                                      type: string
  2594                                                    type: array
  2595                                                required:
  2596                                                  - key
  2597                                                  - operator
  2598                                                type: object
  2599                                              type: array
  2600                                          type: object
  2601                                        weight:
  2602                                          description: Weight associated with matching
  2603                                            the corresponding nodeSelectorTerm, in the
  2604                                            range 1-100.
  2605                                          format: int32
  2606                                          type: integer
  2607                                      required:
  2608                                        - preference
  2609                                        - weight
  2610                                      type: object
  2611                                    type: array
  2612                                  requiredDuringSchedulingIgnoredDuringExecution:
  2613                                    description: If the affinity requirements specified
  2614                                      by this field are not met at scheduling time, the
  2615                                      pod will not be scheduled onto the node. If the
  2616                                      affinity requirements specified by this field cease
  2617                                      to be met at some point during pod execution (e.g.
  2618                                      due to an update), the system may or may not try
  2619                                      to eventually evict the pod from its node.
  2620                                    properties:
  2621                                      nodeSelectorTerms:
  2622                                        description: Required. A list of node selector
  2623                                          terms. The terms are ORed.
  2624                                        items:
  2625                                          description: A null or empty node selector term
  2626                                            matches no objects. The requirements of them
  2627                                            are ANDed. The TopologySelectorTerm type implements
  2628                                            a subset of the NodeSelectorTerm.
  2629                                          properties:
  2630                                            matchExpressions:
  2631                                              description: A list of node selector requirements
  2632                                                by node's labels.
  2633                                              items:
  2634                                                description: A node selector requirement
  2635                                                  is a selector that contains values,
  2636                                                  a key, and an operator that relates
  2637                                                  the key and values.
  2638                                                properties:
  2639                                                  key:
  2640                                                    description: The label key that the
  2641                                                      selector applies to.
  2642                                                    type: string
  2643                                                  operator:
  2644                                                    description: Represents a key's relationship
  2645                                                      to a set of values. Valid operators
  2646                                                      are In, NotIn, Exists, DoesNotExist.
  2647                                                      Gt, and Lt.
  2648                                                    type: string
  2649                                                  values:
  2650                                                    description: An array of string values.
  2651                                                      If the operator is In or NotIn,
  2652                                                      the values array must be non-empty.
  2653                                                      If the operator is Exists or DoesNotExist,
  2654                                                      the values array must be empty.
  2655                                                      If the operator is Gt or Lt, the
  2656                                                      values array must have a single
  2657                                                      element, which will be interpreted
  2658                                                      as an integer. This array is replaced
  2659                                                      during a strategic merge patch.
  2660                                                    items:
  2661                                                      type: string
  2662                                                    type: array
  2663                                                required:
  2664                                                  - key
  2665                                                  - operator
  2666                                                type: object
  2667                                              type: array
  2668                                            matchFields:
  2669                                              description: A list of node selector requirements
  2670                                                by node's fields.
  2671                                              items:
  2672                                                description: A node selector requirement
  2673                                                  is a selector that contains values,
  2674                                                  a key, and an operator that relates
  2675                                                  the key and values.
  2676                                                properties:
  2677                                                  key:
  2678                                                    description: The label key that the
  2679                                                      selector applies to.
  2680                                                    type: string
  2681                                                  operator:
  2682                                                    description: Represents a key's relationship
  2683                                                      to a set of values. Valid operators
  2684                                                      are In, NotIn, Exists, DoesNotExist.
  2685                                                      Gt, and Lt.
  2686                                                    type: string
  2687                                                  values:
  2688                                                    description: An array of string values.
  2689                                                      If the operator is In or NotIn,
  2690                                                      the values array must be non-empty.
  2691                                                      If the operator is Exists or DoesNotExist,
  2692                                                      the values array must be empty.
  2693                                                      If the operator is Gt or Lt, the
  2694                                                      values array must have a single
  2695                                                      element, which will be interpreted
  2696                                                      as an integer. This array is replaced
  2697                                                      during a strategic merge patch.
  2698                                                    items:
  2699                                                      type: string
  2700                                                    type: array
  2701                                                required:
  2702                                                  - key
  2703                                                  - operator
  2704                                                type: object
  2705                                              type: array
  2706                                          type: object
  2707                                        type: array
  2708                                    required:
  2709                                      - nodeSelectorTerms
  2710                                    type: object
  2711                                type: object
  2712                              podAffinity:
  2713                                description: Describes pod affinity scheduling rules (e.g.
  2714                                  co-locate this pod in the same node, zone, etc. as some
  2715                                  other pod(s)).
  2716                                properties:
  2717                                  preferredDuringSchedulingIgnoredDuringExecution:
  2718                                    description: The scheduler will prefer to schedule
  2719                                      pods to nodes that satisfy the affinity expressions
  2720                                      specified by this field, but it may choose a node
  2721                                      that violates one or more of the expressions. The
  2722                                      node that is most preferred is the one with the
  2723                                      greatest sum of weights, i.e. for each node that
  2724                                      meets all of the scheduling requirements (resource
  2725                                      request, requiredDuringScheduling affinity expressions,
  2726                                      etc.), compute a sum by iterating through the elements
  2727                                      of this field and adding "weight" to the sum if
  2728                                      the node has pods which matches the corresponding
  2729                                      podAffinityTerm; the node(s) with the highest sum
  2730                                      are the most preferred.
  2731                                    items:
  2732                                      description: The weights of all of the matched WeightedPodAffinityTerm
  2733                                        fields are added per-node to find the most preferred
  2734                                        node(s)
  2735                                      properties:
  2736                                        podAffinityTerm:
  2737                                          description: Required. A pod affinity term,
  2738                                            associated with the corresponding weight.
  2739                                          properties:
  2740                                            labelSelector:
  2741                                              description: A label query over a set of
  2742                                                resources, in this case pods.
  2743                                              properties:
  2744                                                matchExpressions:
  2745                                                  description: matchExpressions is a list
  2746                                                    of label selector requirements. The
  2747                                                    requirements are ANDed.
  2748                                                  items:
  2749                                                    description: A label selector requirement
  2750                                                      is a selector that contains values,
  2751                                                      a key, and an operator that relates
  2752                                                      the key and values.
  2753                                                    properties:
  2754                                                      key:
  2755                                                        description: key is the label
  2756                                                          key that the selector applies
  2757                                                          to.
  2758                                                        type: string
  2759                                                      operator:
  2760                                                        description: operator represents
  2761                                                          a key's relationship to a set
  2762                                                          of values. Valid operators are
  2763                                                          In, NotIn, Exists and DoesNotExist.
  2764                                                        type: string
  2765                                                      values:
  2766                                                        description: values is an array
  2767                                                          of string values. If the operator
  2768                                                          is In or NotIn, the values array
  2769                                                          must be non-empty. If the operator
  2770                                                          is Exists or DoesNotExist, the
  2771                                                          values array must be empty.
  2772                                                          This array is replaced during
  2773                                                          a strategic merge patch.
  2774                                                        items:
  2775                                                          type: string
  2776                                                        type: array
  2777                                                    required:
  2778                                                      - key
  2779                                                      - operator
  2780                                                    type: object
  2781                                                  type: array
  2782                                                matchLabels:
  2783                                                  additionalProperties:
  2784                                                    type: string
  2785                                                  description: matchLabels is a map of
  2786                                                    {key,value} pairs. A single {key,value}
  2787                                                    in the matchLabels map is equivalent
  2788                                                    to an element of matchExpressions,
  2789                                                    whose key field is "key", the operator
  2790                                                    is "In", and the values array contains
  2791                                                    only "value". The requirements are
  2792                                                    ANDed.
  2793                                                  type: object
  2794                                              type: object
  2795                                            namespaces:
  2796                                              description: namespaces specifies which
  2797                                                namespaces the labelSelector applies to
  2798                                                (matches against); null or empty list
  2799                                                means "this pod's namespace"
  2800                                              items:
  2801                                                type: string
  2802                                              type: array
  2803                                            topologyKey:
  2804                                              description: This pod should be co-located
  2805                                                (affinity) or not co-located (anti-affinity)
  2806                                                with the pods matching the labelSelector
  2807                                                in the specified namespaces, where co-located
  2808                                                is defined as running on a node whose
  2809                                                value of the label with key topologyKey
  2810                                                matches that of any node on which any
  2811                                                of the selected pods is running. Empty
  2812                                                topologyKey is not allowed.
  2813                                              type: string
  2814                                          required:
  2815                                            - topologyKey
  2816                                          type: object
  2817                                        weight:
  2818                                          description: weight associated with matching
  2819                                            the corresponding podAffinityTerm, in the
  2820                                            range 1-100.
  2821                                          format: int32
  2822                                          type: integer
  2823                                      required:
  2824                                        - podAffinityTerm
  2825                                        - weight
  2826                                      type: object
  2827                                    type: array
  2828                                  requiredDuringSchedulingIgnoredDuringExecution:
  2829                                    description: If the affinity requirements specified
  2830                                      by this field are not met at scheduling time, the
  2831                                      pod will not be scheduled onto the node. If the
  2832                                      affinity requirements specified by this field cease
  2833                                      to be met at some point during pod execution (e.g.
  2834                                      due to a pod label update), the system may or may
  2835                                      not try to eventually evict the pod from its node.
  2836                                      When there are multiple elements, the lists of nodes
  2837                                      corresponding to each podAffinityTerm are intersected,
  2838                                      i.e. all terms must be satisfied.
  2839                                    items:
  2840                                      description: Defines a set of pods (namely those
  2841                                        matching the labelSelector relative to the given
  2842                                        namespace(s)) that this pod should be co-located
  2843                                        (affinity) or not co-located (anti-affinity) with,
  2844                                        where co-located is defined as running on a node
  2845                                        whose value of the label with key <topologyKey>
  2846                                        matches that of any node on which a pod of the
  2847                                        set of pods is running
  2848                                      properties:
  2849                                        labelSelector:
  2850                                          description: A label query over a set of resources,
  2851                                            in this case pods.
  2852                                          properties:
  2853                                            matchExpressions:
  2854                                              description: matchExpressions is a list
  2855                                                of label selector requirements. The requirements
  2856                                                are ANDed.
  2857                                              items:
  2858                                                description: A label selector requirement
  2859                                                  is a selector that contains values,
  2860                                                  a key, and an operator that relates
  2861                                                  the key and values.
  2862                                                properties:
  2863                                                  key:
  2864                                                    description: key is the label key
  2865                                                      that the selector applies to.
  2866                                                    type: string
  2867                                                  operator:
  2868                                                    description: operator represents a
  2869                                                      key's relationship to a set of values.
  2870                                                      Valid operators are In, NotIn, Exists
  2871                                                      and DoesNotExist.
  2872                                                    type: string
  2873                                                  values:
  2874                                                    description: values is an array of
  2875                                                      string values. If the operator is
  2876                                                      In or NotIn, the values array must
  2877                                                      be non-empty. If the operator is
  2878                                                      Exists or DoesNotExist, the values
  2879                                                      array must be empty. This array
  2880                                                      is replaced during a strategic merge
  2881                                                      patch.
  2882                                                    items:
  2883                                                      type: string
  2884                                                    type: array
  2885                                                required:
  2886                                                  - key
  2887                                                  - operator
  2888                                                type: object
  2889                                              type: array
  2890                                            matchLabels:
  2891                                              additionalProperties:
  2892                                                type: string
  2893                                              description: matchLabels is a map of {key,value}
  2894                                                pairs. A single {key,value} in the matchLabels
  2895                                                map is equivalent to an element of matchExpressions,
  2896                                                whose key field is "key", the operator
  2897                                                is "In", and the values array contains
  2898                                                only "value". The requirements are ANDed.
  2899                                              type: object
  2900                                          type: object
  2901                                        namespaces:
  2902                                          description: namespaces specifies which namespaces
  2903                                            the labelSelector applies to (matches against);
  2904                                            null or empty list means "this pod's namespace"
  2905                                          items:
  2906                                            type: string
  2907                                          type: array
  2908                                        topologyKey:
  2909                                          description: This pod should be co-located (affinity)
  2910                                            or not co-located (anti-affinity) with the
  2911                                            pods matching the labelSelector in the specified
  2912                                            namespaces, where co-located is defined as
  2913                                            running on a node whose value of the label
  2914                                            with key topologyKey matches that of any node
  2915                                            on which any of the selected pods is running.
  2916                                            Empty topologyKey is not allowed.
  2917                                          type: string
  2918                                      required:
  2919                                        - topologyKey
  2920                                      type: object
  2921                                    type: array
  2922                                type: object
  2923                              podAntiAffinity:
  2924                                description: Describes pod anti-affinity scheduling rules
  2925                                  (e.g. avoid putting this pod in the same node, zone,
  2926                                  etc. as some other pod(s)).
  2927                                properties:
  2928                                  preferredDuringSchedulingIgnoredDuringExecution:
  2929                                    description: The scheduler will prefer to schedule
  2930                                      pods to nodes that satisfy the anti-affinity expressions
  2931                                      specified by this field, but it may choose a node
  2932                                      that violates one or more of the expressions. The
  2933                                      node that is most preferred is the one with the
  2934                                      greatest sum of weights, i.e. for each node that
  2935                                      meets all of the scheduling requirements (resource
  2936                                      request, requiredDuringScheduling anti-affinity
  2937                                      expressions, etc.), compute a sum by iterating through
  2938                                      the elements of this field and adding "weight" to
  2939                                      the sum if the node has pods which matches the corresponding
  2940                                      podAffinityTerm; the node(s) with the highest sum
  2941                                      are the most preferred.
  2942                                    items:
  2943                                      description: The weights of all of the matched WeightedPodAffinityTerm
  2944                                        fields are added per-node to find the most preferred
  2945                                        node(s)
  2946                                      properties:
  2947                                        podAffinityTerm:
  2948                                          description: Required. A pod affinity term,
  2949                                            associated with the corresponding weight.
  2950                                          properties:
  2951                                            labelSelector:
  2952                                              description: A label query over a set of
  2953                                                resources, in this case pods.
  2954                                              properties:
  2955                                                matchExpressions:
  2956                                                  description: matchExpressions is a list
  2957                                                    of label selector requirements. The
  2958                                                    requirements are ANDed.
  2959                                                  items:
  2960                                                    description: A label selector requirement
  2961                                                      is a selector that contains values,
  2962                                                      a key, and an operator that relates
  2963                                                      the key and values.
  2964                                                    properties:
  2965                                                      key:
  2966                                                        description: key is the label
  2967                                                          key that the selector applies
  2968                                                          to.
  2969                                                        type: string
  2970                                                      operator:
  2971                                                        description: operator represents
  2972                                                          a key's relationship to a set
  2973                                                          of values. Valid operators are
  2974                                                          In, NotIn, Exists and DoesNotExist.
  2975                                                        type: string
  2976                                                      values:
  2977                                                        description: values is an array
  2978                                                          of string values. If the operator
  2979                                                          is In or NotIn, the values array
  2980                                                          must be non-empty. If the operator
  2981                                                          is Exists or DoesNotExist, the
  2982                                                          values array must be empty.
  2983                                                          This array is replaced during
  2984                                                          a strategic merge patch.
  2985                                                        items:
  2986                                                          type: string
  2987                                                        type: array
  2988                                                    required:
  2989                                                      - key
  2990                                                      - operator
  2991                                                    type: object
  2992                                                  type: array
  2993                                                matchLabels:
  2994                                                  additionalProperties:
  2995                                                    type: string
  2996                                                  description: matchLabels is a map of
  2997                                                    {key,value} pairs. A single {key,value}
  2998                                                    in the matchLabels map is equivalent
  2999                                                    to an element of matchExpressions,
  3000                                                    whose key field is "key", the operator
  3001                                                    is "In", and the values array contains
  3002                                                    only "value". The requirements are
  3003                                                    ANDed.
  3004                                                  type: object
  3005                                              type: object
  3006                                            namespaces:
  3007                                              description: namespaces specifies which
  3008                                                namespaces the labelSelector applies to
  3009                                                (matches against); null or empty list
  3010                                                means "this pod's namespace"
  3011                                              items:
  3012                                                type: string
  3013                                              type: array
  3014                                            topologyKey:
  3015                                              description: This pod should be co-located
  3016                                                (affinity) or not co-located (anti-affinity)
  3017                                                with the pods matching the labelSelector
  3018                                                in the specified namespaces, where co-located
  3019                                                is defined as running on a node whose
  3020                                                value of the label with key topologyKey
  3021                                                matches that of any node on which any
  3022                                                of the selected pods is running. Empty
  3023                                                topologyKey is not allowed.
  3024                                              type: string
  3025                                          required:
  3026                                            - topologyKey
  3027                                          type: object
  3028                                        weight:
  3029                                          description: weight associated with matching
  3030                                            the corresponding podAffinityTerm, in the
  3031                                            range 1-100.
  3032                                          format: int32
  3033                                          type: integer
  3034                                      required:
  3035                                        - podAffinityTerm
  3036                                        - weight
  3037                                      type: object
  3038                                    type: array
  3039                                  requiredDuringSchedulingIgnoredDuringExecution:
  3040                                    description: If the anti-affinity requirements specified
  3041                                      by this field are not met at scheduling time, the
  3042                                      pod will not be scheduled onto the node. If the
  3043                                      anti-affinity requirements specified by this field
  3044                                      cease to be met at some point during pod execution
  3045                                      (e.g. due to a pod label update), the system may
  3046                                      or may not try to eventually evict the pod from
  3047                                      its node. When there are multiple elements, the
  3048                                      lists of nodes corresponding to each podAffinityTerm
  3049                                      are intersected, i.e. all terms must be satisfied.
  3050                                    items:
  3051                                      description: Defines a set of pods (namely those
  3052                                        matching the labelSelector relative to the given
  3053                                        namespace(s)) that this pod should be co-located
  3054                                        (affinity) or not co-located (anti-affinity) with,
  3055                                        where co-located is defined as running on a node
  3056                                        whose value of the label with key <topologyKey>
  3057                                        matches that of any node on which a pod of the
  3058                                        set of pods is running
  3059                                      properties:
  3060                                        labelSelector:
  3061                                          description: A label query over a set of resources,
  3062                                            in this case pods.
  3063                                          properties:
  3064                                            matchExpressions:
  3065                                              description: matchExpressions is a list
  3066                                                of label selector requirements. The requirements
  3067                                                are ANDed.
  3068                                              items:
  3069                                                description: A label selector requirement
  3070                                                  is a selector that contains values,
  3071                                                  a key, and an operator that relates
  3072                                                  the key and values.
  3073                                                properties:
  3074                                                  key:
  3075                                                    description: key is the label key
  3076                                                      that the selector applies to.
  3077                                                    type: string
  3078                                                  operator:
  3079                                                    description: operator represents a
  3080                                                      key's relationship to a set of values.
  3081                                                      Valid operators are In, NotIn, Exists
  3082                                                      and DoesNotExist.
  3083                                                    type: string
  3084                                                  values:
  3085                                                    description: values is an array of
  3086                                                      string values. If the operator is
  3087                                                      In or NotIn, the values array must
  3088                                                      be non-empty. If the operator is
  3089                                                      Exists or DoesNotExist, the values
  3090                                                      array must be empty. This array
  3091                                                      is replaced during a strategic merge
  3092                                                      patch.
  3093                                                    items:
  3094                                                      type: string
  3095                                                    type: array
  3096                                                required:
  3097                                                  - key
  3098                                                  - operator
  3099                                                type: object
  3100                                              type: array
  3101                                            matchLabels:
  3102                                              additionalProperties:
  3103                                                type: string
  3104                                              description: matchLabels is a map of {key,value}
  3105                                                pairs. A single {key,value} in the matchLabels
  3106                                                map is equivalent to an element of matchExpressions,
  3107                                                whose key field is "key", the operator
  3108                                                is "In", and the values array contains
  3109                                                only "value". The requirements are ANDed.
  3110                                              type: object
  3111                                          type: object
  3112                                        namespaces:
  3113                                          description: namespaces specifies which namespaces
  3114                                            the labelSelector applies to (matches against);
  3115                                            null or empty list means "this pod's namespace"
  3116                                          items:
  3117                                            type: string
  3118                                          type: array
  3119                                        topologyKey:
  3120                                          description: This pod should be co-located (affinity)
  3121                                            or not co-located (anti-affinity) with the
  3122                                            pods matching the labelSelector in the specified
  3123                                            namespaces, where co-located is defined as
  3124                                            running on a node whose value of the label
  3125                                            with key topologyKey matches that of any node
  3126                                            on which any of the selected pods is running.
  3127                                            Empty topologyKey is not allowed.
  3128                                          type: string
  3129                                      required:
  3130                                        - topologyKey
  3131                                      type: object
  3132                                    type: array
  3133                                type: object
  3134                            type: object
  3135                          auxResources:
  3136                            description: AuxResources are the compute resources required
  3137                              by the jiva-target pod side car containers.
  3138                            properties:
  3139                              limits:
  3140                                additionalProperties:
  3141                                  anyOf:
  3142                                    - type: integer
  3143                                    - type: string
  3144                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3145                                  x-kubernetes-int-or-string: true
  3146                                description: 'Limits describes the maximum amount of compute
  3147                                resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  3148                                type: object
  3149                              requests:
  3150                                additionalProperties:
  3151                                  anyOf:
  3152                                    - type: integer
  3153                                    - type: string
  3154                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3155                                  x-kubernetes-int-or-string: true
  3156                                description: 'Requests describes the minimum amount of
  3157                                compute resources required. If Requests is omitted for
  3158                                a container, it defaults to Limits if that is explicitly
  3159                                specified, otherwise to an implementation-defined value.
  3160                                More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  3161                                type: object
  3162                            type: object
  3163                          monitor:
  3164                            description: Monitor enables or disables the target exporter
  3165                              sidecar
  3166                            type: boolean
  3167                          nodeSelector:
  3168                            additionalProperties:
  3169                              type: string
  3170                            description: NodeSelector is the labels that will be used
  3171                              to select a node for pod scheduling
  3172                            type: object
  3173                          replicationFactor:
  3174                            description: ReplicationFactor represents maximum number of
  3175                              replicas that are allowed to connect to the target
  3176                            type: integer
  3177                          resources:
  3178                            description: Resources are the compute resources required
  3179                              by the jiva container.
  3180                            properties:
  3181                              limits:
  3182                                additionalProperties:
  3183                                  anyOf:
  3184                                    - type: integer
  3185                                    - type: string
  3186                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3187                                  x-kubernetes-int-or-string: true
  3188                                description: 'Limits describes the maximum amount of compute
  3189                                resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  3190                                type: object
  3191                              requests:
  3192                                additionalProperties:
  3193                                  anyOf:
  3194                                    - type: integer
  3195                                    - type: string
  3196                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3197                                  x-kubernetes-int-or-string: true
  3198                                description: 'Requests describes the minimum amount of
  3199                                compute resources required. If Requests is omitted for
  3200                                a container, it defaults to Limits if that is explicitly
  3201                                specified, otherwise to an implementation-defined value.
  3202                                More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  3203                                type: object
  3204                            type: object
  3205                          tolerations:
  3206                            description: Tolerations, if specified, are the pod's tolerations
  3207                            items:
  3208                              description: The pod this Toleration is attached to tolerates
  3209                                any taint that matches the triple <key,value,effect> using
  3210                                the matching operator <operator>.
  3211                              properties:
  3212                                effect:
  3213                                  description: Effect indicates the taint effect to match.
  3214                                    Empty means match all taint effects. When specified,
  3215                                    allowed values are NoSchedule, PreferNoSchedule and
  3216                                    NoExecute.
  3217                                  type: string
  3218                                key:
  3219                                  description: Key is the taint key that the toleration
  3220                                    applies to. Empty means match all taint keys. If the
  3221                                    key is empty, operator must be Exists; this combination
  3222                                    means to match all values and all keys.
  3223                                  type: string
  3224                                operator:
  3225                                  description: Operator represents a key's relationship
  3226                                    to the value. Valid operators are Exists and Equal.
  3227                                    Defaults to Equal. Exists is equivalent to wildcard
  3228                                    for value, so that a pod can tolerate all taints of
  3229                                    a particular category.
  3230                                  type: string
  3231                                tolerationSeconds:
  3232                                  description: TolerationSeconds represents the period
  3233                                    of time the toleration (which must be of effect NoExecute,
  3234                                    otherwise this field is ignored) tolerates the taint.
  3235                                    By default, it is not set, which means tolerate the
  3236                                    taint forever (do not evict). Zero and negative values
  3237                                    will be treated as 0 (evict immediately) by the system.
  3238                                  format: int64
  3239                                  type: integer
  3240                                value:
  3241                                  description: Value is the taint value the toleration
  3242                                    matches to. If the operator is Exists, the value should
  3243                                    be empty, otherwise just a regular string.
  3244                                  type: string
  3245                              type: object
  3246                            type: array
  3247                        type: object
  3248                    required:
  3249                      - autoScaling
  3250                      - enableBufio
  3251                    type: object
  3252                  pv:
  3253                    type: string
  3254                required:
  3255                  - accessType
  3256                  - capacity
  3257                  - pv
  3258                type: object
  3259              status:
  3260                description: JivaVolumeStatus defines the observed state of JivaVolume
  3261                properties:
  3262                  phase:
  3263                    description: Phase represents the current phase of JivaVolume.
  3264                    type: string
  3265                  replicaCount:
  3266                    type: integer
  3267                  replicaStatus:
  3268                    items:
  3269                      description: ReplicaStatus stores the status of replicas
  3270                      properties:
  3271                        address:
  3272                          type: string
  3273                        mode:
  3274                          type: string
  3275                      type: object
  3276                    nullable: true
  3277                    type: array
  3278                  status:
  3279                    type: string
  3280                type: object
  3281              versionDetails:
  3282                description: VersionDetails provides the details for upgrade
  3283                properties:
  3284                  autoUpgrade:
  3285                    description: If AutoUpgrade is set to true then the resource is upgraded
  3286                      automatically without any manual steps
  3287                    type: boolean
  3288                  desired:
  3289                    description: Desired is the version that we want to upgrade or the
  3290                      control plane version
  3291                    type: string
  3292                  status:
  3293                    description: Status gives the status of reconciliation triggered when
  3294                      the desired and current version are not same
  3295                    properties:
  3296                      current:
  3297                        description: Current is the version of resource
  3298                        type: string
  3299                      dependentsUpgraded:
  3300                        description: DependentsUpgraded gives the details whether all
  3301                          children of a resource are upgraded to desired version or not
  3302                        type: boolean
  3303                      lastUpdateTime:
  3304                        description: LastUpdateTime is the time the status was last  updated
  3305                        format: date-time
  3306                        nullable: true
  3307                        type: string
  3308                      message:
  3309                        description: Message is a human readable message if some error
  3310                          occurs
  3311                        type: string
  3312                      reason:
  3313                        description: Reason is the actual reason for the error state
  3314                        type: string
  3315                      state:
  3316                        description: State is the state of reconciliation
  3317                        type: string
  3318                    type: object
  3319                type: object
  3320            type: object
  3321        served: true
  3322        storage: true
  3323        subresources: { }
  3324  status:
  3325    acceptedNames:
  3326      kind: ""
  3327      plural: ""
  3328    conditions: [ ]
  3329    storedVersions: [ ]
  3330  ---
  3331  apiVersion: apiextensions.k8s.io/v1
  3332  kind: CustomResourceDefinition
  3333  metadata:
  3334    annotations:
  3335      controller-gen.kubebuilder.io/version: v0.4.0
  3336    creationTimestamp: null
  3337    name: upgradetasks.openebs.io
  3338  spec:
  3339    group: openebs.io
  3340    names:
  3341      kind: UpgradeTask
  3342      listKind: UpgradeTaskList
  3343      plural: upgradetasks
  3344      singular: upgradetask
  3345    scope: Namespaced
  3346    versions:
  3347      - name: v1alpha1
  3348        schema:
  3349          openAPIV3Schema:
  3350            description: UpgradeTask represents an upgrade task
  3351            properties:
  3352              apiVersion:
  3353                description: 'APIVersion defines the versioned schema of this representation
  3354                of an object. Servers should convert recognized schemas to the latest
  3355                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3356                type: string
  3357              kind:
  3358                description: 'Kind is a string value representing the REST resource this
  3359                object represents. Servers may infer this from the endpoint the client
  3360                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3361                type: string
  3362              metadata:
  3363                type: object
  3364              spec:
  3365                description: Spec i.e. specifications of the UpgradeTask
  3366                properties:
  3367                  cstorPool:
  3368                    description: CStorPool contains the details of the cstor pool to be
  3369                      upgraded
  3370                    properties:
  3371                      options:
  3372                        description: Options can be used to change the default behaviour
  3373                          of upgrade
  3374                        properties:
  3375                          ignoreStepsOnError:
  3376                            description: IgnoreStepsOnError allows to ignore steps which
  3377                              failed
  3378                            items:
  3379                              type: string
  3380                            type: array
  3381                        type: object
  3382                      poolName:
  3383                        description: PoolName contains the name of the cstor pool to be
  3384                          upgraded
  3385                        type: string
  3386                    type: object
  3387                  cstorPoolCluster:
  3388                    description: CStorPoolCluster contains the details of the storage
  3389                      pool claim to be upgraded
  3390                    properties:
  3391                      cspcName:
  3392                        description: CSPCName contains the name of the storage pool claim
  3393                          to be upgraded
  3394                        type: string
  3395                      options:
  3396                        description: Options can be used to change the default behaviour
  3397                          of upgrade
  3398                        properties:
  3399                          ignoreStepsOnError:
  3400                            description: IgnoreStepsOnError allows to ignore steps which
  3401                              failed
  3402                            items:
  3403                              type: string
  3404                            type: array
  3405                        type: object
  3406                    type: object
  3407                  cstorPoolInstance:
  3408                    description: CStorPoolInstance contains the details of the cstor pool
  3409                      to be upgraded
  3410                    properties:
  3411                      cspiName:
  3412                        description: CSPCName contains the name of the storage pool claim
  3413                          to be upgraded
  3414                        type: string
  3415                      options:
  3416                        description: Options can be used to change the default behaviour
  3417                          of upgrade
  3418                        properties:
  3419                          ignoreStepsOnError:
  3420                            description: IgnoreStepsOnError allows to ignore steps which
  3421                              failed
  3422                            items:
  3423                              type: string
  3424                            type: array
  3425                        type: object
  3426                    type: object
  3427                  cstorVolume:
  3428                    description: CStorVolume contains the details of the cstor volume
  3429                      to be upgraded
  3430                    properties:
  3431                      options:
  3432                        description: Options can be used to change the default behaviour
  3433                          of upgrade
  3434                        properties:
  3435                          ignoreStepsOnError:
  3436                            description: IgnoreStepsOnError allows to ignore steps which
  3437                              failed
  3438                            items:
  3439                              type: string
  3440                            type: array
  3441                        type: object
  3442                      pvName:
  3443                        description: PVName contains the name of the pv associated with
  3444                          the cstor volume
  3445                        type: string
  3446                    type: object
  3447                  fromVersion:
  3448                    description: FromVersion is the current version of the resource.
  3449                    type: string
  3450                  imagePrefix:
  3451                    description: ImagePrefix contains the url prefix of the image url.
  3452                      This field is optional. If not present upgrade takes the previously
  3453                      present ImagePrefix.
  3454                    type: string
  3455                  imageTag:
  3456                    description: ImageTag contains the customized tag for ToVersion if
  3457                      any. This field is optional. If not present upgrade takes the ToVersion
  3458                      as the ImageTag
  3459                    type: string
  3460                  jivaVolume:
  3461                    description: JivaVolume contains the details of the jiva volume to
  3462                      be upgraded
  3463                    properties:
  3464                      options:
  3465                        description: Options can be used to change the default behaviour
  3466                          of upgrade
  3467                        properties:
  3468                          ignoreStepsOnError:
  3469                            description: IgnoreStepsOnError allows to ignore steps which
  3470                              failed
  3471                            items:
  3472                              type: string
  3473                            type: array
  3474                        type: object
  3475                      pvName:
  3476                        description: PVName contains the name of the pv associated with
  3477                          the jiva volume
  3478                        type: string
  3479                    type: object
  3480                  options:
  3481                    description: Options contains the optional flags that can be passed
  3482                      during upgrade.
  3483                    properties:
  3484                      timeout:
  3485                        description: Timeout is maximum seconds to wait at any given step
  3486                          in the upgrade
  3487                        type: integer
  3488                    type: object
  3489                  storagePoolClaim:
  3490                    description: StoragePoolClaim contains the details of the storage
  3491                      pool claim to be upgraded
  3492                    properties:
  3493                      options:
  3494                        description: Options can be used to change the default behaviour
  3495                          of upgrade
  3496                        properties:
  3497                          ignoreStepsOnError:
  3498                            description: IgnoreStepsOnError allows to ignore steps which
  3499                              failed
  3500                            items:
  3501                              type: string
  3502                            type: array
  3503                        type: object
  3504                      spcName:
  3505                        description: SPCName contains the name of the storage pool claim
  3506                          to be upgraded
  3507                        type: string
  3508                    type: object
  3509                  toVersion:
  3510                    description: ToVersion is the upgraded version of the resource. It
  3511                      should be same as the version of control plane components version.
  3512                    type: string
  3513                required:
  3514                  - fromVersion
  3515                  - toVersion
  3516                type: object
  3517              status:
  3518                description: Status of UpgradeTask
  3519                properties:
  3520                  completedTime:
  3521                    description: CompletedTime of Upgrade
  3522                    format: date-time
  3523                    nullable: true
  3524                    type: string
  3525                  phase:
  3526                    description: Phase indicates if a upgradeTask is started, success
  3527                      or errored
  3528                    type: string
  3529                  retries:
  3530                    description: Retries is the number of times the job attempted to upgrade
  3531                      the resource
  3532                    type: integer
  3533                  startTime:
  3534                    description: StartTime of Upgrade
  3535                    format: date-time
  3536                    nullable: true
  3537                    type: string
  3538                  upgradeDetailedStatuses:
  3539                    description: UpgradeDetailedStatuses contains the list of statuses
  3540                      of each step
  3541                    items:
  3542                      description: UpgradeDetailedStatuses represents the latest available
  3543                        observations of a UpgradeTask current state.
  3544                      properties:
  3545                        lastUpdatedAt:
  3546                          description: LastUpdatedTime of a UpgradeStep
  3547                          format: date-time
  3548                          nullable: true
  3549                          type: string
  3550                        message:
  3551                          description: A human-readable message indicating details about
  3552                            why the upgradeStep is in this state
  3553                          type: string
  3554                        phase:
  3555                          description: Phase indicates if the UpgradeStep is waiting,
  3556                            errored or completed.
  3557                          type: string
  3558                        reason:
  3559                          description: Reason is a brief CamelCase string that describes
  3560                            any failure and is meant for machine parsing and tidy display
  3561                            in the CLI
  3562                          type: string
  3563                        startTime:
  3564                          description: StartTime of a UpgradeStep
  3565                          format: date-time
  3566                          nullable: true
  3567                          type: string
  3568                        step:
  3569                          description: UpgradeStep is the current step being performed
  3570                            for a particular resource upgrade
  3571                          type: string
  3572                      type: object
  3573                    type: array
  3574                type: object
  3575            required:
  3576              - spec
  3577            type: object
  3578        served: true
  3579        storage: true
  3580  status:
  3581    acceptedNames:
  3582      kind: ""
  3583      plural: ""
  3584    conditions: [ ]
  3585    storedVersions: [ ]
  3586  ---
  3587  apiVersion: v1
  3588  kind: ServiceAccount
  3589  metadata:
  3590    name: jiva-operator
  3591    namespace: openebs
  3592  ---
  3593  apiVersion: rbac.authorization.k8s.io/v1
  3594  kind: ClusterRole
  3595  metadata:
  3596    creationTimestamp: null
  3597    name: jiva-operator
  3598    namespace: openebs
  3599  rules:
  3600    - apiGroups:
  3601        - ""
  3602      resources:
  3603        - pods
  3604        - services
  3605        - services/finalizers
  3606        - endpoints
  3607        - persistentvolumes
  3608        - persistentvolumeclaims
  3609        - events
  3610        - configmaps
  3611        - secrets
  3612      verbs:
  3613        - '*'
  3614    - apiGroups:
  3615        - apps
  3616      resources:
  3617        - deployments
  3618        - daemonsets
  3619        - replicasets
  3620        - statefulsets
  3621      verbs:
  3622        - '*'
  3623    - apiGroups:
  3624        - monitoring.coreos.com
  3625      resources:
  3626        - servicemonitors
  3627      verbs:
  3628        - get
  3629        - create
  3630    - apiGroups:
  3631        - apps
  3632      resourceNames:
  3633        - jiva-operator
  3634      resources:
  3635        - deployments/finalizers
  3636      verbs:
  3637        - update
  3638    - apiGroups:
  3639        - ""
  3640      resources:
  3641        - nodes
  3642      verbs:
  3643        - get
  3644        - list
  3645        - watch
  3646    - apiGroups:
  3647        - apps
  3648      resources:
  3649        - replicasets
  3650      verbs:
  3651        - get
  3652    - apiGroups:
  3653        - policy
  3654      resources:
  3655        - poddisruptionbudgets
  3656      verbs:
  3657        - '*'
  3658    - apiGroups:
  3659        - openebs.io
  3660      resources:
  3661        - '*'
  3662      verbs:
  3663        - '*'
  3664  ---
  3665  kind: ClusterRoleBinding
  3666  apiVersion: rbac.authorization.k8s.io/v1
  3667  metadata:
  3668    name: jiva-operator
  3669    namespace: openebs
  3670  subjects:
  3671    - kind: ServiceAccount
  3672      name: jiva-operator
  3673      namespace: openebs
  3674  roleRef:
  3675    kind: ClusterRole
  3676    name: jiva-operator
  3677    apiGroup: rbac.authorization.k8s.io
  3678  ---
  3679  apiVersion: apps/v1
  3680  kind: Deployment
  3681  metadata:
  3682    name: jiva-operator
  3683    namespace: openebs
  3684    labels:
  3685      openebs.io/component-name: jiva-operator
  3686      openebs.io/version: 2.11.0
  3687      name: jiva-operator
  3688  spec:
  3689    replicas: 1
  3690    selector:
  3691      matchLabels:
  3692        name: jiva-operator
  3693    template:
  3694      metadata:
  3695        labels:
  3696          name: jiva-operator
  3697          openebs.io/component-name: jiva-operator
  3698          openebs.io/version: 2.11.0
  3699      spec:
  3700        serviceAccountName: jiva-operator
  3701        containers:
  3702          - name: jiva-operator
  3703            # Replace this with the built image name
  3704            image: openebs/jiva-operator:2.11.0
  3705            command:
  3706              - jiva-operator
  3707            imagePullPolicy: IfNotPresent
  3708            env:
  3709              - name: OPENEBS_NAMESPACE
  3710                valueFrom:
  3711                  fieldRef:
  3712                    fieldPath: metadata.namespace
  3713              - name: POD_NAME
  3714                valueFrom:
  3715                  fieldRef:
  3716                    fieldPath: metadata.name
  3717              - name: OPENEBS_SERVICEACCOUNT_NAME
  3718                valueFrom:
  3719                  fieldRef:
  3720                    fieldPath: spec.serviceAccountName
  3721              - name: OPERATOR_NAME
  3722                value: "jiva-operator"
  3723              - name: OPENEBS_IO_JIVA_CONTROLLER_IMAGE
  3724                value: "openebs/jiva:2.11.0"
  3725              - name: OPENEBS_IO_JIVA_REPLICA_IMAGE
  3726                value: "openebs/jiva:2.11.0"
  3727            livenessProbe:
  3728              httpGet:
  3729                path: /healthz
  3730                port: 8282
  3731              initialDelaySeconds: 15
  3732              periodSeconds: 20
  3733            readinessProbe:
  3734              httpGet:
  3735                path: /readyz
  3736                port: 8282
  3737              initialDelaySeconds: 5
  3738              periodSeconds: 10
  3739        terminationGracePeriodSeconds: 10
  3740  ---
  3741  
  3742  apiVersion: storage.k8s.io/v1
  3743  kind: CSIDriver
  3744  metadata:
  3745    name: jiva.csi.openebs.io
  3746  spec:
  3747    attachRequired: false
  3748    podInfoOnMount: true
  3749  
  3750  ---
  3751  
  3752  ##############################################
  3753  ###########                       ############
  3754  ###########   Controller plugin   ############
  3755  ###########                       ############
  3756  ##############################################
  3757  
  3758  kind: ServiceAccount
  3759  apiVersion: v1
  3760  metadata:
  3761    name: openebs-jiva-csi-controller-sa
  3762    namespace: openebs
  3763  
  3764  ---
  3765  
  3766  kind: ClusterRole
  3767  apiVersion: rbac.authorization.k8s.io/v1
  3768  metadata:
  3769    name: openebs-jiva-csi-role
  3770  rules:
  3771    - apiGroups: [ "" ]
  3772      resources: [ "secrets","namespaces" ]
  3773      verbs: [ "get", "list" ]
  3774    - apiGroups: [ "" ]
  3775      resources: [ "pods" ]
  3776      verbs: [ "get", "list", "watch" ]
  3777    - apiGroups: [ "" ]
  3778      resources: [ "persistentvolumes", "services" ]
  3779      verbs: [ "get", "list", "watch", "create", "delete", "update", "patch" ]
  3780    - apiGroups: [ "" ]
  3781      resources: [ "persistentvolumeclaims" ]
  3782      verbs: [ "get", "list", "watch", "update" ]
  3783    - apiGroups: [ "" ]
  3784      resources: [ "persistentvolumeclaims/status" ]
  3785      verbs: [ "update", "patch" ]
  3786    - apiGroups: [ "storage.k8s.io" ]
  3787      resources: [ "storageclasses", "csinodes" ]
  3788      verbs: [ "get", "list", "watch" ]
  3789    - apiGroups: [ "" ]
  3790      resources: [ "events" ]
  3791      verbs: [ "list", "watch", "create", "update", "patch" ]
  3792    - apiGroups: [ "coordination.k8s.io" ]
  3793      resources: [ "leases" ]
  3794      verbs: [ "*" ]
  3795    - apiGroups: [ "storage.k8s.io" ]
  3796      resources: [ "volumeattachments" ]
  3797      verbs: [ "get", "list", "watch", "create", "delete", "update", "patch" ]
  3798    - apiGroups: [ "*" ]
  3799      resources: [ "jivavolumes", "jivavolumepolicies" ]
  3800      verbs: [ "*" ]
  3801  
  3802  ---
  3803  
  3804  kind: ClusterRoleBinding
  3805  apiVersion: rbac.authorization.k8s.io/v1
  3806  metadata:
  3807    name: openebs-jiva-csi-binding
  3808  subjects:
  3809    - kind: ServiceAccount
  3810      name: openebs-jiva-csi-controller-sa
  3811      namespace: openebs
  3812  roleRef:
  3813    kind: ClusterRole
  3814    name: openebs-jiva-csi-role
  3815    apiGroup: rbac.authorization.k8s.io
  3816  
  3817  ---
  3818  
  3819  kind: StatefulSet
  3820  apiVersion: apps/v1
  3821  metadata:
  3822    name: openebs-jiva-csi-controller
  3823    namespace: openebs
  3824    labels:
  3825      name: openebs-jiva-csi-controller
  3826      openebs.io/component-name: openebs-jiva-csi-controller
  3827      openebs.io/version: 2.11.0
  3828  spec:
  3829    selector:
  3830      matchLabels:
  3831        app: openebs-jiva-csi-controller
  3832        role: openebs-jiva-csi
  3833        name: openebs-jiva-csi-controller
  3834        openebs.io/component-name: openebs-jiva-csi-controller
  3835    serviceName: "openebs-jiva-csi"
  3836    replicas: 1
  3837    template:
  3838      metadata:
  3839        labels:
  3840          app: openebs-jiva-csi-controller
  3841          role: openebs-jiva-csi
  3842          name: openebs-jiva-csi-controller
  3843          openebs.io/component-name: openebs-jiva-csi-controller
  3844          openebs.io/version: 2.11.0
  3845      spec:
  3846        priorityClassName: system-cluster-critical
  3847        serviceAccount: openebs-jiva-csi-controller-sa
  3848        containers:
  3849          - name: csi-provisioner
  3850            image: k8s.gcr.io/sig-storage/csi-provisioner:v2.1.0
  3851            args:
  3852              - "--csi-address=$(ADDRESS)"
  3853              - "--v=5"
  3854              - "--feature-gates=Topology=true"
  3855              - "--extra-create-metadata=true"
  3856              - "--metrics-address=:22011"
  3857              - "--timeout=250s"
  3858              - "--default-fstype=ext4"
  3859            env:
  3860              - name: MY_NAME
  3861                valueFrom:
  3862                  fieldRef:
  3863                    fieldPath: metadata.name
  3864              - name: ADDRESS
  3865                value: /var/lib/csi/sockets/pluginproxy/csi.sock
  3866            volumeMounts:
  3867              - name: socket-dir
  3868                mountPath: /var/lib/csi/sockets/pluginproxy/
  3869          - name: csi-attacher
  3870            image: k8s.gcr.io/sig-storage/csi-attacher:v3.1.0
  3871            args:
  3872              - "--v=5"
  3873              - "--csi-address=$(ADDRESS)"
  3874            env:
  3875              - name: ADDRESS
  3876                value: /var/lib/csi/sockets/pluginproxy/csi.sock
  3877            volumeMounts:
  3878              - name: socket-dir
  3879                mountPath: /var/lib/csi/sockets/pluginproxy/
  3880          - name: jiva-csi-plugin
  3881            image: openebs/jiva-csi:2.11.0
  3882            env:
  3883              - name: OPENEBS_JIVA_CSI_CONTROLLER
  3884                value: controller
  3885              - name: OPENEBS_JIVA_CSI_ENDPOINT
  3886                value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
  3887              - name: OPENEBS_NAMESPACE
  3888                valueFrom:
  3889                  fieldRef:
  3890                    fieldPath: metadata.namespace
  3891              - name: OPENEBS_NODEID
  3892                valueFrom:
  3893                  fieldRef:
  3894                    apiVersion: v1
  3895                    fieldPath: spec.nodeName
  3896              - name: OPENEBS_IO_INSTALLER_TYPE
  3897                value: "jiva-operator"
  3898              - name: OPENEBS_IO_ENABLE_ANALYTICS
  3899                value: "true"
  3900            args:
  3901              - "--endpoint=$(OPENEBS_JIVA_CSI_ENDPOINT)"
  3902              - "--plugin=$(OPENEBS_JIVA_CSI_CONTROLLER)"
  3903              - "--name=jiva.csi.openebs.io"
  3904              - "--nodeid=$(OPENEBS_NODEID)"
  3905              # logging level for klog library used in k8s packages
  3906              # - "--v=5"
  3907              # retry count to check if volume is ready in volume expand call
  3908              - "--retrycount=20"
  3909            volumeMounts:
  3910              - name: socket-dir
  3911                mountPath: /var/lib/csi/sockets/pluginproxy/
  3912          - name: csi-resizer
  3913            image: k8s.gcr.io/sig-storage/csi-resizer:v1.1.0
  3914            args:
  3915              - "--v=5"
  3916              - "--csi-address=$(ADDRESS)"
  3917              - "--leader-election"
  3918            env:
  3919              - name: ADDRESS
  3920                value: /var/lib/csi/sockets/pluginproxy/csi.sock
  3921            volumeMounts:
  3922              - name: socket-dir
  3923                mountPath: /var/lib/csi/sockets/pluginproxy/
  3924          - name: liveness-probe
  3925            volumeMounts:
  3926              - mountPath: /csi
  3927                name: socket-dir
  3928            image: k8s.gcr.io/sig-storage/livenessprobe:v2.2.0
  3929            args:
  3930              - "--csi-address=/csi/csi.sock"
  3931        volumes:
  3932          - name: socket-dir
  3933            emptyDir: { }
  3934  
  3935  ---
  3936  
  3937  ############################## CSI- Attacher #######################
  3938  # Attacher must be able to work with PVs, nodes and VolumeAttachments
  3939  
  3940  kind: ClusterRole
  3941  apiVersion: rbac.authorization.k8s.io/v1
  3942  metadata:
  3943    name: openebs-jiva-csi-attacher-role
  3944  rules:
  3945    - apiGroups: [ "" ]
  3946      resources: [ "persistentvolumes" ]
  3947      verbs: [ "get", "list", "watch", "update" ]
  3948    - apiGroups: [ "" ]
  3949      resources: [ "nodes" ]
  3950      verbs: [ "get", "list", "watch" ]
  3951    - apiGroups: [ "csi.storage.k8s.io" ]
  3952      resources: [ "csinodeinfos" ]
  3953      verbs: [ "get", "list", "watch" ]
  3954    - apiGroups: [ "storage.k8s.io" ]
  3955      resources: [ "volumeattachments", "csinodes" ]
  3956      verbs: [ "get", "list", "watch", "update" ]
  3957    - apiGroups: [ "storage.k8s.io" ]
  3958      resources: [ "volumeattachments/status" ]
  3959      verbs: [ "patch" ]
  3960  
  3961  ---
  3962  
  3963  kind: ClusterRoleBinding
  3964  apiVersion: rbac.authorization.k8s.io/v1
  3965  metadata:
  3966    name: openebs-jiva-csi-attacher-binding
  3967  subjects:
  3968    - kind: ServiceAccount
  3969      name: openebs-jiva-csi-controller-sa
  3970      namespace: openebs
  3971  roleRef:
  3972    kind: ClusterRole
  3973    name: openebs-jiva-csi-attacher-role
  3974    apiGroup: rbac.authorization.k8s.io
  3975  
  3976  ---
  3977  
  3978  ########################################
  3979  ###########                 ############
  3980  ###########   Node plugin   ############
  3981  ###########                 ############
  3982  ########################################
  3983  
  3984  apiVersion: v1
  3985  kind: ServiceAccount
  3986  metadata:
  3987    name: openebs-jiva-csi-node-sa
  3988    namespace: openebs
  3989  
  3990  ---
  3991  
  3992  kind: ClusterRole
  3993  apiVersion: rbac.authorization.k8s.io/v1
  3994  metadata:
  3995    name: openebs-jiva-csi-registrar-role
  3996  rules:
  3997    - apiGroups: [ "" ]
  3998      resources: [ "events" ]
  3999      verbs: [ "get", "list", "watch", "create", "update", "patch" ]
  4000    - apiGroups: [ "" ]
  4001      resources: [ "persistentvolumes", "nodes", "services" ]
  4002      verbs: [ "get", "list", "patch" ]
  4003    - apiGroups: [ "*" ]
  4004      resources: [ "jivavolumes" ]
  4005      verbs: [ "get", "list", "watch", "create", "update", "patch" ]
  4006  
  4007  ---
  4008  
  4009  kind: ClusterRoleBinding
  4010  apiVersion: rbac.authorization.k8s.io/v1
  4011  metadata:
  4012    name: openebs-jiva-csi-registrar-binding
  4013  subjects:
  4014    - kind: ServiceAccount
  4015      name: openebs-jiva-csi-node-sa
  4016      namespace: openebs
  4017  roleRef:
  4018    kind: ClusterRole
  4019    name: openebs-jiva-csi-registrar-role
  4020    apiGroup: rbac.authorization.k8s.io
  4021  
  4022  ---
  4023  
  4024  kind: ConfigMap
  4025  apiVersion: v1
  4026  metadata:
  4027    name: openebs-jiva-csi-iscsiadm
  4028    namespace: openebs
  4029  data:
  4030    iscsiadm: |
  4031      #!/bin/sh
  4032      if [ -x /host/sbin/iscsiadm ]; then
  4033        chroot /host /sbin/iscsiadm "$@"
  4034      elif [ -x /host/usr/local/sbin/iscsiadm ]; then
  4035        chroot /host /usr/local/sbin/iscsiadm "$@"
  4036      elif [ -x /host/bin/iscsiadm ]; then
  4037        chroot /host /bin/iscsiadm "$@"
  4038      elif [ -x /host/usr/local/bin/iscsiadm ]; then
  4039        chroot /host /usr/local/bin/iscsiadm "$@"
  4040      else
  4041        chroot /host iscsiadm "$@"
  4042      fi
  4043  
  4044  ---
  4045  kind: DaemonSet
  4046  apiVersion: apps/v1
  4047  metadata:
  4048    name: openebs-jiva-csi-node
  4049    namespace: openebs
  4050    labels:
  4051      app: openebs-jiva-csi-node
  4052      name: openebs-jiva-csi-node
  4053      openebs.io/component-name: openebs-jiva-csi-node
  4054      openebs.io/version: 2.11.0
  4055  spec:
  4056    selector:
  4057      matchLabels:
  4058        app: openebs-jiva-csi-node
  4059        role: openebs-jiva-csi
  4060        name: openebs-jiva-csi-node
  4061        openebs.io/component-name: openebs-jiva-csi-node
  4062    template:
  4063      metadata:
  4064        labels:
  4065          app: openebs-jiva-csi-node
  4066          role: openebs-jiva-csi
  4067          name: openebs-jiva-csi-node
  4068          openebs.io/component-name: openebs-jiva-csi-node
  4069          openebs.io/version: 2.11.0
  4070      spec:
  4071        priorityClassName: system-node-critical
  4072        serviceAccount: openebs-jiva-csi-node-sa
  4073        hostNetwork: true
  4074        containers:
  4075          - name: csi-node-driver-registrar
  4076            image: k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.1.0
  4077            args:
  4078              - "--v=5"
  4079              - "--csi-address=$(ADDRESS)"
  4080              - "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)"
  4081            lifecycle:
  4082              preStop:
  4083                exec:
  4084                  command: [ "/bin/sh", "-c", "rm -rf /registration/jiva.csi.openebs.io /registration/jiva.csi.openebs.io-reg.sock" ]
  4085            env:
  4086              - name: ADDRESS
  4087                value: /plugin/csi.sock
  4088              - name: DRIVER_REG_SOCK_PATH
  4089                value: /var/lib/kubelet/plugins/jiva.csi.openebs.io/csi.sock
  4090              - name: KUBE_NODE_NAME
  4091                valueFrom:
  4092                  fieldRef:
  4093                    fieldPath: spec.nodeName
  4094              - name: NODE_DRIVER
  4095                value: openebs-jiva-csi
  4096            volumeMounts:
  4097              - name: plugin-dir
  4098                mountPath: /plugin
  4099              - name: registration-dir
  4100                mountPath: /registration
  4101          - name: jiva-csi-plugin
  4102            securityContext:
  4103              privileged: true
  4104              allowPrivilegeEscalation: true
  4105            image: openebs/jiva-csi:2.11.0
  4106            args:
  4107              - "--name=jiva.csi.openebs.io"
  4108              - "--nodeid=$(OPENEBS_NODE_ID)"
  4109              - "--endpoint=$(OPENEBS_CSI_ENDPOINT)"
  4110              - "--plugin=$(OPENEBS_NODE_DRIVER)"
  4111              # logging level for klog library used in k8s packages
  4112              #- "--v=5"
  4113              # retrycount is the max number of retries per nodeStaging rpc
  4114              # request on a timeout of 5 sec
  4115              # This count has been set to 20 for sanity test cases as it takes
  4116              # time in minikube
  4117              - "--retrycount=20"
  4118              # metricsBindAddress is the TCP address that the controller should bind to
  4119              # for serving prometheus metrics. By default the address is set to localhost:9505.
  4120              # The address can be configured to any desired address.
  4121              # Remove the flag to disable prometheus metrics.
  4122              - "--metricsBindAddress=:9505"
  4123            env:
  4124              - name: OPENEBS_NODE_ID
  4125                valueFrom:
  4126                  fieldRef:
  4127                    fieldPath: spec.nodeName
  4128              - name: OPENEBS_CSI_ENDPOINT
  4129                value: unix:///plugin/csi.sock
  4130              - name: OPENEBS_NODE_DRIVER
  4131                value: node
  4132              - name: OPENEBS_NAMESPACE
  4133                valueFrom:
  4134                  fieldRef:
  4135                    fieldPath: metadata.namespace
  4136              # REMOUNT: if set true/True volume will be automatically remounted
  4137              # in case if the mountpoint goes to ro state
  4138              - name: REMOUNT
  4139                value: "True"
  4140            volumeMounts:
  4141              - name: plugin-dir
  4142                mountPath: /plugin
  4143              - name: device-dir
  4144                mountPath: /dev
  4145              - name: pods-mount-dir
  4146                mountPath: /var/lib/kubelet/
  4147                # needed so that any mounts setup inside this container are
  4148                # propagated back to the host machine.
  4149                mountPropagation: "Bidirectional"
  4150              - name: host-root
  4151                mountPath: /host
  4152                mountPropagation: "HostToContainer"
  4153              - name: chroot-iscsiadm
  4154                mountPath: /sbin/iscsiadm
  4155                subPath: iscsiadm
  4156          - name: liveness-probe
  4157            image: k8s.gcr.io/sig-storage/livenessprobe:v2.2.0
  4158            args:
  4159              - "--csi-address=/plugin/csi.sock"
  4160            volumeMounts:
  4161              - mountPath: /plugin
  4162                name: plugin-dir
  4163        volumes:
  4164          - name: device-dir
  4165            hostPath:
  4166              path: /dev
  4167              type: Directory
  4168          - name: registration-dir
  4169            hostPath:
  4170              path: /var/lib/kubelet/plugins_registry/
  4171              type: DirectoryOrCreate
  4172          - name: plugin-dir
  4173            hostPath:
  4174              path: /var/lib/kubelet/plugins/jiva.csi.openebs.io/
  4175              type: DirectoryOrCreate
  4176          - name: pods-mount-dir
  4177            hostPath:
  4178              path: /var/lib/kubelet/
  4179              type: Directory
  4180          - name: chroot-iscsiadm
  4181            configMap:
  4182              defaultMode: 0555
  4183              name: openebs-jiva-csi-iscsiadm
  4184          - name: host-root
  4185            hostPath:
  4186              path: /
  4187              type: Directory