Added: 
dev/solr/solr-operator/solr-operator-v0.8.1-RC1-revcda3b06736afacfc7101e2d807f8555b96a45b0d/crds/solrprometheusexporters.yaml
==============================================================================
--- 
dev/solr/solr-operator/solr-operator-v0.8.1-RC1-revcda3b06736afacfc7101e2d807f8555b96a45b0d/crds/solrprometheusexporters.yaml
 (added)
+++ 
dev/solr/solr-operator/solr-operator-v0.8.1-RC1-revcda3b06736afacfc7101e2d807f8555b96a45b0d/crds/solrprometheusexporters.yaml
 Mon Apr  8 17:00:32 2024
@@ -0,0 +1,7274 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  annotations:
+    operator.solr.apache.org/version: v0.8.1
+    argocd.argoproj.io/sync-options: Replace=true
+    controller-gen.kubebuilder.io/version: v0.10.0
+  creationTimestamp: null
+  name: solrprometheusexporters.solr.apache.org
+spec:
+  group: solr.apache.org
+  names:
+    kind: SolrPrometheusExporter
+    listKind: SolrPrometheusExporterList
+    plural: solrprometheusexporters
+    shortNames:
+    - solrmetrics
+    singular: solrprometheusexporter
+  scope: Namespaced
+  versions:
+  - additionalPrinterColumns:
+    - description: Whether the prometheus exporter is ready
+      jsonPath: .status.ready
+      name: Ready
+      type: boolean
+    - description: Scrape interval for metrics (in ms)
+      jsonPath: .spec.scrapeInterval
+      name: Scrape Interval
+      type: integer
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      type: date
+    name: v1beta1
+    schema:
+      openAPIV3Schema:
+        description: SolrPrometheusExporter is the Schema for the 
solrprometheusexporters
+          API
+        properties:
+          apiVersion:
+            description: 'APIVersion defines the versioned schema of this 
representation
+              of an object. Servers should convert recognized schemas to the 
latest
+              internal value, and may reject unrecognized values. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+            type: string
+          kind:
+            description: 'Kind is a string value representing the REST 
resource this
+              object represents. Servers may infer this from the endpoint the 
client
+              submits requests to. Cannot be updated. In CamelCase. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+            type: string
+          metadata:
+            type: object
+          spec:
+            description: SolrPrometheusExporterSpec defines the desired state 
of SolrPrometheusExporter
+            properties:
+              busyBoxImage:
+                description: An initContainer is needed to create a wrapper 
script
+                  around the exporter entrypoint when TLS is enabled with the 
`spec.solrReference.solrTLS.mountedTLSDir`
+                  option
+                properties:
+                  imagePullSecret:
+                    type: string
+                  pullPolicy:
+                    description: PullPolicy describes a policy for if/when to 
pull
+                      a container image
+                    type: string
+                  repository:
+                    type: string
+                  tag:
+                    type: string
+                type: object
+              customKubeOptions:
+                description: Provide custom options for kubernetes objects 
created
+                  for the SolrPrometheusExporter.
+                properties:
+                  configMapOptions:
+                    description: ServiceOptions defines the custom options for 
the
+                      solrPrometheusExporter ConfigMap.
+                    properties:
+                      annotations:
+                        additionalProperties:
+                          type: string
+                        description: Annotations to be added for the ConfigMap.
+                        type: object
+                      labels:
+                        additionalProperties:
+                          type: string
+                        description: Labels to be added for the ConfigMap.
+                        type: object
+                      providedConfigMap:
+                        description: Name of a user provided ConfigMap in the 
same
+                          namespace containing a custom solr.xml
+                        type: string
+                    type: object
+                  deploymentOptions:
+                    description: DeploymentOptions defines the custom options 
for
+                      the solrPrometheusExporter Deployment.
+                    properties:
+                      annotations:
+                        additionalProperties:
+                          type: string
+                        description: Annotations to be added for the 
Deployment.
+                        type: object
+                      labels:
+                        additionalProperties:
+                          type: string
+                        description: Labels to be added for the Deployment.
+                        type: object
+                    type: object
+                  podOptions:
+                    description: SolrPodOptions defines the custom options for 
the
+                      solrPrometheusExporter pods.
+                    properties:
+                      affinity:
+                        description: The scheduling constraints on pods.
+                        properties:
+                          nodeAffinity:
+                            description: Describes node affinity scheduling 
rules
+                              for the pod.
+                            properties:
+                              preferredDuringSchedulingIgnoredDuringExecution:
+                                description: The scheduler will prefer to 
schedule
+                                  pods to nodes that satisfy the affinity 
expressions
+                                  specified by this field, but it may choose a 
node
+                                  that violates one or more of the 
expressions. The
+                                  node that is most preferred is the one with 
the
+                                  greatest sum of weights, i.e. for each node 
that
+                                  meets all of the scheduling requirements 
(resource
+                                  request, requiredDuringScheduling affinity 
expressions,
+                                  etc.), compute a sum by iterating through 
the elements
+                                  of this field and adding "weight" to the sum 
if
+                                  the node matches the corresponding 
matchExpressions;
+                                  the node(s) with the highest sum are the 
most preferred.
+                                items:
+                                  description: An empty preferred scheduling 
term
+                                    matches all objects with implicit weight 0 
(i.e.
+                                    it's a no-op). A null preferred scheduling 
term
+                                    matches no objects (i.e. is also a no-op).
+                                  properties:
+                                    preference:
+                                      description: A node selector term, 
associated
+                                        with the corresponding weight.
+                                      properties:
+                                        matchExpressions:
+                                          description: A list of node selector 
requirements
+                                            by node's labels.
+                                          items:
+                                            description: A node selector 
requirement
+                                              is a selector that contains 
values,
+                                              a key, and an operator that 
relates
+                                              the key and values.
+                                            properties:
+                                              key:
+                                                description: The label key 
that the
+                                                  selector applies to.
+                                                type: string
+                                              operator:
+                                                description: Represents a 
key's relationship
+                                                  to a set of values. Valid 
operators
+                                                  are In, NotIn, Exists, 
DoesNotExist.
+                                                  Gt, and Lt.
+                                                type: string
+                                              values:
+                                                description: An array of 
string values.
+                                                  If the operator is In or 
NotIn,
+                                                  the values array must be 
non-empty.
+                                                  If the operator is Exists or 
DoesNotExist,
+                                                  the values array must be 
empty.
+                                                  If the operator is Gt or Lt, 
the
+                                                  values array must have a 
single
+                                                  element, which will be 
interpreted
+                                                  as an integer. This array is 
replaced
+                                                  during a strategic merge 
patch.
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchFields:
+                                          description: A list of node selector 
requirements
+                                            by node's fields.
+                                          items:
+                                            description: A node selector 
requirement
+                                              is a selector that contains 
values,
+                                              a key, and an operator that 
relates
+                                              the key and values.
+                                            properties:
+                                              key:
+                                                description: The label key 
that the
+                                                  selector applies to.
+                                                type: string
+                                              operator:
+                                                description: Represents a 
key's relationship
+                                                  to a set of values. Valid 
operators
+                                                  are In, NotIn, Exists, 
DoesNotExist.
+                                                  Gt, and Lt.
+                                                type: string
+                                              values:
+                                                description: An array of 
string values.
+                                                  If the operator is In or 
NotIn,
+                                                  the values array must be 
non-empty.
+                                                  If the operator is Exists or 
DoesNotExist,
+                                                  the values array must be 
empty.
+                                                  If the operator is Gt or Lt, 
the
+                                                  values array must have a 
single
+                                                  element, which will be 
interpreted
+                                                  as an integer. This array is 
replaced
+                                                  during a strategic merge 
patch.
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                      type: object
+                                      x-kubernetes-map-type: atomic
+                                    weight:
+                                      description: Weight associated with 
matching
+                                        the corresponding nodeSelectorTerm, in 
the
+                                        range 1-100.
+                                      format: int32
+                                      type: integer
+                                  required:
+                                  - preference
+                                  - weight
+                                  type: object
+                                type: array
+                              requiredDuringSchedulingIgnoredDuringExecution:
+                                description: If the affinity requirements 
specified
+                                  by this field are not met at scheduling 
time, the
+                                  pod will not be scheduled onto the node. If 
the
+                                  affinity requirements specified by this 
field cease
+                                  to be met at some point during pod execution 
(e.g.
+                                  due to an update), the system may or may not 
try
+                                  to eventually evict the pod from its node.
+                                properties:
+                                  nodeSelectorTerms:
+                                    description: Required. A list of node 
selector
+                                      terms. The terms are ORed.
+                                    items:
+                                      description: A null or empty node 
selector term
+                                        matches no objects. The requirements 
of them
+                                        are ANDed. The TopologySelectorTerm 
type implements
+                                        a subset of the NodeSelectorTerm.
+                                      properties:
+                                        matchExpressions:
+                                          description: A list of node selector 
requirements
+                                            by node's labels.
+                                          items:
+                                            description: A node selector 
requirement
+                                              is a selector that contains 
values,
+                                              a key, and an operator that 
relates
+                                              the key and values.
+                                            properties:
+                                              key:
+                                                description: The label key 
that the
+                                                  selector applies to.
+                                                type: string
+                                              operator:
+                                                description: Represents a 
key's relationship
+                                                  to a set of values. Valid 
operators
+                                                  are In, NotIn, Exists, 
DoesNotExist.
+                                                  Gt, and Lt.
+                                                type: string
+                                              values:
+                                                description: An array of 
string values.
+                                                  If the operator is In or 
NotIn,
+                                                  the values array must be 
non-empty.
+                                                  If the operator is Exists or 
DoesNotExist,
+                                                  the values array must be 
empty.
+                                                  If the operator is Gt or Lt, 
the
+                                                  values array must have a 
single
+                                                  element, which will be 
interpreted
+                                                  as an integer. This array is 
replaced
+                                                  during a strategic merge 
patch.
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchFields:
+                                          description: A list of node selector 
requirements
+                                            by node's fields.
+                                          items:
+                                            description: A node selector 
requirement
+                                              is a selector that contains 
values,
+                                              a key, and an operator that 
relates
+                                              the key and values.
+                                            properties:
+                                              key:
+                                                description: The label key 
that the
+                                                  selector applies to.
+                                                type: string
+                                              operator:
+                                                description: Represents a 
key's relationship
+                                                  to a set of values. Valid 
operators
+                                                  are In, NotIn, Exists, 
DoesNotExist.
+                                                  Gt, and Lt.
+                                                type: string
+                                              values:
+                                                description: An array of 
string values.
+                                                  If the operator is In or 
NotIn,
+                                                  the values array must be 
non-empty.
+                                                  If the operator is Exists or 
DoesNotExist,
+                                                  the values array must be 
empty.
+                                                  If the operator is Gt or Lt, 
the
+                                                  values array must have a 
single
+                                                  element, which will be 
interpreted
+                                                  as an integer. This array is 
replaced
+                                                  during a strategic merge 
patch.
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                      type: object
+                                      x-kubernetes-map-type: atomic
+                                    type: array
+                                required:
+                                - nodeSelectorTerms
+                                type: object
+                                x-kubernetes-map-type: atomic
+                            type: object
+                          podAffinity:
+                            description: Describes pod affinity scheduling 
rules (e.g.
+                              co-locate this pod in the same node, zone, etc. 
as some
+                              other pod(s)).
+                            properties:
+                              preferredDuringSchedulingIgnoredDuringExecution:
+                                description: The scheduler will prefer to 
schedule
+                                  pods to nodes that satisfy the affinity 
expressions
+                                  specified by this field, but it may choose a 
node
+                                  that violates one or more of the 
expressions. The
+                                  node that is most preferred is the one with 
the
+                                  greatest sum of weights, i.e. for each node 
that
+                                  meets all of the scheduling requirements 
(resource
+                                  request, requiredDuringScheduling affinity 
expressions,
+                                  etc.), compute a sum by iterating through 
the elements
+                                  of this field and adding "weight" to the sum 
if
+                                  the node has pods which matches the 
corresponding
+                                  podAffinityTerm; the node(s) with the 
highest sum
+                                  are the most preferred.
+                                items:
+                                  description: The weights of all of the 
matched WeightedPodAffinityTerm
+                                    fields are added per-node to find the most 
preferred
+                                    node(s)
+                                  properties:
+                                    podAffinityTerm:
+                                      description: Required. A pod affinity 
term,
+                                        associated with the corresponding 
weight.
+                                      properties:
+                                        labelSelector:
+                                          description: A label query over a 
set of
+                                            resources, in this case pods.
+                                          properties:
+                                            matchExpressions:
+                                              description: matchExpressions is 
a list
+                                                of label selector 
requirements. The
+                                                requirements are ANDed.
+                                              items:
+                                                description: A label selector 
requirement
+                                                  is a selector that contains 
values,
+                                                  a key, and an operator that 
relates
+                                                  the key and values.
+                                                properties:
+                                                  key:
+                                                    description: key is the 
label
+                                                      key that the selector 
applies
+                                                      to.
+                                                    type: string
+                                                  operator:
+                                                    description: operator 
represents
+                                                      a key's relationship to 
a set
+                                                      of values. Valid 
operators are
+                                                      In, NotIn, Exists and 
DoesNotExist.
+                                                    type: string
+                                                  values:
+                                                    description: values is an 
array
+                                                      of string values. If the 
operator
+                                                      is In or NotIn, the 
values array
+                                                      must be non-empty. If 
the operator
+                                                      is Exists or 
DoesNotExist, the
+                                                      values array must be 
empty.
+                                                      This array is replaced 
during
+                                                      a strategic merge patch.
+                                                    items:
+                                                      type: string
+                                                    type: array
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                            matchLabels:
+                                              additionalProperties:
+                                                type: string
+                                              description: matchLabels is a 
map of
+                                                {key,value} pairs. A single 
{key,value}
+                                                in the matchLabels map is 
equivalent
+                                                to an element of 
matchExpressions,
+                                                whose key field is "key", the 
operator
+                                                is "In", and the values array 
contains
+                                                only "value". The requirements 
are
+                                                ANDed.
+                                              type: object
+                                          type: object
+                                          x-kubernetes-map-type: atomic
+                                        namespaceSelector:
+                                          description: A label query over the 
set
+                                            of namespaces that the term 
applies to.
+                                            The term is applied to the union 
of the
+                                            namespaces selected by this field 
and
+                                            the ones listed in the namespaces 
field.
+                                            null selector and null or empty 
namespaces
+                                            list means "this pod's namespace". 
An
+                                            empty selector ({}) matches all 
namespaces.
+                                          properties:
+                                            matchExpressions:
+                                              description: matchExpressions is 
a list
+                                                of label selector 
requirements. The
+                                                requirements are ANDed.
+                                              items:
+                                                description: A label selector 
requirement
+                                                  is a selector that contains 
values,
+                                                  a key, and an operator that 
relates
+                                                  the key and values.
+                                                properties:
+                                                  key:
+                                                    description: key is the 
label
+                                                      key that the selector 
applies
+                                                      to.
+                                                    type: string
+                                                  operator:
+                                                    description: operator 
represents
+                                                      a key's relationship to 
a set
+                                                      of values. Valid 
operators are
+                                                      In, NotIn, Exists and 
DoesNotExist.
+                                                    type: string
+                                                  values:
+                                                    description: values is an 
array
+                                                      of string values. If the 
operator
+                                                      is In or NotIn, the 
values array
+                                                      must be non-empty. If 
the operator
+                                                      is Exists or 
DoesNotExist, the
+                                                      values array must be 
empty.
+                                                      This array is replaced 
during
+                                                      a strategic merge patch.
+                                                    items:
+                                                      type: string
+                                                    type: array
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                            matchLabels:
+                                              additionalProperties:
+                                                type: string
+                                              description: matchLabels is a 
map of
+                                                {key,value} pairs. A single 
{key,value}
+                                                in the matchLabels map is 
equivalent
+                                                to an element of 
matchExpressions,
+                                                whose key field is "key", the 
operator
+                                                is "In", and the values array 
contains
+                                                only "value". The requirements 
are
+                                                ANDed.
+                                              type: object
+                                          type: object
+                                          x-kubernetes-map-type: atomic
+                                        namespaces:
+                                          description: namespaces specifies a 
static
+                                            list of namespace names that the 
term
+                                            applies to. The term is applied to 
the
+                                            union of the namespaces listed in 
this
+                                            field and the ones selected by 
namespaceSelector.
+                                            null or empty namespaces list and 
null
+                                            namespaceSelector means "this 
pod's namespace".
+                                          items:
+                                            type: string
+                                          type: array
+                                        topologyKey:
+                                          description: This pod should be 
co-located
+                                            (affinity) or not co-located 
(anti-affinity)
+                                            with the pods matching the 
labelSelector
+                                            in the specified namespaces, where 
co-located
+                                            is defined as running on a node 
whose
+                                            value of the label with key 
topologyKey
+                                            matches that of any node on which 
any
+                                            of the selected pods is running. 
Empty
+                                            topologyKey is not allowed.
+                                          type: string
+                                      required:
+                                      - topologyKey
+                                      type: object
+                                    weight:
+                                      description: weight associated with 
matching
+                                        the corresponding podAffinityTerm, in 
the
+                                        range 1-100.
+                                      format: int32
+                                      type: integer
+                                  required:
+                                  - podAffinityTerm
+                                  - weight
+                                  type: object
+                                type: array
+                              requiredDuringSchedulingIgnoredDuringExecution:
+                                description: If the affinity requirements 
specified
+                                  by this field are not met at scheduling 
time, the
+                                  pod will not be scheduled onto the node. If 
the
+                                  affinity requirements specified by this 
field cease
+                                  to be met at some point during pod execution 
(e.g.
+                                  due to a pod label update), the system may 
or may
+                                  not try to eventually evict the pod from its 
node.
+                                  When there are multiple elements, the lists 
of nodes
+                                  corresponding to each podAffinityTerm are 
intersected,
+                                  i.e. all terms must be satisfied.
+                                items:
+                                  description: Defines a set of pods (namely 
those
+                                    matching the labelSelector relative to the 
given
+                                    namespace(s)) that this pod should be 
co-located
+                                    (affinity) or not co-located 
(anti-affinity) with,
+                                    where co-located is defined as running on 
a node
+                                    whose value of the label with key 
<topologyKey>
+                                    matches that of any node on which a pod of 
the
+                                    set of pods is running
+                                  properties:
+                                    labelSelector:
+                                      description: A label query over a set of 
resources,
+                                        in this case pods.
+                                      properties:
+                                        matchExpressions:
+                                          description: matchExpressions is a 
list
+                                            of label selector requirements. 
The requirements
+                                            are ANDed.
+                                          items:
+                                            description: A label selector 
requirement
+                                              is a selector that contains 
values,
+                                              a key, and an operator that 
relates
+                                              the key and values.
+                                            properties:
+                                              key:
+                                                description: key is the label 
key
+                                                  that the selector applies to.
+                                                type: string
+                                              operator:
+                                                description: operator 
represents a
+                                                  key's relationship to a set 
of values.
+                                                  Valid operators are In, 
NotIn, Exists
+                                                  and DoesNotExist.
+                                                type: string
+                                              values:
+                                                description: values is an 
array of
+                                                  string values. If the 
operator is
+                                                  In or NotIn, the values 
array must
+                                                  be non-empty. If the 
operator is
+                                                  Exists or DoesNotExist, the 
values
+                                                  array must be empty. This 
array
+                                                  is replaced during a 
strategic merge
+                                                  patch.
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchLabels:
+                                          additionalProperties:
+                                            type: string
+                                          description: matchLabels is a map of 
{key,value}
+                                            pairs. A single {key,value} in the 
matchLabels
+                                            map is equivalent to an element of 
matchExpressions,
+                                            whose key field is "key", the 
operator
+                                            is "In", and the values array 
contains
+                                            only "value". The requirements are 
ANDed.
+                                          type: object
+                                      type: object
+                                      x-kubernetes-map-type: atomic
+                                    namespaceSelector:
+                                      description: A label query over the set 
of namespaces
+                                        that the term applies to. The term is 
applied
+                                        to the union of the namespaces 
selected by
+                                        this field and the ones listed in the 
namespaces
+                                        field. null selector and null or empty 
namespaces
+                                        list means "this pod's namespace". An 
empty
+                                        selector ({}) matches all namespaces.
+                                      properties:
+                                        matchExpressions:
+                                          description: matchExpressions is a 
list
+                                            of label selector requirements. 
The requirements
+                                            are ANDed.
+                                          items:
+                                            description: A label selector 
requirement
+                                              is a selector that contains 
values,
+                                              a key, and an operator that 
relates
+                                              the key and values.
+                                            properties:
+                                              key:
+                                                description: key is the label 
key
+                                                  that the selector applies to.
+                                                type: string
+                                              operator:
+                                                description: operator 
represents a
+                                                  key's relationship to a set 
of values.
+                                                  Valid operators are In, 
NotIn, Exists
+                                                  and DoesNotExist.
+                                                type: string
+                                              values:
+                                                description: values is an 
array of
+                                                  string values. If the 
operator is
+                                                  In or NotIn, the values 
array must
+                                                  be non-empty. If the 
operator is
+                                                  Exists or DoesNotExist, the 
values
+                                                  array must be empty. This 
array
+                                                  is replaced during a 
strategic merge
+                                                  patch.
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchLabels:
+                                          additionalProperties:
+                                            type: string
+                                          description: matchLabels is a map of 
{key,value}
+                                            pairs. A single {key,value} in the 
matchLabels
+                                            map is equivalent to an element of 
matchExpressions,
+                                            whose key field is "key", the 
operator
+                                            is "In", and the values array 
contains
+                                            only "value". The requirements are 
ANDed.
+                                          type: object
+                                      type: object
+                                      x-kubernetes-map-type: atomic
+                                    namespaces:
+                                      description: namespaces specifies a 
static list
+                                        of namespace names that the term 
applies to.
+                                        The term is applied to the union of 
the namespaces
+                                        listed in this field and the ones 
selected
+                                        by namespaceSelector. null or empty 
namespaces
+                                        list and null namespaceSelector means 
"this
+                                        pod's namespace".
+                                      items:
+                                        type: string
+                                      type: array
+                                    topologyKey:
+                                      description: This pod should be 
co-located (affinity)
+                                        or not co-located (anti-affinity) with 
the
+                                        pods matching the labelSelector in the 
specified
+                                        namespaces, where co-located is 
defined as
+                                        running on a node whose value of the 
label
+                                        with key topologyKey matches that of 
any node
+                                        on which any of the selected pods is 
running.
+                                        Empty topologyKey is not allowed.
+                                      type: string
+                                  required:
+                                  - topologyKey
+                                  type: object
+                                type: array
+                            type: object
+                          podAntiAffinity:
+                            description: Describes pod anti-affinity 
scheduling rules
+                              (e.g. avoid putting this pod in the same node, 
zone,
+                              etc. as some other pod(s)).
+                            properties:
+                              preferredDuringSchedulingIgnoredDuringExecution:
+                                description: The scheduler will prefer to 
schedule
+                                  pods to nodes that satisfy the anti-affinity 
expressions
+                                  specified by this field, but it may choose a 
node
+                                  that violates one or more of the 
expressions. The
+                                  node that is most preferred is the one with 
the
+                                  greatest sum of weights, i.e. for each node 
that
+                                  meets all of the scheduling requirements 
(resource
+                                  request, requiredDuringScheduling 
anti-affinity
+                                  expressions, etc.), compute a sum by 
iterating through
+                                  the elements of this field and adding 
"weight" to
+                                  the sum if the node has pods which matches 
the corresponding
+                                  podAffinityTerm; the node(s) with the 
highest sum
+                                  are the most preferred.
+                                items:
+                                  description: The weights of all of the 
matched WeightedPodAffinityTerm
+                                    fields are added per-node to find the most 
preferred
+                                    node(s)
+                                  properties:
+                                    podAffinityTerm:
+                                      description: Required. A pod affinity 
term,
+                                        associated with the corresponding 
weight.
+                                      properties:
+                                        labelSelector:
+                                          description: A label query over a 
set of
+                                            resources, in this case pods.
+                                          properties:
+                                            matchExpressions:
+                                              description: matchExpressions is 
a list
+                                                of label selector 
requirements. The
+                                                requirements are ANDed.
+                                              items:
+                                                description: A label selector 
requirement
+                                                  is a selector that contains 
values,
+                                                  a key, and an operator that 
relates
+                                                  the key and values.
+                                                properties:
+                                                  key:
+                                                    description: key is the 
label
+                                                      key that the selector 
applies
+                                                      to.
+                                                    type: string
+                                                  operator:
+                                                    description: operator 
represents
+                                                      a key's relationship to 
a set
+                                                      of values. Valid 
operators are
+                                                      In, NotIn, Exists and 
DoesNotExist.
+                                                    type: string
+                                                  values:
+                                                    description: values is an 
array
+                                                      of string values. If the 
operator
+                                                      is In or NotIn, the 
values array
+                                                      must be non-empty. If 
the operator
+                                                      is Exists or 
DoesNotExist, the
+                                                      values array must be 
empty.
+                                                      This array is replaced 
during
+                                                      a strategic merge patch.
+                                                    items:
+                                                      type: string
+                                                    type: array
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                            matchLabels:
+                                              additionalProperties:
+                                                type: string
+                                              description: matchLabels is a 
map of
+                                                {key,value} pairs. A single 
{key,value}
+                                                in the matchLabels map is 
equivalent
+                                                to an element of 
matchExpressions,
+                                                whose key field is "key", the 
operator
+                                                is "In", and the values array 
contains
+                                                only "value". The requirements 
are
+                                                ANDed.
+                                              type: object
+                                          type: object
+                                          x-kubernetes-map-type: atomic
+                                        namespaceSelector:
+                                          description: A label query over the 
set
+                                            of namespaces that the term 
applies to.
+                                            The term is applied to the union 
of the
+                                            namespaces selected by this field 
and
+                                            the ones listed in the namespaces 
field.
+                                            null selector and null or empty 
namespaces
+                                            list means "this pod's namespace". 
An
+                                            empty selector ({}) matches all 
namespaces.
+                                          properties:
+                                            matchExpressions:
+                                              description: matchExpressions is 
a list
+                                                of label selector 
requirements. The
+                                                requirements are ANDed.
+                                              items:
+                                                description: A label selector 
requirement
+                                                  is a selector that contains 
values,
+                                                  a key, and an operator that 
relates
+                                                  the key and values.
+                                                properties:
+                                                  key:
+                                                    description: key is the 
label
+                                                      key that the selector 
applies
+                                                      to.
+                                                    type: string
+                                                  operator:
+                                                    description: operator 
represents
+                                                      a key's relationship to 
a set
+                                                      of values. Valid 
operators are
+                                                      In, NotIn, Exists and 
DoesNotExist.
+                                                    type: string
+                                                  values:
+                                                    description: values is an 
array
+                                                      of string values. If the 
operator
+                                                      is In or NotIn, the 
values array
+                                                      must be non-empty. If 
the operator
+                                                      is Exists or 
DoesNotExist, the
+                                                      values array must be 
empty.
+                                                      This array is replaced 
during
+                                                      a strategic merge patch.
+                                                    items:
+                                                      type: string
+                                                    type: array
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                            matchLabels:
+                                              additionalProperties:
+                                                type: string
+                                              description: matchLabels is a 
map of
+                                                {key,value} pairs. A single 
{key,value}
+                                                in the matchLabels map is 
equivalent
+                                                to an element of 
matchExpressions,
+                                                whose key field is "key", the 
operator
+                                                is "In", and the values array 
contains
+                                                only "value". The requirements 
are
+                                                ANDed.
+                                              type: object
+                                          type: object
+                                          x-kubernetes-map-type: atomic
+                                        namespaces:
+                                          description: namespaces specifies a 
static
+                                            list of namespace names that the 
term
+                                            applies to. The term is applied to 
the
+                                            union of the namespaces listed in 
this
+                                            field and the ones selected by 
namespaceSelector.
+                                            null or empty namespaces list and 
null
+                                            namespaceSelector means "this 
pod's namespace".
+                                          items:
+                                            type: string
+                                          type: array
+                                        topologyKey:
+                                          description: This pod should be 
co-located
+                                            (affinity) or not co-located 
(anti-affinity)
+                                            with the pods matching the 
labelSelector
+                                            in the specified namespaces, where 
co-located
+                                            is defined as running on a node 
whose
+                                            value of the label with key 
topologyKey
+                                            matches that of any node on which 
any
+                                            of the selected pods is running. 
Empty
+                                            topologyKey is not allowed.
+                                          type: string
+                                      required:
+                                      - topologyKey
+                                      type: object
+                                    weight:
+                                      description: weight associated with 
matching
+                                        the corresponding podAffinityTerm, in 
the
+                                        range 1-100.
+                                      format: int32
+                                      type: integer
+                                  required:
+                                  - podAffinityTerm
+                                  - weight
+                                  type: object
+                                type: array
+                              requiredDuringSchedulingIgnoredDuringExecution:
+                                description: If the anti-affinity requirements 
specified
+                                  by this field are not met at scheduling 
time, the
+                                  pod will not be scheduled onto the node. If 
the
+                                  anti-affinity requirements specified by this 
field
+                                  cease to be met at some point during pod 
execution
+                                  (e.g. due to a pod label update), the system 
may
+                                  or may not try to eventually evict the pod 
from
+                                  its node. When there are multiple elements, 
the
+                                  lists of nodes corresponding to each 
podAffinityTerm
+                                  are intersected, i.e. all terms must be 
satisfied.
+                                items:
+                                  description: Defines a set of pods (namely 
those
+                                    matching the labelSelector relative to the 
given
+                                    namespace(s)) that this pod should be 
co-located
+                                    (affinity) or not co-located 
(anti-affinity) with,
+                                    where co-located is defined as running on 
a node
+                                    whose value of the label with key 
<topologyKey>
+                                    matches that of any node on which a pod of 
the
+                                    set of pods is running
+                                  properties:
+                                    labelSelector:
+                                      description: A label query over a set of 
resources,
+                                        in this case pods.
+                                      properties:
+                                        matchExpressions:
+                                          description: matchExpressions is a 
list
+                                            of label selector requirements. 
The requirements
+                                            are ANDed.
+                                          items:
+                                            description: A label selector 
requirement
+                                              is a selector that contains 
values,
+                                              a key, and an operator that 
relates
+                                              the key and values.
+                                            properties:
+                                              key:
+                                                description: key is the label 
key
+                                                  that the selector applies to.
+                                                type: string
+                                              operator:
+                                                description: operator 
represents a
+                                                  key's relationship to a set 
of values.
+                                                  Valid operators are In, 
NotIn, Exists
+                                                  and DoesNotExist.
+                                                type: string
+                                              values:
+                                                description: values is an 
array of
+                                                  string values. If the 
operator is
+                                                  In or NotIn, the values 
array must
+                                                  be non-empty. If the 
operator is
+                                                  Exists or DoesNotExist, the 
values
+                                                  array must be empty. This 
array
+                                                  is replaced during a 
strategic merge
+                                                  patch.
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchLabels:
+                                          additionalProperties:
+                                            type: string
+                                          description: matchLabels is a map of 
{key,value}
+                                            pairs. A single {key,value} in the 
matchLabels
+                                            map is equivalent to an element of 
matchExpressions,
+                                            whose key field is "key", the 
operator
+                                            is "In", and the values array 
contains
+                                            only "value". The requirements are 
ANDed.
+                                          type: object
+                                      type: object
+                                      x-kubernetes-map-type: atomic
+                                    namespaceSelector:
+                                      description: A label query over the set 
of namespaces
+                                        that the term applies to. The term is 
applied
+                                        to the union of the namespaces 
selected by
+                                        this field and the ones listed in the 
namespaces
+                                        field. null selector and null or empty 
namespaces
+                                        list means "this pod's namespace". An 
empty
+                                        selector ({}) matches all namespaces.
+                                      properties:
+                                        matchExpressions:
+                                          description: matchExpressions is a 
list
+                                            of label selector requirements. 
The requirements
+                                            are ANDed.
+                                          items:
+                                            description: A label selector 
requirement
+                                              is a selector that contains 
values,
+                                              a key, and an operator that 
relates
+                                              the key and values.
+                                            properties:
+                                              key:
+                                                description: key is the label 
key
+                                                  that the selector applies to.
+                                                type: string
+                                              operator:
+                                                description: operator 
represents a
+                                                  key's relationship to a set 
of values.
+                                                  Valid operators are In, 
NotIn, Exists
+                                                  and DoesNotExist.
+                                                type: string
+                                              values:
+                                                description: values is an 
array of
+                                                  string values. If the 
operator is
+                                                  In or NotIn, the values 
array must
+                                                  be non-empty. If the 
operator is
+                                                  Exists or DoesNotExist, the 
values
+                                                  array must be empty. This 
array
+                                                  is replaced during a 
strategic merge
+                                                  patch.
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchLabels:
+                                          additionalProperties:
+                                            type: string
+                                          description: matchLabels is a map of 
{key,value}
+                                            pairs. A single {key,value} in the 
matchLabels
+                                            map is equivalent to an element of 
matchExpressions,
+                                            whose key field is "key", the 
operator
+                                            is "In", and the values array 
contains
+                                            only "value". The requirements are 
ANDed.
+                                          type: object
+                                      type: object
+                                      x-kubernetes-map-type: atomic
+                                    namespaces:
+                                      description: namespaces specifies a 
static list
+                                        of namespace names that the term 
applies to.
+                                        The term is applied to the union of 
the namespaces
+                                        listed in this field and the ones 
selected
+                                        by namespaceSelector. null or empty 
namespaces
+                                        list and null namespaceSelector means 
"this
+                                        pod's namespace".
+                                      items:
+                                        type: string
+                                      type: array
+                                    topologyKey:
+                                      description: This pod should be 
co-located (affinity)
+                                        or not co-located (anti-affinity) with 
the
+                                        pods matching the labelSelector in the 
specified
+                                        namespaces, where co-located is 
defined as
+                                        running on a node whose value of the 
label
+                                        with key topologyKey matches that of 
any node
+                                        on which any of the selected pods is 
running.
+                                        Empty topologyKey is not allowed.
+                                      type: string
+                                  required:
+                                  - topologyKey
+                                  type: object
+                                type: array
+                            type: object
+                        type: object
+                      annotations:
+                        additionalProperties:
+                          type: string
+                        description: Annotations to be added for pods.
+                        type: object
+                      defaultInitContainerResources:
+                        description: DefaultInitContainerResources are the 
resource
+                          requirements for the default init container(s) 
created by
+                          the Solr Operator, if any are created.
+                        properties:
+                          claims:
+                            description: "Claims lists the names of resources, 
defined
+                              in spec.resourceClaims, that are used by this 
container.
+                              \n This is an alpha field and requires enabling 
the
+                              DynamicResourceAllocation feature gate. \n This 
field
+                              is immutable. It can only be set for containers."
+                            items:
+                              description: ResourceClaim references one entry 
in PodSpec.ResourceClaims.
+                              properties:
+                                name:
+                                  description: Name must match the name of one 
entry
+                                    in pod.spec.resourceClaims of the Pod 
where this
+                                    field is used. It makes that resource 
available
+                                    inside a container.
+                                  type: string
+                              required:
+                              - name
+                              type: object
+                            type: array
+                            x-kubernetes-list-map-keys:
+                            - name
+                            x-kubernetes-list-type: map
+                          limits:
+                            additionalProperties:
+                              anyOf:
+                              - type: integer
+                              - type: string
+                              pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                              x-kubernetes-int-or-string: true
+                            description: 'Limits describes the maximum amount 
of compute
+                              resources allowed. More info: 
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+                            type: object
+                          requests:
+                            additionalProperties:
+                              anyOf:
+                              - type: integer
+                              - type: string
+                              pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                              x-kubernetes-int-or-string: true
+                            description: 'Requests describes the minimum 
amount of
+                              compute resources required. If Requests is 
omitted for
+                              a container, it defaults to Limits if that is 
explicitly
+                              specified, otherwise to an 
implementation-defined value.
+                              Requests cannot exceed Limits. More info: 
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+                            type: object
+                        type: object
+                      envVars:
+                        description: Additional environment variables to pass 
to the
+                          default container.
+                        items:
+                          description: EnvVar represents an environment 
variable present
+                            in a Container.
+                          properties:
+                            name:
+                              description: Name of the environment variable. 
Must
+                                be a C_IDENTIFIER.
+                              type: string
+                            value:
+                              description: 'Variable references $(VAR_NAME) 
are expanded
+                                using the previously defined environment 
variables
+                                in the container and any service environment 
variables.
+                                If a variable cannot be resolved, the 
reference in
+                                the input string will be unchanged. Double $$ 
are
+                                reduced to a single $, which allows for 
escaping the
+                                $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 
produce
+                                the string literal "$(VAR_NAME)". Escaped 
references
+                                will never be expanded, regardless of whether 
the
+                                variable exists or not. Defaults to "".'
+                              type: string
+                            valueFrom:
+                              description: Source for the environment 
variable's value.
+                                Cannot be used if value is not empty.
+                              properties:
+                                configMapKeyRef:
+                                  description: Selects a key of a ConfigMap.
+                                  properties:
+                                    key:
+                                      description: The key to select.
+                                      type: string
+                                    name:
+                                      description: 'Name of the referent. More 
info:
+                                        
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                        TODO: Add other useful fields. 
apiVersion,
+                                        kind, uid?'
+                                      type: string
+                                    optional:
+                                      description: Specify whether the 
ConfigMap or
+                                        its key must be defined
+                                      type: boolean
+                                  required:
+                                  - key
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                fieldRef:
+                                  description: 'Selects a field of the pod: 
supports
+                                    metadata.name, metadata.namespace, 
`metadata.labels[''<KEY>'']`,
+                                    `metadata.annotations[''<KEY>'']`, 
spec.nodeName,
+                                    spec.serviceAccountName, status.hostIP, 
status.podIP,
+                                    status.podIPs.'
+                                  properties:
+                                    apiVersion:
+                                      description: Version of the schema the 
FieldPath
+                                        is written in terms of, defaults to 
"v1".
+                                      type: string
+                                    fieldPath:
+                                      description: Path of the field to select 
in
+                                        the specified API version.
+                                      type: string
+                                  required:
+                                  - fieldPath
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                resourceFieldRef:
+                                  description: 'Selects a resource of the 
container:
+                                    only resources limits and requests 
(limits.cpu,
+                                    limits.memory, limits.ephemeral-storage, 
requests.cpu,
+                                    requests.memory and 
requests.ephemeral-storage)
+                                    are currently supported.'
+                                  properties:
+                                    containerName:
+                                      description: 'Container name: required 
for volumes,
+                                        optional for env vars'
+                                      type: string
+                                    divisor:
+                                      anyOf:
+                                      - type: integer
+                                      - type: string
+                                      description: Specifies the output format 
of
+                                        the exposed resources, defaults to "1"
+                                      pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                      x-kubernetes-int-or-string: true
+                                    resource:
+                                      description: 'Required: resource to 
select'
+                                      type: string
+                                  required:
+                                  - resource
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                secretKeyRef:
+                                  description: Selects a key of a secret in 
the pod's
+                                    namespace
+                                  properties:
+                                    key:
+                                      description: The key of the secret to 
select
+                                        from.  Must be a valid secret key.
+                                      type: string
+                                    name:
+                                      description: 'Name of the referent. More 
info:
+                                        
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                        TODO: Add other useful fields. 
apiVersion,
+                                        kind, uid?'
+                                      type: string
+                                    optional:
+                                      description: Specify whether the Secret 
or its
+                                        key must be defined
+                                      type: boolean
+                                  required:
+                                  - key
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                              type: object
+                          required:
+                          - name
+                          type: object
+                        type: array
+                      imagePullSecrets:
+                        description: ImagePullSecrets to apply to the pod. 
These are
+                          for init/sidecarContainers in addition to the 
imagePullSecret
+                          defined for the solr image.
+                        items:
+                          description: LocalObjectReference contains enough 
information
+                            to let you locate the referenced object inside the 
same
+                            namespace.
+                          properties:
+                            name:
+                              description: 'Name of the referent. More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                TODO: Add other useful fields. apiVersion, 
kind, uid?'
+                              type: string
+                          type: object
+                          x-kubernetes-map-type: atomic
+                        type: array
+                      initContainers:
+                        description: Additional init containers to run in the 
pod.
+                          These will run along with the init container that 
sets up
+                          the "solr.xml".
+                        items:
+                          description: A single application container that you 
want
+                            to run within a pod.
+                          properties:
+                            args:
+                              description: 'Arguments to the entrypoint. The 
container
+                                image''s CMD is used if this is not provided. 
Variable
+                                references $(VAR_NAME) are expanded using the 
container''s
+                                environment. If a variable cannot be resolved, 
the
+                                reference in the input string will be 
unchanged. Double
+                                $$ are reduced to a single $, which allows for 
escaping
+                                the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" 
will produce
+                                the string literal "$(VAR_NAME)". Escaped 
references
+                                will never be expanded, regardless of whether 
the
+                                variable exists or not. Cannot be updated. 
More info:
+                                
https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
+                              items:
+                                type: string
+                              type: array
+                            command:
+                              description: 'Entrypoint array. Not executed 
within
+                                a shell. The container image''s ENTRYPOINT is 
used
+                                if this is not provided. Variable references 
$(VAR_NAME)
+                                are expanded using the container''s 
environment. If
+                                a variable cannot be resolved, the reference 
in the
+                                input string will be unchanged. Double $$ are 
reduced
+                                to a single $, which allows for escaping the 
$(VAR_NAME)
+                                syntax: i.e. "$$(VAR_NAME)" will produce the 
string
+                                literal "$(VAR_NAME)". Escaped references will 
never
+                                be expanded, regardless of whether the 
variable exists
+                                or not. Cannot be updated. More info: 
https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
+                              items:
+                                type: string
+                              type: array
+                            env:
+                              description: List of environment variables to 
set in
+                                the container. Cannot be updated.
+                              items:
+                                description: EnvVar represents an environment 
variable
+                                  present in a Container.
+                                properties:
+                                  name:
+                                    description: Name of the environment 
variable.
+                                      Must be a C_IDENTIFIER.
+                                    type: string
+                                  value:
+                                    description: 'Variable references 
$(VAR_NAME)
+                                      are expanded using the previously 
defined environment
+                                      variables in the container and any 
service environment
+                                      variables. If a variable cannot be 
resolved,
+                                      the reference in the input string will 
be unchanged.
+                                      Double $$ are reduced to a single $, 
which allows
+                                      for escaping the $(VAR_NAME) syntax: 
i.e. "$$(VAR_NAME)"
+                                      will produce the string literal 
"$(VAR_NAME)".
+                                      Escaped references will never be 
expanded, regardless
+                                      of whether the variable exists or not. 
Defaults
+                                      to "".'
+                                    type: string
+                                  valueFrom:
+                                    description: Source for the environment 
variable's
+                                      value. Cannot be used if value is not 
empty.
+                                    properties:
+                                      configMapKeyRef:
+                                        description: Selects a key of a 
ConfigMap.
+                                        properties:
+                                          key:
+                                            description: The key to select.
+                                            type: string
+                                          name:
+                                            description: 'Name of the 
referent. More
+                                              info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                              TODO: Add other useful fields. 
apiVersion,
+                                              kind, uid?'
+                                            type: string
+                                          optional:
+                                            description: Specify whether the 
ConfigMap
+                                              or its key must be defined
+                                            type: boolean
+                                        required:
+                                        - key
+                                        type: object
+                                        x-kubernetes-map-type: atomic
+                                      fieldRef:
+                                        description: 'Selects a field of the 
pod:
+                                          supports metadata.name, 
metadata.namespace,

[... 5967 lines stripped ...]


Reply via email to