Added: 
dev/solr/solr-operator/solr-operator-v0.9.1-RC2-revd35f0b50852fb24b1c74e955fda1e33e9912dcc6/crds/solrprometheusexporters.yaml
==============================================================================
--- 
dev/solr/solr-operator/solr-operator-v0.9.1-RC2-revd35f0b50852fb24b1c74e955fda1e33e9912dcc6/crds/solrprometheusexporters.yaml
 (added)
+++ 
dev/solr/solr-operator/solr-operator-v0.9.1-RC2-revd35f0b50852fb24b1c74e955fda1e33e9912dcc6/crds/solrprometheusexporters.yaml
 Wed Mar 19 19:11:38 2025
@@ -0,0 +1,7752 @@
+# 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.9.1
+    argocd.argoproj.io/sync-options: Replace=true
+    controller-gen.kubebuilder.io/version: v0.16.4
+  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
+                                                x-kubernetes-list-type: atomic
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        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
+                                                x-kubernetes-list-type: atomic
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                      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
+                                x-kubernetes-list-type: atomic
+                              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
+                                                x-kubernetes-list-type: atomic
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        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
+                                                x-kubernetes-list-type: atomic
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                      type: object
+                                      x-kubernetes-map-type: atomic
+                                    type: array
+                                    x-kubernetes-list-type: atomic
+                                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.
+                                            If it's null, this PodAffinityTerm 
matches with no 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
+                                                    x-kubernetes-list-type: 
atomic
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                              x-kubernetes-list-type: atomic
+                                            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
+                                        matchLabelKeys:
+                                          description: |-
+                                            MatchLabelKeys is a set of pod 
label keys to select which pods will
+                                            be taken into consideration. The 
keys are used to lookup values from the
+                                            incoming pod labels, those 
key-value labels are merged with `labelSelector` as `key in (value)`
+                                            to select the group of existing 
pods which pods will be taken into consideration
+                                            for the incoming pod's pod (anti) 
affinity. Keys that don't exist in the incoming
+                                            pod labels will be ignored. The 
default value is empty.
+                                            The same key is forbidden to exist 
in both matchLabelKeys and labelSelector.
+                                            Also, matchLabelKeys cannot be set 
when labelSelector isn't set.
+                                            This is a beta field and requires 
enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                          items:
+                                            type: string
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        mismatchLabelKeys:
+                                          description: |-
+                                            MismatchLabelKeys is a set of pod 
label keys to select which pods will
+                                            be taken into consideration. The 
keys are used to lookup values from the
+                                            incoming pod labels, those 
key-value labels are merged with `labelSelector` as `key notin (value)`
+                                            to select the group of existing 
pods which pods will be taken into consideration
+                                            for the incoming pod's pod (anti) 
affinity. Keys that don't exist in the incoming
+                                            pod labels will be ignored. The 
default value is empty.
+                                            The same key is forbidden to exist 
in both mismatchLabelKeys and labelSelector.
+                                            Also, mismatchLabelKeys cannot be 
set when labelSelector isn't set.
+                                            This is a beta field and requires 
enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                          items:
+                                            type: string
+                                          type: array
+                                          x-kubernetes-list-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
+                                                    x-kubernetes-list-type: 
atomic
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                              x-kubernetes-list-type: atomic
+                                            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
+                                          x-kubernetes-list-type: atomic
+                                        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
+                                x-kubernetes-list-type: atomic
+                              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.
+                                        If it's null, this PodAffinityTerm 
matches with no 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
+                                                x-kubernetes-list-type: atomic
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        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
+                                    matchLabelKeys:
+                                      description: |-
+                                        MatchLabelKeys is a set of pod label 
keys to select which pods will
+                                        be taken into consideration. The keys 
are used to lookup values from the
+                                        incoming pod labels, those key-value 
labels are merged with `labelSelector` as `key in (value)`
+                                        to select the group of existing pods 
which pods will be taken into consideration
+                                        for the incoming pod's pod (anti) 
affinity. Keys that don't exist in the incoming
+                                        pod labels will be ignored. The 
default value is empty.
+                                        The same key is forbidden to exist in 
both matchLabelKeys and labelSelector.
+                                        Also, matchLabelKeys cannot be set 
when labelSelector isn't set.
+                                        This is a beta field and requires 
enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                      items:
+                                        type: string
+                                      type: array
+                                      x-kubernetes-list-type: atomic
+                                    mismatchLabelKeys:
+                                      description: |-
+                                        MismatchLabelKeys is a set of pod 
label keys to select which pods will
+                                        be taken into consideration. The keys 
are used to lookup values from the
+                                        incoming pod labels, those key-value 
labels are merged with `labelSelector` as `key notin (value)`
+                                        to select the group of existing pods 
which pods will be taken into consideration
+                                        for the incoming pod's pod (anti) 
affinity. Keys that don't exist in the incoming
+                                        pod labels will be ignored. The 
default value is empty.
+                                        The same key is forbidden to exist in 
both mismatchLabelKeys and labelSelector.
+                                        Also, mismatchLabelKeys cannot be set 
when labelSelector isn't set.
+                                        This is a beta field and requires 
enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                      items:
+                                        type: string
+                                      type: array
+                                      x-kubernetes-list-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
+                                                x-kubernetes-list-type: atomic
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        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
+                                      x-kubernetes-list-type: atomic
+                                    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
+                                x-kubernetes-list-type: atomic
+                            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.
+                                            If it's null, this PodAffinityTerm 
matches with no 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
+                                                    x-kubernetes-list-type: 
atomic
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                              x-kubernetes-list-type: atomic
+                                            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
+                                        matchLabelKeys:
+                                          description: |-
+                                            MatchLabelKeys is a set of pod 
label keys to select which pods will
+                                            be taken into consideration. The 
keys are used to lookup values from the
+                                            incoming pod labels, those 
key-value labels are merged with `labelSelector` as `key in (value)`
+                                            to select the group of existing 
pods which pods will be taken into consideration
+                                            for the incoming pod's pod (anti) 
affinity. Keys that don't exist in the incoming
+                                            pod labels will be ignored. The 
default value is empty.
+                                            The same key is forbidden to exist 
in both matchLabelKeys and labelSelector.
+                                            Also, matchLabelKeys cannot be set 
when labelSelector isn't set.
+                                            This is a beta field and requires 
enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                          items:
+                                            type: string
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        mismatchLabelKeys:
+                                          description: |-
+                                            MismatchLabelKeys is a set of pod 
label keys to select which pods will
+                                            be taken into consideration. The 
keys are used to lookup values from the
+                                            incoming pod labels, those 
key-value labels are merged with `labelSelector` as `key notin (value)`
+                                            to select the group of existing 
pods which pods will be taken into consideration
+                                            for the incoming pod's pod (anti) 
affinity. Keys that don't exist in the incoming
+                                            pod labels will be ignored. The 
default value is empty.
+                                            The same key is forbidden to exist 
in both mismatchLabelKeys and labelSelector.
+                                            Also, mismatchLabelKeys cannot be 
set when labelSelector isn't set.
+                                            This is a beta field and requires 
enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                          items:
+                                            type: string
+                                          type: array
+                                          x-kubernetes-list-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
+                                                    x-kubernetes-list-type: 
atomic
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                              x-kubernetes-list-type: atomic
+                                            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
+                                          x-kubernetes-list-type: atomic
+                                        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
+                                x-kubernetes-list-type: atomic
+                              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.
+                                        If it's null, this PodAffinityTerm 
matches with no 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
+                                                x-kubernetes-list-type: atomic
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        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
+                                    matchLabelKeys:
+                                      description: |-
+                                        MatchLabelKeys is a set of pod label 
keys to select which pods will
+                                        be taken into consideration. The keys 
are used to lookup values from the
+                                        incoming pod labels, those key-value 
labels are merged with `labelSelector` as `key in (value)`
+                                        to select the group of existing pods 
which pods will be taken into consideration
+                                        for the incoming pod's pod (anti) 
affinity. Keys that don't exist in the incoming
+                                        pod labels will be ignored. The 
default value is empty.
+                                        The same key is forbidden to exist in 
both matchLabelKeys and labelSelector.
+                                        Also, matchLabelKeys cannot be set 
when labelSelector isn't set.
+                                        This is a beta field and requires 
enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                      items:
+                                        type: string
+                                      type: array
+                                      x-kubernetes-list-type: atomic
+                                    mismatchLabelKeys:
+                                      description: |-
+                                        MismatchLabelKeys is a set of pod 
label keys to select which pods will
+                                        be taken into consideration. The keys 
are used to lookup values from the
+                                        incoming pod labels, those key-value 
labels are merged with `labelSelector` as `key notin (value)`
+                                        to select the group of existing pods 
which pods will be taken into consideration
+                                        for the incoming pod's pod (anti) 
affinity. Keys that don't exist in the incoming
+                                        pod labels will be ignored. The 
default value is empty.
+                                        The same key is forbidden to exist in 
both mismatchLabelKeys and labelSelector.
+                                        Also, mismatchLabelKeys cannot be set 
when labelSelector isn't set.
+                                        This is a beta field and requires 
enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                      items:
+                                        type: string
+                                      type: array
+                                      x-kubernetes-list-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
+                                                x-kubernetes-list-type: atomic
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                          x-kubernetes-list-type: atomic
+                                        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
+                                      x-kubernetes-list-type: atomic
+                                    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
+                                x-kubernetes-list-type: atomic
+                            type: object
+                        type: object
+                      annotations:
+                        additionalProperties:
+                          type: string
+                        description: Annotations to be added for pods.
+                        type: object
+                      containerSecurityContext:
+                        description: ContainerSecurityContext the 
container-level
+                          security context used by the pod's primary container
+                        properties:
+                          allowPrivilegeEscalation:
+                            description: |-
+                              AllowPrivilegeEscalation controls whether a 
process can gain more
+                              privileges than its parent process. This bool 
directly controls if
+                              the no_new_privs flag will be set on the 
container process.
+                              AllowPrivilegeEscalation is true always when the 
container is:
+                              1) run as Privileged
+                              2) has CAP_SYS_ADMIN
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            type: boolean
+                          appArmorProfile:
+                            description: |-
+                              appArmorProfile is the AppArmor options to use 
by this container. If set, this profile
+                              overrides the pod's appArmorProfile.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            properties:
+                              localhostProfile:
+                                description: |-
+                                  localhostProfile indicates a profile loaded 
on the node that should be used.
+                                  The profile must be preconfigured on the 
node to work.
+                                  Must match the loaded name of the profile.
+                                  Must be set if and only if type is 
"Localhost".
+                                type: string
+                              type:
+                                description: |-
+                                  type indicates which kind of AppArmor 
profile will be applied.
+                                  Valid options are:
+                                    Localhost - a profile pre-loaded on the 
node.
+                                    RuntimeDefault - the container runtime's 
default profile.
+                                    Unconfined - no AppArmor enforcement.
+                                type: string
+                            required:
+                            - type
+                            type: object
+                          capabilities:
+                            description: |-
+                              The capabilities to add/drop when running 
containers.
+                              Defaults to the default set of capabilities 
granted by the container runtime.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            properties:
+                              add:
+                                description: Added capabilities
+                                items:
+                                  description: Capability represent POSIX 
capabilities
+                                    type
+                                  type: string
+                                type: array
+                                x-kubernetes-list-type: atomic
+                              drop:
+                                description: Removed capabilities
+                                items:
+                                  description: Capability represent POSIX 
capabilities
+                                    type
+                                  type: string
+                                type: array
+                                x-kubernetes-list-type: atomic
+                            type: object
+                          privileged:
+                            description: |-
+                              Run container in privileged mode.
+                              Processes in privileged containers are 
essentially equivalent to root on the host.
+                              Defaults to false.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            type: boolean
+                          procMount:
+                            description: |-
+                              procMount denotes the type of proc mount to use 
for the containers.
+                              The default value is Default which uses the 
container runtime defaults for
+                              readonly paths and masked paths.
+                              This requires the ProcMountType feature flag to 
be enabled.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            type: string
+                          readOnlyRootFilesystem:
+                            description: |-
+                              Whether this container has a read-only root 
filesystem.
+                              Default is false.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            type: boolean
+                          runAsGroup:
+                            description: |-
+                              The GID to run the entrypoint of the container 
process.
+                              Uses runtime default if unset.
+                              May also be set in PodSecurityContext.  If set 
in both SecurityContext and
+                              PodSecurityContext, the value specified in 
SecurityContext takes precedence.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            format: int64
+                            type: integer
+                          runAsNonRoot:
+                            description: |-
+                              Indicates that the container must run as a 
non-root user.
+                              If true, the Kubelet will validate the image at 
runtime to ensure that it
+                              does not run as UID 0 (root) and fail to start 
the container if it does.
+                              If unset or false, no such validation will be 
performed.
+                              May also be set in PodSecurityContext.  If set 
in both SecurityContext and
+                              PodSecurityContext, the value specified in 
SecurityContext takes precedence.
+                            type: boolean
+                          runAsUser:
+                            description: |-
+                              The UID to run the entrypoint of the container 
process.
+                              Defaults to user specified in image metadata if 
unspecified.
+                              May also be set in PodSecurityContext.  If set 
in both SecurityContext and
+                              PodSecurityContext, the value specified in 
SecurityContext takes precedence.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            format: int64
+                            type: integer
+                          seLinuxOptions:
+                            description: |-
+                              The SELinux context to be applied to the 
container.
+                              If unspecified, the container runtime will 
allocate a random SELinux context for each
+                              container.  May also be set in 
PodSecurityContext.  If set in both SecurityContext and
+                              PodSecurityContext, the value specified in 
SecurityContext takes precedence.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            properties:
+                              level:
+                                description: Level is SELinux level label that 
applies
+                                  to the container.
+                                type: string
+                              role:
+                                description: Role is a SELinux role label that 
applies
+                                  to the container.
+                                type: string
+                              type:
+                                description: Type is a SELinux type label that 
applies
+                                  to the container.
+                                type: string
+                              user:
+                                description: User is a SELinux user label that 
applies
+                                  to the container.
+                                type: string
+                            type: object
+                          seccompProfile:
+                            description: |-
+                              The seccomp options to use by this container. If 
seccomp options are
+                              provided at both the pod & container level, the 
container options
+                              override the pod options.
+                              Note that this field cannot be set when 
spec.os.name is windows.
+                            properties:
+                              localhostProfile:
+                                description: |-
+                                  localhostProfile indicates a profile defined 
in a file on the node should be used.
+                                  The profile must be preconfigured on the 
node to work.

[... 6541 lines stripped ...]


Reply via email to