# Source: https://raw.githubusercontent.com/grafana/grafana-operator/v{version}/deploy/helm/grafana-operator/crds/grafana.integreatly.org_grafanas.yaml
# Version: 5.19.4
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.3
  name: grafanas.grafana.integreatly.org
spec:
  group: grafana.integreatly.org
  names:
    categories:
      - grafana-operator
    kind: Grafana
    listKind: GrafanaList
    plural: grafanas
    singular: grafana
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .status.version
          name: Version
          type: string
        - jsonPath: .status.stage
          name: Stage
          type: string
        - jsonPath: .status.stageStatus
          name: Stage status
          type: string
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: Grafana is the Schema for the grafanas 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: GrafanaSpec defines the desired state of Grafana
              properties:
                client:
                  description: Client defines how the grafana-operator talks to the grafana instance.
                  properties:
                    headers:
                      additionalProperties:
                        type: string
                      description: Custom HTTP headers to use when interacting with this Grafana.
                      type: object
                    preferIngress:
                      description: If the operator should send it's request through the grafana instances ingress object instead of through the service.
                      nullable: true
                      type: boolean
                    timeout:
                      nullable: true
                      type: integer
                    tls:
                      description: TLS Configuration used to talk with the grafana instance.
                      properties:
                        certSecretRef:
                          description: Use a secret as a reference to give TLS Certificate information
                          properties:
                            name:
                              description: name is unique within a namespace to reference a secret resource.
                              type: string
                            namespace:
                              description: namespace defines the space within which the secret name must be unique.
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        insecureSkipVerify:
                          description: Disable the CA check of the server
                          type: boolean
                      type: object
                      x-kubernetes-validations:
                        - message: insecureSkipVerify and certSecretRef cannot be set at the same time
                          rule: (has(self.insecureSkipVerify) && !(has(self.certSecretRef))) || (has(self.certSecretRef) && !(has(self.insecureSkipVerify)))
                  type: object
                config:
                  additionalProperties:
                    additionalProperties:
                      type: string
                    type: object
                  description: Config defines how your grafana ini file should looks like.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                deployment:
                  description: Deployment sets how the deployment object should look like with your grafana instance, contains a number of defaults.
                  properties:
                    metadata:
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    spec:
                      properties:
                        minReadySeconds:
                          format: int32
                          type: integer
                        paused:
                          type: boolean
                        progressDeadlineSeconds:
                          format: int32
                          type: integer
                        replicas:
                          format: int32
                          type: integer
                        revisionHistoryLimit:
                          format: int32
                          type: integer
                        selector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    type: string
                                  values:
                                    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
                              type: object
                          type: object
                          x-kubernetes-map-type: atomic
                        strategy:
                          properties:
                            rollingUpdate:
                              properties:
                                maxSurge:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  x-kubernetes-int-or-string: true
                                maxUnavailable:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  x-kubernetes-int-or-string: true
                              type: object
                            type:
                              type: string
                          type: object
                        template:
                          properties:
                            metadata:
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            spec:
                              properties:
                                activeDeadlineSeconds:
                                  format: int64
                                  type: integer
                                affinity:
                                  properties:
                                    nodeAffinity:
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          items:
                                            properties:
                                              preference:
                                                properties:
                                                  matchExpressions:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        operator:
                                                          type: string
                                                        values:
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                        - key
                                                        - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        operator:
                                                          type: string
                                                        values:
                                                          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:
                                                format: int32
                                                type: integer
                                            required:
                                              - preference
                                              - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          properties:
                                            nodeSelectorTerms:
                                              items:
                                                properties:
                                                  matchExpressions:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        operator:
                                                          type: string
                                                        values:
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                        - key
                                                        - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        operator:
                                                          type: string
                                                        values:
                                                          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:
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          items:
                                            properties:
                                              podAffinityTerm:
                                                properties:
                                                  labelSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    type: string
                                                required:
                                                  - topologyKey
                                                type: object
                                              weight:
                                                format: int32
                                                type: integer
                                            required:
                                              - podAffinityTerm
                                              - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          items:
                                            properties:
                                              labelSelector:
                                                properties:
                                                  matchExpressions:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        operator:
                                                          type: string
                                                        values:
                                                          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
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                properties:
                                                  matchExpressions:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        operator:
                                                          type: string
                                                        values:
                                                          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
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                type: string
                                            required:
                                              - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          items:
                                            properties:
                                              podAffinityTerm:
                                                properties:
                                                  labelSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    type: string
                                                required:
                                                  - topologyKey
                                                type: object
                                              weight:
                                                format: int32
                                                type: integer
                                            required:
                                              - podAffinityTerm
                                              - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          items:
                                            properties:
                                              labelSelector:
                                                properties:
                                                  matchExpressions:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        operator:
                                                          type: string
                                                        values:
                                                          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
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                properties:
                                                  matchExpressions:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        operator:
                                                          type: string
                                                        values:
                                                          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
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                type: string
                                            required:
                                              - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                automountServiceAccountToken:
                                  type: boolean
                                containers:
                                  items:
                                    properties:
                                      args:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      command:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      env:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                            valueFrom:
                                              properties:
                                                configMapKeyRef:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                    - key
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                fieldRef:
                                                  properties:
                                                    apiVersion:
                                                      type: string
                                                    fieldPath:
                                                      type: string
                                                  required:
                                                    - fieldPath
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                resourceFieldRef:
                                                  properties:
                                                    containerName:
                                                      type: string
                                                    divisor:
                                                      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
                                                    resource:
                                                      type: string
                                                  required:
                                                    - resource
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                secretKeyRef:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                    - key
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              type: object
                                          required:
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - name
                                        x-kubernetes-list-type: map
                                      envFrom:
                                        items:
                                          properties:
                                            configMapRef:
                                              properties:
                                                name:
                                                  default: ""
                                                  type: string
                                                optional:
                                                  type: boolean
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            prefix:
                                              type: string
                                            secretRef:
                                              properties:
                                                name:
                                                  default: ""
                                                  type: string
                                                optional:
                                                  type: boolean
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      image:
                                        type: string
                                      imagePullPolicy:
                                        type: string
                                      lifecycle:
                                        properties:
                                          postStart:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              sleep:
                                                properties:
                                                  seconds:
                                                    format: int64
                                                    type: integer
                                                required:
                                                  - seconds
                                                type: object
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                            type: object
                                          preStop:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              sleep:
                                                properties:
                                                  seconds:
                                                    format: int64
                                                    type: integer
                                                required:
                                                  - seconds
                                                type: object
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                            type: object
                                          stopSignal:
                                            type: string
                                        type: object
                                      livenessProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      name:
                                        type: string
                                      ports:
                                        items:
                                          properties:
                                            containerPort:
                                              format: int32
                                              type: integer
                                            hostIP:
                                              type: string
                                            hostPort:
                                              format: int32
                                              type: integer
                                            name:
                                              type: string
                                            protocol:
                                              default: TCP
                                              type: string
                                          required:
                                            - containerPort
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - containerPort
                                          - protocol
                                        x-kubernetes-list-type: map
                                      readinessProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      resizePolicy:
                                        items:
                                          properties:
                                            resourceName:
                                              type: string
                                            restartPolicy:
                                              type: string
                                          required:
                                            - resourceName
                                            - restartPolicy
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      resources:
                                        properties:
                                          claims:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                request:
                                                  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
                                            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
                                            type: object
                                        type: object
                                      restartPolicy:
                                        type: string
                                      securityContext:
                                        properties:
                                          allowPrivilegeEscalation:
                                            type: boolean
                                          appArmorProfile:
                                            properties:
                                              localhostProfile:
                                                type: string
                                              type:
                                                type: string
                                            required:
                                              - type
                                            type: object
                                          capabilities:
                                            properties:
                                              add:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              drop:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          privileged:
                                            type: boolean
                                          procMount:
                                            type: string
                                          readOnlyRootFilesystem:
                                            type: boolean
                                          runAsGroup:
                                            format: int64
                                            type: integer
                                          runAsNonRoot:
                                            type: boolean
                                          runAsUser:
                                            format: int64
                                            type: integer
                                          seLinuxOptions:
                                            properties:
                                              level:
                                                type: string
                                              role:
                                                type: string
                                              type:
                                                type: string
                                              user:
                                                type: string
                                            type: object
                                          seccompProfile:
                                            properties:
                                              localhostProfile:
                                                type: string
                                              type:
                                                type: string
                                            required:
                                              - type
                                            type: object
                                          windowsOptions:
                                            properties:
                                              gmsaCredentialSpec:
                                                type: string
                                              gmsaCredentialSpecName:
                                                type: string
                                              hostProcess:
                                                type: boolean
                                              runAsUserName:
                                                type: string
                                            type: object
                                        type: object
                                      startupProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      stdin:
                                        type: boolean
                                      stdinOnce:
                                        type: boolean
                                      terminationMessagePath:
                                        type: string
                                      terminationMessagePolicy:
                                        type: string
                                      tty:
                                        type: boolean
                                      volumeDevices:
                                        items:
                                          properties:
                                            devicePath:
                                              type: string
                                            name:
                                              type: string
                                          required:
                                            - devicePath
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - devicePath
                                        x-kubernetes-list-type: map
                                      volumeMounts:
                                        items:
                                          properties:
                                            mountPath:
                                              type: string
                                            mountPropagation:
                                              type: string
                                            name:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            recursiveReadOnly:
                                              type: string
                                            subPath:
                                              type: string
                                            subPathExpr:
                                              type: string
                                          required:
                                            - mountPath
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - mountPath
                                        x-kubernetes-list-type: map
                                      workingDir:
                                        type: string
                                    required:
                                      - name
                                    type: object
                                  type: array
                                dnsConfig:
                                  properties:
                                    nameservers:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    options:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    searches:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  type: object
                                dnsPolicy:
                                  type: string
                                enableServiceLinks:
                                  type: boolean
                                ephemeralContainers:
                                  items:
                                    properties:
                                      args:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      command:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      env:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                            valueFrom:
                                              properties:
                                                configMapKeyRef:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                    - key
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                fieldRef:
                                                  properties:
                                                    apiVersion:
                                                      type: string
                                                    fieldPath:
                                                      type: string
                                                  required:
                                                    - fieldPath
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                resourceFieldRef:
                                                  properties:
                                                    containerName:
                                                      type: string
                                                    divisor:
                                                      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
                                                    resource:
                                                      type: string
                                                  required:
                                                    - resource
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                secretKeyRef:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                    - key
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              type: object
                                          required:
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - name
                                        x-kubernetes-list-type: map
                                      envFrom:
                                        items:
                                          properties:
                                            configMapRef:
                                              properties:
                                                name:
                                                  default: ""
                                                  type: string
                                                optional:
                                                  type: boolean
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            prefix:
                                              type: string
                                            secretRef:
                                              properties:
                                                name:
                                                  default: ""
                                                  type: string
                                                optional:
                                                  type: boolean
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      image:
                                        type: string
                                      imagePullPolicy:
                                        type: string
                                      lifecycle:
                                        properties:
                                          postStart:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              sleep:
                                                properties:
                                                  seconds:
                                                    format: int64
                                                    type: integer
                                                required:
                                                  - seconds
                                                type: object
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                            type: object
                                          preStop:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              sleep:
                                                properties:
                                                  seconds:
                                                    format: int64
                                                    type: integer
                                                required:
                                                  - seconds
                                                type: object
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                            type: object
                                          stopSignal:
                                            type: string
                                        type: object
                                      livenessProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      name:
                                        type: string
                                      ports:
                                        items:
                                          properties:
                                            containerPort:
                                              format: int32
                                              type: integer
                                            hostIP:
                                              type: string
                                            hostPort:
                                              format: int32
                                              type: integer
                                            name:
                                              type: string
                                            protocol:
                                              default: TCP
                                              type: string
                                          required:
                                            - containerPort
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - containerPort
                                          - protocol
                                        x-kubernetes-list-type: map
                                      readinessProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      resizePolicy:
                                        items:
                                          properties:
                                            resourceName:
                                              type: string
                                            restartPolicy:
                                              type: string
                                          required:
                                            - resourceName
                                            - restartPolicy
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      resources:
                                        properties:
                                          claims:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                request:
                                                  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
                                            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
                                            type: object
                                        type: object
                                      restartPolicy:
                                        type: string
                                      securityContext:
                                        properties:
                                          allowPrivilegeEscalation:
                                            type: boolean
                                          appArmorProfile:
                                            properties:
                                              localhostProfile:
                                                type: string
                                              type:
                                                type: string
                                            required:
                                              - type
                                            type: object
                                          capabilities:
                                            properties:
                                              add:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              drop:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          privileged:
                                            type: boolean
                                          procMount:
                                            type: string
                                          readOnlyRootFilesystem:
                                            type: boolean
                                          runAsGroup:
                                            format: int64
                                            type: integer
                                          runAsNonRoot:
                                            type: boolean
                                          runAsUser:
                                            format: int64
                                            type: integer
                                          seLinuxOptions:
                                            properties:
                                              level:
                                                type: string
                                              role:
                                                type: string
                                              type:
                                                type: string
                                              user:
                                                type: string
                                            type: object
                                          seccompProfile:
                                            properties:
                                              localhostProfile:
                                                type: string
                                              type:
                                                type: string
                                            required:
                                              - type
                                            type: object
                                          windowsOptions:
                                            properties:
                                              gmsaCredentialSpec:
                                                type: string
                                              gmsaCredentialSpecName:
                                                type: string
                                              hostProcess:
                                                type: boolean
                                              runAsUserName:
                                                type: string
                                            type: object
                                        type: object
                                      startupProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      stdin:
                                        type: boolean
                                      stdinOnce:
                                        type: boolean
                                      targetContainerName:
                                        type: string
                                      terminationMessagePath:
                                        type: string
                                      terminationMessagePolicy:
                                        type: string
                                      tty:
                                        type: boolean
                                      volumeDevices:
                                        items:
                                          properties:
                                            devicePath:
                                              type: string
                                            name:
                                              type: string
                                          required:
                                            - devicePath
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - devicePath
                                        x-kubernetes-list-type: map
                                      volumeMounts:
                                        items:
                                          properties:
                                            mountPath:
                                              type: string
                                            mountPropagation:
                                              type: string
                                            name:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            recursiveReadOnly:
                                              type: string
                                            subPath:
                                              type: string
                                            subPathExpr:
                                              type: string
                                          required:
                                            - mountPath
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - mountPath
                                        x-kubernetes-list-type: map
                                      workingDir:
                                        type: string
                                    required:
                                      - name
                                    type: object
                                  type: array
                                hostAliases:
                                  items:
                                    properties:
                                      hostnames:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      ip:
                                        type: string
                                    required:
                                      - ip
                                    type: object
                                  type: array
                                hostIPC:
                                  type: boolean
                                hostNetwork:
                                  type: boolean
                                hostPID:
                                  type: boolean
                                hostUsers:
                                  type: boolean
                                hostname:
                                  type: string
                                imagePullSecrets:
                                  items:
                                    properties:
                                      name:
                                        default: ""
                                        type: string
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  type: array
                                initContainers:
                                  items:
                                    properties:
                                      args:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      command:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      env:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                            valueFrom:
                                              properties:
                                                configMapKeyRef:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                    - key
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                fieldRef:
                                                  properties:
                                                    apiVersion:
                                                      type: string
                                                    fieldPath:
                                                      type: string
                                                  required:
                                                    - fieldPath
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                resourceFieldRef:
                                                  properties:
                                                    containerName:
                                                      type: string
                                                    divisor:
                                                      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
                                                    resource:
                                                      type: string
                                                  required:
                                                    - resource
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                secretKeyRef:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                    - key
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              type: object
                                          required:
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - name
                                        x-kubernetes-list-type: map
                                      envFrom:
                                        items:
                                          properties:
                                            configMapRef:
                                              properties:
                                                name:
                                                  default: ""
                                                  type: string
                                                optional:
                                                  type: boolean
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            prefix:
                                              type: string
                                            secretRef:
                                              properties:
                                                name:
                                                  default: ""
                                                  type: string
                                                optional:
                                                  type: boolean
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      image:
                                        type: string
                                      imagePullPolicy:
                                        type: string
                                      lifecycle:
                                        properties:
                                          postStart:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              sleep:
                                                properties:
                                                  seconds:
                                                    format: int64
                                                    type: integer
                                                required:
                                                  - seconds
                                                type: object
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                            type: object
                                          preStop:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              sleep:
                                                properties:
                                                  seconds:
                                                    format: int64
                                                    type: integer
                                                required:
                                                  - seconds
                                                type: object
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                            type: object
                                          stopSignal:
                                            type: string
                                        type: object
                                      livenessProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      name:
                                        type: string
                                      ports:
                                        items:
                                          properties:
                                            containerPort:
                                              format: int32
                                              type: integer
                                            hostIP:
                                              type: string
                                            hostPort:
                                              format: int32
                                              type: integer
                                            name:
                                              type: string
                                            protocol:
                                              default: TCP
                                              type: string
                                          required:
                                            - containerPort
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - containerPort
                                          - protocol
                                        x-kubernetes-list-type: map
                                      readinessProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      resizePolicy:
                                        items:
                                          properties:
                                            resourceName:
                                              type: string
                                            restartPolicy:
                                              type: string
                                          required:
                                            - resourceName
                                            - restartPolicy
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      resources:
                                        properties:
                                          claims:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                request:
                                                  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
                                            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
                                            type: object
                                        type: object
                                      restartPolicy:
                                        type: string
                                      securityContext:
                                        properties:
                                          allowPrivilegeEscalation:
                                            type: boolean
                                          appArmorProfile:
                                            properties:
                                              localhostProfile:
                                                type: string
                                              type:
                                                type: string
                                            required:
                                              - type
                                            type: object
                                          capabilities:
                                            properties:
                                              add:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              drop:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          privileged:
                                            type: boolean
                                          procMount:
                                            type: string
                                          readOnlyRootFilesystem:
                                            type: boolean
                                          runAsGroup:
                                            format: int64
                                            type: integer
                                          runAsNonRoot:
                                            type: boolean
                                          runAsUser:
                                            format: int64
                                            type: integer
                                          seLinuxOptions:
                                            properties:
                                              level:
                                                type: string
                                              role:
                                                type: string
                                              type:
                                                type: string
                                              user:
                                                type: string
                                            type: object
                                          seccompProfile:
                                            properties:
                                              localhostProfile:
                                                type: string
                                              type:
                                                type: string
                                            required:
                                              - type
                                            type: object
                                          windowsOptions:
                                            properties:
                                              gmsaCredentialSpec:
                                                type: string
                                              gmsaCredentialSpecName:
                                                type: string
                                              hostProcess:
                                                type: boolean
                                              runAsUserName:
                                                type: string
                                            type: object
                                        type: object
                                      startupProbe:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          failureThreshold:
                                            format: int32
                                            type: integer
                                          grpc:
                                            properties:
                                              port:
                                                format: int32
                                                type: integer
                                              service:
                                                default: ""
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                    - name
                                                    - value
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                              - port
                                            type: object
                                          initialDelaySeconds:
                                            format: int32
                                            type: integer
                                          periodSeconds:
                                            format: int32
                                            type: integer
                                          successThreshold:
                                            format: int32
                                            type: integer
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                              - port
                                            type: object
                                          terminationGracePeriodSeconds:
                                            format: int64
                                            type: integer
                                          timeoutSeconds:
                                            format: int32
                                            type: integer
                                        type: object
                                      stdin:
                                        type: boolean
                                      stdinOnce:
                                        type: boolean
                                      terminationMessagePath:
                                        type: string
                                      terminationMessagePolicy:
                                        type: string
                                      tty:
                                        type: boolean
                                      volumeDevices:
                                        items:
                                          properties:
                                            devicePath:
                                              type: string
                                            name:
                                              type: string
                                          required:
                                            - devicePath
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - devicePath
                                        x-kubernetes-list-type: map
                                      volumeMounts:
                                        items:
                                          properties:
                                            mountPath:
                                              type: string
                                            mountPropagation:
                                              type: string
                                            name:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            recursiveReadOnly:
                                              type: string
                                            subPath:
                                              type: string
                                            subPathExpr:
                                              type: string
                                          required:
                                            - mountPath
                                            - name
                                          type: object
                                        type: array
                                        x-kubernetes-list-map-keys:
                                          - mountPath
                                        x-kubernetes-list-type: map
                                      workingDir:
                                        type: string
                                    required:
                                      - name
                                    type: object
                                  type: array
                                nodeName:
                                  type: string
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  type: object
                                  x-kubernetes-map-type: atomic
                                os:
                                  properties:
                                    name:
                                      type: string
                                  required:
                                    - name
                                  type: object
                                overhead:
                                  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
                                  type: object
                                preemptionPolicy:
                                  type: string
                                priority:
                                  format: int32
                                  type: integer
                                priorityClassName:
                                  type: string
                                readinessGates:
                                  items:
                                    properties:
                                      conditionType:
                                        type: string
                                    required:
                                      - conditionType
                                    type: object
                                  type: array
                                restartPolicy:
                                  type: string
                                runtimeClassName:
                                  type: string
                                schedulerName:
                                  type: string
                                securityContext:
                                  properties:
                                    appArmorProfile:
                                      properties:
                                        localhostProfile:
                                          type: string
                                        type:
                                          type: string
                                      required:
                                        - type
                                      type: object
                                    fsGroup:
                                      format: int64
                                      type: integer
                                    fsGroupChangePolicy:
                                      type: string
                                    runAsGroup:
                                      format: int64
                                      type: integer
                                    runAsNonRoot:
                                      type: boolean
                                    runAsUser:
                                      format: int64
                                      type: integer
                                    seLinuxChangePolicy:
                                      type: string
                                    seLinuxOptions:
                                      properties:
                                        level:
                                          type: string
                                        role:
                                          type: string
                                        type:
                                          type: string
                                        user:
                                          type: string
                                      type: object
                                    seccompProfile:
                                      properties:
                                        localhostProfile:
                                          type: string
                                        type:
                                          type: string
                                      required:
                                        - type
                                      type: object
                                    supplementalGroups:
                                      items:
                                        format: int64
                                        type: integer
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    supplementalGroupsPolicy:
                                      type: string
                                    sysctls:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                          - name
                                          - value
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    windowsOptions:
                                      properties:
                                        gmsaCredentialSpec:
                                          type: string
                                        gmsaCredentialSpecName:
                                          type: string
                                        hostProcess:
                                          type: boolean
                                        runAsUserName:
                                          type: string
                                      type: object
                                  type: object
                                serviceAccount:
                                  type: string
                                serviceAccountName:
                                  type: string
                                setHostnameAsFQDN:
                                  type: boolean
                                shareProcessNamespace:
                                  type: boolean
                                subdomain:
                                  type: string
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                tolerations:
                                  items:
                                    properties:
                                      effect:
                                        type: string
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      tolerationSeconds:
                                        format: int64
                                        type: integer
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                topologySpreadConstraints:
                                  items:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  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
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      matchLabelKeys:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      maxSkew:
                                        format: int32
                                        type: integer
                                      minDomains:
                                        format: int32
                                        type: integer
                                      nodeAffinityPolicy:
                                        type: string
                                      nodeTaintsPolicy:
                                        type: string
                                      topologyKey:
                                        type: string
                                      whenUnsatisfiable:
                                        type: string
                                    required:
                                      - maxSkew
                                      - topologyKey
                                      - whenUnsatisfiable
                                    type: object
                                  type: array
                                  x-kubernetes-list-map-keys:
                                    - topologyKey
                                    - whenUnsatisfiable
                                  x-kubernetes-list-type: map
                                volumes:
                                  items:
                                    properties:
                                      awsElasticBlockStore:
                                        properties:
                                          fsType:
                                            type: string
                                          partition:
                                            format: int32
                                            type: integer
                                          readOnly:
                                            type: boolean
                                          volumeID:
                                            type: string
                                        required:
                                          - volumeID
                                        type: object
                                      azureDisk:
                                        properties:
                                          cachingMode:
                                            type: string
                                          diskName:
                                            type: string
                                          diskURI:
                                            type: string
                                          fsType:
                                            default: ext4
                                            type: string
                                          kind:
                                            type: string
                                          readOnly:
                                            default: false
                                            type: boolean
                                        required:
                                          - diskName
                                          - diskURI
                                        type: object
                                      azureFile:
                                        properties:
                                          readOnly:
                                            type: boolean
                                          secretName:
                                            type: string
                                          shareName:
                                            type: string
                                        required:
                                          - secretName
                                          - shareName
                                        type: object
                                      cephfs:
                                        properties:
                                          monitors:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          path:
                                            type: string
                                          readOnly:
                                            type: boolean
                                          secretFile:
                                            type: string
                                          secretRef:
                                            properties:
                                              name:
                                                default: ""
                                                type: string
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          user:
                                            type: string
                                        required:
                                          - monitors
                                        type: object
                                      cinder:
                                        properties:
                                          fsType:
                                            type: string
                                          readOnly:
                                            type: boolean
                                          secretRef:
                                            properties:
                                              name:
                                                default: ""
                                                type: string
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          volumeID:
                                            type: string
                                        required:
                                          - volumeID
                                        type: object
                                      configMap:
                                        properties:
                                          defaultMode:
                                            format: int32
                                            type: integer
                                          items:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                              required:
                                                - key
                                                - path
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          name:
                                            default: ""
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      csi:
                                        properties:
                                          driver:
                                            type: string
                                          fsType:
                                            type: string
                                          nodePublishSecretRef:
                                            properties:
                                              name:
                                                default: ""
                                                type: string
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          readOnly:
                                            type: boolean
                                          volumeAttributes:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        required:
                                          - driver
                                        type: object
                                      downwardAPI:
                                        properties:
                                          defaultMode:
                                            format: int32
                                            type: integer
                                          items:
                                            items:
                                              properties:
                                                fieldRef:
                                                  properties:
                                                    apiVersion:
                                                      type: string
                                                    fieldPath:
                                                      type: string
                                                  required:
                                                    - fieldPath
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                                resourceFieldRef:
                                                  properties:
                                                    containerName:
                                                      type: string
                                                    divisor:
                                                      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
                                                    resource:
                                                      type: string
                                                  required:
                                                    - resource
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              required:
                                                - path
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        type: object
                                      emptyDir:
                                        properties:
                                          medium:
                                            type: string
                                          sizeLimit:
                                            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
                                        type: object
                                      ephemeral:
                                        properties:
                                          volumeClaimTemplate:
                                            properties:
                                              metadata:
                                                type: object
                                              spec:
                                                properties:
                                                  accessModes:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  dataSource:
                                                    properties:
                                                      apiGroup:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      name:
                                                        type: string
                                                    required:
                                                      - kind
                                                      - name
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  dataSourceRef:
                                                    properties:
                                                      apiGroup:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                    required:
                                                      - kind
                                                      - name
                                                    type: object
                                                  resources:
                                                    properties:
                                                      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
                                                        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
                                                        type: object
                                                    type: object
                                                  selector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  storageClassName:
                                                    type: string
                                                  volumeAttributesClassName:
                                                    type: string
                                                  volumeMode:
                                                    type: string
                                                  volumeName:
                                                    type: string
                                                type: object
                                            required:
                                              - spec
                                            type: object
                                        type: object
                                      fc:
                                        properties:
                                          fsType:
                                            type: string
                                          lun:
                                            format: int32
                                            type: integer
                                          readOnly:
                                            type: boolean
                                          targetWWNs:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          wwids:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        type: object
                                      flexVolume:
                                        properties:
                                          driver:
                                            type: string
                                          fsType:
                                            type: string
                                          options:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          readOnly:
                                            type: boolean
                                          secretRef:
                                            properties:
                                              name:
                                                default: ""
                                                type: string
                                            type: object
                                            x-kubernetes-map-type: atomic
                                        required:
                                          - driver
                                        type: object
                                      flocker:
                                        properties:
                                          datasetName:
                                            type: string
                                          datasetUUID:
                                            type: string
                                        type: object
                                      gcePersistentDisk:
                                        properties:
                                          fsType:
                                            type: string
                                          partition:
                                            format: int32
                                            type: integer
                                          pdName:
                                            type: string
                                          readOnly:
                                            type: boolean
                                        required:
                                          - pdName
                                        type: object
                                      gitRepo:
                                        properties:
                                          directory:
                                            type: string
                                          repository:
                                            type: string
                                          revision:
                                            type: string
                                        required:
                                          - repository
                                        type: object
                                      glusterfs:
                                        properties:
                                          endpoints:
                                            type: string
                                          path:
                                            type: string
                                          readOnly:
                                            type: boolean
                                        required:
                                          - endpoints
                                          - path
                                        type: object
                                      hostPath:
                                        properties:
                                          path:
                                            type: string
                                          type:
                                            type: string
                                        required:
                                          - path
                                        type: object
                                      image:
                                        properties:
                                          pullPolicy:
                                            type: string
                                          reference:
                                            type: string
                                        type: object
                                      iscsi:
                                        properties:
                                          chapAuthDiscovery:
                                            type: boolean
                                          chapAuthSession:
                                            type: boolean
                                          fsType:
                                            type: string
                                          initiatorName:
                                            type: string
                                          iqn:
                                            type: string
                                          iscsiInterface:
                                            default: default
                                            type: string
                                          lun:
                                            format: int32
                                            type: integer
                                          portals:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          readOnly:
                                            type: boolean
                                          secretRef:
                                            properties:
                                              name:
                                                default: ""
                                                type: string
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          targetPortal:
                                            type: string
                                        required:
                                          - iqn
                                          - lun
                                          - targetPortal
                                        type: object
                                      name:
                                        type: string
                                      nfs:
                                        properties:
                                          path:
                                            type: string
                                          readOnly:
                                            type: boolean
                                          server:
                                            type: string
                                        required:
                                          - path
                                          - server
                                        type: object
                                      persistentVolumeClaim:
                                        properties:
                                          claimName:
                                            type: string
                                          readOnly:
                                            type: boolean
                                        required:
                                          - claimName
                                        type: object
                                      photonPersistentDisk:
                                        properties:
                                          fsType:
                                            type: string
                                          pdID:
                                            type: string
                                        required:
                                          - pdID
                                        type: object
                                      portworxVolume:
                                        properties:
                                          fsType:
                                            type: string
                                          readOnly:
                                            type: boolean
                                          volumeID:
                                            type: string
                                        required:
                                          - volumeID
                                        type: object
                                      projected:
                                        properties:
                                          defaultMode:
                                            format: int32
                                            type: integer
                                          sources:
                                            items:
                                              properties:
                                                clusterTrustBundle:
                                                  properties:
                                                    labelSelector:
                                                      properties:
                                                        matchExpressions:
                                                          items:
                                                            properties:
                                                              key:
                                                                type: string
                                                              operator:
                                                                type: string
                                                              values:
                                                                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
                                                          type: object
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                    path:
                                                      type: string
                                                    signerName:
                                                      type: string
                                                  required:
                                                    - path
                                                  type: object
                                                configMap:
                                                  properties:
                                                    items:
                                                      items:
                                                        properties:
                                                          key:
                                                            type: string
                                                          mode:
                                                            format: int32
                                                            type: integer
                                                          path:
                                                            type: string
                                                        required:
                                                          - key
                                                          - path
                                                        type: object
                                                      type: array
                                                      x-kubernetes-list-type: atomic
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                downwardAPI:
                                                  properties:
                                                    items:
                                                      items:
                                                        properties:
                                                          fieldRef:
                                                            properties:
                                                              apiVersion:
                                                                type: string
                                                              fieldPath:
                                                                type: string
                                                            required:
                                                              - fieldPath
                                                            type: object
                                                            x-kubernetes-map-type: atomic
                                                          mode:
                                                            format: int32
                                                            type: integer
                                                          path:
                                                            type: string
                                                          resourceFieldRef:
                                                            properties:
                                                              containerName:
                                                                type: string
                                                              divisor:
                                                                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
                                                              resource:
                                                                type: string
                                                            required:
                                                              - resource
                                                            type: object
                                                            x-kubernetes-map-type: atomic
                                                        required:
                                                          - path
                                                        type: object
                                                      type: array
                                                      x-kubernetes-list-type: atomic
                                                  type: object
                                                secret:
                                                  properties:
                                                    items:
                                                      items:
                                                        properties:
                                                          key:
                                                            type: string
                                                          mode:
                                                            format: int32
                                                            type: integer
                                                          path:
                                                            type: string
                                                        required:
                                                          - key
                                                          - path
                                                        type: object
                                                      type: array
                                                      x-kubernetes-list-type: atomic
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                serviceAccountToken:
                                                  properties:
                                                    audience:
                                                      type: string
                                                    expirationSeconds:
                                                      format: int64
                                                      type: integer
                                                    path:
                                                      type: string
                                                  required:
                                                    - path
                                                  type: object
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        type: object
                                      quobyte:
                                        properties:
                                          group:
                                            type: string
                                          readOnly:
                                            type: boolean
                                          registry:
                                            type: string
                                          tenant:
                                            type: string
                                          user:
                                            type: string
                                          volume:
                                            type: string
                                        required:
                                          - registry
                                          - volume
                                        type: object
                                      rbd:
                                        properties:
                                          fsType:
                                            type: string
                                          image:
                                            type: string
                                          keyring:
                                            default: /etc/ceph/keyring
                                            type: string
                                          monitors:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          pool:
                                            default: rbd
                                            type: string
                                          readOnly:
                                            type: boolean
                                          secretRef:
                                            properties:
                                              name:
                                                default: ""
                                                type: string
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          user:
                                            default: admin
                                            type: string
                                        required:
                                          - image
                                          - monitors
                                        type: object
                                      scaleIO:
                                        properties:
                                          fsType:
                                            default: xfs
                                            type: string
                                          gateway:
                                            type: string
                                          protectionDomain:
                                            type: string
                                          readOnly:
                                            type: boolean
                                          secretRef:
                                            properties:
                                              name:
                                                default: ""
                                                type: string
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          sslEnabled:
                                            type: boolean
                                          storageMode:
                                            default: ThinProvisioned
                                            type: string
                                          storagePool:
                                            type: string
                                          system:
                                            type: string
                                          volumeName:
                                            type: string
                                        required:
                                          - gateway
                                          - secretRef
                                          - system
                                        type: object
                                      secret:
                                        properties:
                                          defaultMode:
                                            format: int32
                                            type: integer
                                          items:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                              required:
                                                - key
                                                - path
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          optional:
                                            type: boolean
                                          secretName:
                                            type: string
                                        type: object
                                      storageos:
                                        properties:
                                          fsType:
                                            type: string
                                          readOnly:
                                            type: boolean
                                          secretRef:
                                            properties:
                                              name:
                                                default: ""
                                                type: string
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          volumeName:
                                            type: string
                                          volumeNamespace:
                                            type: string
                                        type: object
                                      vsphereVolume:
                                        properties:
                                          fsType:
                                            type: string
                                          storagePolicyID:
                                            type: string
                                          storagePolicyName:
                                            type: string
                                          volumePath:
                                            type: string
                                        required:
                                          - volumePath
                                        type: object
                                    required:
                                      - name
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                disableDefaultAdminSecret:
                  description: DisableDefaultAdminSecret prevents operator from creating default admin-credentials secret
                  type: boolean
                disableDefaultSecurityContext:
                  description: DisableDefaultSecurityContext prevents the operator from populating securityContext on deployments
                  enum:
                    - Pod
                    - Container
                    - All
                  type: string
                external:
                  description: External enables you to configure external grafana instances that is not managed by the operator.
                  properties:
                    adminPassword:
                      description: AdminPassword key to talk to the external grafana instance.
                      properties:
                        key:
                          description: The key of the secret to select from.  Must be a valid secret key.
                          type: string
                        name:
                          default: ""
                          description: |-
                            Name of the referent.
                            This field is effectively required, but due to backwards compatibility is
                            allowed to be empty. Instances of this type with an empty value here are
                            almost certainly wrong.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          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
                    adminUser:
                      description: AdminUser key to talk to the external grafana instance.
                      properties:
                        key:
                          description: The key of the secret to select from.  Must be a valid secret key.
                          type: string
                        name:
                          default: ""
                          description: |-
                            Name of the referent.
                            This field is effectively required, but due to backwards compatibility is
                            allowed to be empty. Instances of this type with an empty value here are
                            almost certainly wrong.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          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
                    apiKey:
                      description: The API key to talk to the external grafana instance, you need to define ether apiKey or adminUser/adminPassword.
                      properties:
                        key:
                          description: The key of the secret to select from.  Must be a valid secret key.
                          type: string
                        name:
                          default: ""
                          description: |-
                            Name of the referent.
                            This field is effectively required, but due to backwards compatibility is
                            allowed to be empty. Instances of this type with an empty value here are
                            almost certainly wrong.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          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
                    tls:
                      description: DEPRECATED, use top level `tls` instead.
                      properties:
                        certSecretRef:
                          description: Use a secret as a reference to give TLS Certificate information
                          properties:
                            name:
                              description: name is unique within a namespace to reference a secret resource.
                              type: string
                            namespace:
                              description: namespace defines the space within which the secret name must be unique.
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        insecureSkipVerify:
                          description: Disable the CA check of the server
                          type: boolean
                      type: object
                      x-kubernetes-validations:
                        - message: insecureSkipVerify and certSecretRef cannot be set at the same time
                          rule: (has(self.insecureSkipVerify) && !(has(self.certSecretRef))) || (has(self.certSecretRef) && !(has(self.insecureSkipVerify)))
                    url:
                      description: URL of the external grafana instance you want to manage.
                      type: string
                  required:
                    - url
                  type: object
                ingress:
                  description: Ingress sets how the ingress object should look like with your grafana instance.
                  properties:
                    metadata:
                      description: ObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    spec:
                      description: IngressSpec describes the Ingress the user wishes to exist.
                      properties:
                        defaultBackend:
                          description: |-
                            defaultBackend is the backend that should handle requests that don't
                            match any rule. If Rules are not specified, DefaultBackend must be specified.
                            If DefaultBackend is not set, the handling of requests that do not match any
                            of the rules will be up to the Ingress controller.
                          properties:
                            resource:
                              description: |-
                                resource is an ObjectRef to another Kubernetes resource in the namespace
                                of the Ingress object. If resource is specified, a service.Name and
                                service.Port must not be specified.
                                This is a mutually exclusive setting with "Service".
                              properties:
                                apiGroup:
                                  description: |-
                                    APIGroup is the group for the resource being referenced.
                                    If APIGroup is not specified, the specified Kind must be in the core API group.
                                    For any other third-party types, APIGroup is required.
                                  type: string
                                kind:
                                  description: Kind is the type of resource being referenced
                                  type: string
                                name:
                                  description: Name is the name of resource being referenced
                                  type: string
                              required:
                                - kind
                                - name
                              type: object
                              x-kubernetes-map-type: atomic
                            service:
                              description: |-
                                service references a service as a backend.
                                This is a mutually exclusive setting with "Resource".
                              properties:
                                name:
                                  description: |-
                                    name is the referenced service. The service must exist in
                                    the same namespace as the Ingress object.
                                  type: string
                                port:
                                  description: |-
                                    port of the referenced service. A port name or port number
                                    is required for a IngressServiceBackend.
                                  properties:
                                    name:
                                      description: |-
                                        name is the name of the port on the Service.
                                        This is a mutually exclusive setting with "Number".
                                      type: string
                                    number:
                                      description: |-
                                        number is the numerical port number (e.g. 80) on the Service.
                                        This is a mutually exclusive setting with "Name".
                                      format: int32
                                      type: integer
                                  type: object
                                  x-kubernetes-map-type: atomic
                              required:
                                - name
                              type: object
                          type: object
                        ingressClassName:
                          description: |-
                            ingressClassName is the name of an IngressClass cluster resource. Ingress
                            controller implementations use this field to know whether they should be
                            serving this Ingress resource, by a transitive connection
                            (controller -> IngressClass -> Ingress resource). Although the
                            `kubernetes.io/ingress.class` annotation (simple constant name) was never
                            formally defined, it was widely supported by Ingress controllers to create
                            a direct binding between Ingress controller and Ingress resources. Newly
                            created Ingress resources should prefer using the field. However, even
                            though the annotation is officially deprecated, for backwards compatibility
                            reasons, ingress controllers should still honor that annotation if present.
                          type: string
                        rules:
                          description: |-
                            rules is a list of host rules used to configure the Ingress. If unspecified,
                            or no rule matches, all traffic is sent to the default backend.
                          items:
                            description: |-
                              IngressRule represents the rules mapping the paths under a specified host to
                              the related backend services. Incoming requests are first evaluated for a host
                              match, then routed to the backend associated with the matching IngressRuleValue.
                            properties:
                              host:
                                description: "host is the fully qualified domain name of a network host, as defined by RFC 3986.\nNote the following deviations from the \"host\" part of the\nURI as defined in RFC 3986:\n1. IPs are not allowed. Currently an IngressRuleValue can only apply to\n   the IP in the Spec of the parent Ingress.\n2. The `:` delimiter is not respected because ports are not allowed.\n\t  Currently the port of an Ingress is implicitly :80 for http and\n\t  :443 for https.\nBoth these may change in the future.\nIncoming requests are matched against the host before the\nIngressRuleValue. If the host is unspecified, the Ingress routes all\ntraffic based on the specified IngressRuleValue.\n\nhost can be \"precise\" which is a domain name without the terminating dot of\na network host (e.g. \"foo.bar.com\") or \"wildcard\", which is a domain name\nprefixed with a single wildcard label (e.g. \"*.foo.com\").\nThe wildcard character '*' must appear by itself as the first DNS label and\nmatches only a single label. You cannot have a wildcard label by itself (e.g. Host == \"*\").\nRequests will be matched against the Host field in the following way:\n1. If host is precise, the request matches this rule if the http host header is equal to Host.\n2. If host is a wildcard, then the request matches this rule if the http host header\nis to equal to the suffix (removing the first label) of the wildcard rule."
                                type: string
                              http:
                                description: |-
                                  HTTPIngressRuleValue is a list of http selectors pointing to backends.
                                  In the example: http://<host>/<path>?<searchpart> -> backend where
                                  where parts of the url correspond to RFC 3986, this resource will be used
                                  to match against everything after the last '/' and before the first '?'
                                  or '#'.
                                properties:
                                  paths:
                                    description: paths is a collection of paths that map requests to backends.
                                    items:
                                      description: |-
                                        HTTPIngressPath associates a path with a backend. Incoming urls matching the
                                        path are forwarded to the backend.
                                      properties:
                                        backend:
                                          description: |-
                                            backend defines the referenced service endpoint to which the traffic
                                            will be forwarded to.
                                          properties:
                                            resource:
                                              description: |-
                                                resource is an ObjectRef to another Kubernetes resource in the namespace
                                                of the Ingress object. If resource is specified, a service.Name and
                                                service.Port must not be specified.
                                                This is a mutually exclusive setting with "Service".
                                              properties:
                                                apiGroup:
                                                  description: |-
                                                    APIGroup is the group for the resource being referenced.
                                                    If APIGroup is not specified, the specified Kind must be in the core API group.
                                                    For any other third-party types, APIGroup is required.
                                                  type: string
                                                kind:
                                                  description: Kind is the type of resource being referenced
                                                  type: string
                                                name:
                                                  description: Name is the name of resource being referenced
                                                  type: string
                                              required:
                                                - kind
                                                - name
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            service:
                                              description: |-
                                                service references a service as a backend.
                                                This is a mutually exclusive setting with "Resource".
                                              properties:
                                                name:
                                                  description: |-
                                                    name is the referenced service. The service must exist in
                                                    the same namespace as the Ingress object.
                                                  type: string
                                                port:
                                                  description: |-
                                                    port of the referenced service. A port name or port number
                                                    is required for a IngressServiceBackend.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        name is the name of the port on the Service.
                                                        This is a mutually exclusive setting with "Number".
                                                      type: string
                                                    number:
                                                      description: |-
                                                        number is the numerical port number (e.g. 80) on the Service.
                                                        This is a mutually exclusive setting with "Name".
                                                      format: int32
                                                      type: integer
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              required:
                                                - name
                                              type: object
                                          type: object
                                        path:
                                          description: |-
                                            path is matched against the path of an incoming request. Currently it can
                                            contain characters disallowed from the conventional "path" part of a URL
                                            as defined by RFC 3986. Paths must begin with a '/' and must be present
                                            when using PathType with value "Exact" or "Prefix".
                                          type: string
                                        pathType:
                                          description: |-
                                            pathType determines the interpretation of the path matching. PathType can
                                            be one of the following values:
                                            * Exact: Matches the URL path exactly.
                                            * Prefix: Matches based on a URL path prefix split by '/'. Matching is
                                              done on a path element by element basis. A path element refers is the
                                              list of labels in the path split by the '/' separator. A request is a
                                              match for path p if every p is an element-wise prefix of p of the
                                              request path. Note that if the last element of the path is a substring
                                              of the last element in request path, it is not a match (e.g. /foo/bar
                                              matches /foo/bar/baz, but does not match /foo/barbaz).
                                            * ImplementationSpecific: Interpretation of the Path matching is up to
                                              the IngressClass. Implementations can treat this as a separate PathType
                                              or treat it identically to Prefix or Exact path types.
                                            Implementations are required to support all path types.
                                          type: string
                                      required:
                                        - backend
                                        - pathType
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                required:
                                  - paths
                                type: object
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                        tls:
                          description: |-
                            tls represents the TLS configuration. Currently the Ingress only supports a
                            single TLS port, 443. If multiple members of this list specify different hosts,
                            they will be multiplexed on the same port according to the hostname specified
                            through the SNI TLS extension, if the ingress controller fulfilling the
                            ingress supports SNI.
                          items:
                            description: IngressTLS describes the transport layer security associated with an ingress.
                            properties:
                              hosts:
                                description: |-
                                  hosts is a list of hosts included in the TLS certificate. The values in
                                  this list must match the name/s used in the tlsSecret. Defaults to the
                                  wildcard host setting for the loadbalancer controller fulfilling this
                                  Ingress, if left unspecified.
                                items:
                                  type: string
                                type: array
                                x-kubernetes-list-type: atomic
                              secretName:
                                description: |-
                                  secretName is the name of the secret used to terminate TLS traffic on
                                  port 443. Field is left optional to allow TLS routing based on SNI
                                  hostname alone. If the SNI host in a listener conflicts with the "Host"
                                  header field used by an IngressRule, the SNI host is used for termination
                                  and value of the "Host" header is used for routing.
                                type: string
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                      type: object
                  type: object
                jsonnet:
                  properties:
                    libraryLabelSelector:
                      description: |-
                        A label selector is a label query over a set of resources. The result of matchLabels and
                        matchExpressions are ANDed. An empty label selector matches all objects. A null
                        label selector matches no objects.
                      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
                  type: object
                persistentVolumeClaim:
                  description: PersistentVolumeClaim creates a PVC if you need to attach one to your grafana instance.
                  properties:
                    metadata:
                      description: ObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    spec:
                      properties:
                        accessModes:
                          items:
                            type: string
                          type: array
                        dataSource:
                          description: |-
                            TypedLocalObjectReference contains enough information to let you locate the
                            typed referenced object inside the same namespace.
                          properties:
                            apiGroup:
                              description: |-
                                APIGroup is the group for the resource being referenced.
                                If APIGroup is not specified, the specified Kind must be in the core API group.
                                For any other third-party types, APIGroup is required.
                              type: string
                            kind:
                              description: Kind is the type of resource being referenced
                              type: string
                            name:
                              description: Name is the name of resource being referenced
                              type: string
                          required:
                            - kind
                            - name
                          type: object
                          x-kubernetes-map-type: atomic
                        dataSourceRef:
                          description: |-
                            TypedLocalObjectReference contains enough information to let you locate the
                            typed referenced object inside the same namespace.
                          properties:
                            apiGroup:
                              description: |-
                                APIGroup is the group for the resource being referenced.
                                If APIGroup is not specified, the specified Kind must be in the core API group.
                                For any other third-party types, APIGroup is required.
                              type: string
                            kind:
                              description: Kind is the type of resource being referenced
                              type: string
                            name:
                              description: Name is the name of resource being referenced
                              type: string
                          required:
                            - kind
                            - name
                          type: object
                          x-kubernetes-map-type: atomic
                        resources:
                          description: ResourceRequirements describes the compute resource requirements.
                          properties:
                            claims:
                              description: |-
                                Claims lists the names of resources, defined in spec.resourceClaims,
                                that are used by this container.

                                This is an alpha field and requires enabling the
                                DynamicResourceAllocation feature gate.

                                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
                                  request:
                                    description: |-
                                      Request is the name chosen for a request in the referenced claim.
                                      If empty, everything from the claim is made available, otherwise
                                      only the result of this request.
                                    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
                        selector:
                          description: |-
                            A label selector is a label query over a set of resources. The result of matchLabels and
                            matchExpressions are ANDed. An empty label selector matches all objects. A null
                            label selector matches no objects.
                          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
                        storageClassName:
                          type: string
                        volumeMode:
                          description: PersistentVolumeMode describes how a volume is intended to be consumed, either Block or Filesystem.
                          type: string
                        volumeName:
                          description: VolumeName is the binding reference to the PersistentVolume backing this claim.
                          type: string
                      type: object
                  type: object
                preferences:
                  description: Preferences holds the Grafana Preferences settings
                  properties:
                    homeDashboardUid:
                      type: string
                  type: object
                route:
                  description: Route sets how the ingress object should look like with your grafana instance, this only works in Openshift.
                  properties:
                    metadata:
                      description: ObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    spec:
                      properties:
                        alternateBackends:
                          items:
                            description: |-
                              RouteTargetReference specifies the target that resolve into endpoints. Only the 'Service'
                              kind is allowed. Use 'weight' field to emphasize one over others.
                            properties:
                              kind:
                                default: Service
                                description: The kind of target that the route is referring to. Currently, only 'Service' is allowed
                                enum:
                                  - Service
                                  - ""
                                type: string
                              name:
                                description: name of the service/target that is being referred to. e.g. name of the service
                                minLength: 1
                                type: string
                              weight:
                                default: 100
                                description: |-
                                  weight as an integer between 0 and 256, default 100, that specifies the target's relative weight
                                  against other target reference objects. 0 suppresses requests to this backend.
                                format: int32
                                maximum: 256
                                minimum: 0
                                type: integer
                            required:
                              - kind
                              - name
                            type: object
                          type: array
                        host:
                          type: string
                        path:
                          type: string
                        port:
                          description: RoutePort defines a port mapping from a router to an endpoint in the service endpoints.
                          properties:
                            targetPort:
                              anyOf:
                                - type: integer
                                - type: string
                              description: |-
                                The target port on pods selected by the service this route points to.
                                If this is a string, it will be looked up as a named port in the target
                                endpoints port list. Required
                              x-kubernetes-int-or-string: true
                          required:
                            - targetPort
                          type: object
                        subdomain:
                          type: string
                        tls:
                          description: TLSConfig defines config used to secure a route and provide termination
                          properties:
                            caCertificate:
                              description: caCertificate provides the cert authority certificate contents
                              type: string
                            certificate:
                              description: |-
                                certificate provides certificate contents. This should be a single serving certificate, not a certificate
                                chain. Do not include a CA certificate.
                              type: string
                            destinationCACertificate:
                              description: |-
                                destinationCACertificate provides the contents of the ca certificate of the final destination.  When using reencrypt
                                termination this file should be provided in order to have routers use it for health checks on the secure connection.
                                If this field is not specified, the router may provide its own destination CA and perform hostname validation using
                                the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically
                                verify.
                              type: string
                            externalCertificate:
                              description: |-
                                externalCertificate provides certificate contents as a secret reference.
                                This should be a single serving certificate, not a certificate
                                chain. Do not include a CA certificate. The secret referenced should
                                be present in the same namespace as that of the Route.
                                Forbidden when `certificate` is set.
                                The router service account needs to be granted with read-only access to this secret,
                                please refer to openshift docs for additional details.
                              properties:
                                name:
                                  description: |-
                                    name of the referent.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            insecureEdgeTerminationPolicy:
                              description: |-
                                insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While
                                each router may make its own decisions on which ports to expose, this is normally port 80.

                                If a route does not specify insecureEdgeTerminationPolicy, then the default behavior is "None".

                                * Allow - traffic is sent to the server on the insecure port (edge/reencrypt terminations only).

                                * None - no traffic is allowed on the insecure port (default).

                                * Redirect - clients are redirected to the secure port.
                              enum:
                                - Allow
                                - None
                                - Redirect
                                - ""
                              type: string
                            key:
                              description: key provides key file contents
                              type: string
                            termination:
                              description: |-
                                termination indicates termination type.

                                * edge - TLS termination is done by the router and http is used to communicate with the backend (default)
                                * passthrough - Traffic is sent straight to the destination without the router providing TLS termination
                                * reencrypt - TLS termination is done by the router and https is used to communicate with the backend

                                Note: passthrough termination is incompatible with httpHeader actions
                              enum:
                                - edge
                                - reencrypt
                                - passthrough
                              type: string
                          required:
                            - termination
                          type: object
                          x-kubernetes-validations:
                            - message: 'cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow'
                              rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow'')) : true'
                        to:
                          description: |-
                            RouteTargetReference specifies the target that resolve into endpoints. Only the 'Service'
                            kind is allowed. Use 'weight' field to emphasize one over others.
                          properties:
                            kind:
                              default: Service
                              description: The kind of target that the route is referring to. Currently, only 'Service' is allowed
                              enum:
                                - Service
                                - ""
                              type: string
                            name:
                              description: name of the service/target that is being referred to. e.g. name of the service
                              minLength: 1
                              type: string
                            weight:
                              default: 100
                              description: |-
                                weight as an integer between 0 and 256, default 100, that specifies the target's relative weight
                                against other target reference objects. 0 suppresses requests to this backend.
                              format: int32
                              maximum: 256
                              minimum: 0
                              type: integer
                          required:
                            - kind
                            - name
                          type: object
                        wildcardPolicy:
                          description: WildcardPolicyType indicates the type of wildcard support needed by routes.
                          type: string
                      type: object
                  type: object
                service:
                  description: Service sets how the service object should look like with your grafana instance, contains a number of defaults.
                  properties:
                    metadata:
                      description: ObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    spec:
                      description: ServiceSpec describes the attributes that a user creates on a service.
                      properties:
                        allocateLoadBalancerNodePorts:
                          description: |-
                            allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                            allocated for services with type LoadBalancer.  Default is "true". It
                            may be set to "false" if the cluster load-balancer does not rely on
                            NodePorts.  If the caller requests specific NodePorts (by specifying a
                            value), those requests will be respected, regardless of this field.
                            This field may only be set for services with type LoadBalancer and will
                            be cleared if the type is changed to any other type.
                          type: boolean
                        clusterIP:
                          description: |-
                            clusterIP is the IP address of the service and is usually assigned
                            randomly. If an address is specified manually, is in-range (as per
                            system configuration), and is not in use, it will be allocated to the
                            service; otherwise creation of the service will fail. This field may not
                            be changed through updates unless the type field is also being changed
                            to ExternalName (which requires this field to be blank) or the type
                            field is being changed from ExternalName (in which case this field may
                            optionally be specified, as describe above).  Valid values are "None",
                            empty string (""), or a valid IP address. Setting this to "None" makes a
                            "headless service" (no virtual IP), which is useful when direct endpoint
                            connections are preferred and proxying is not required.  Only applies to
                            types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                            when creating a Service of type ExternalName, creation will fail. This
                            field will be wiped when updating a Service to type ExternalName.
                            More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                          type: string
                        clusterIPs:
                          description: |-
                            ClusterIPs is a list of IP addresses assigned to this service, and are
                            usually assigned randomly.  If an address is specified manually, is
                            in-range (as per system configuration), and is not in use, it will be
                            allocated to the service; otherwise creation of the service will fail.
                            This field may not be changed through updates unless the type field is
                            also being changed to ExternalName (which requires this field to be
                            empty) or the type field is being changed from ExternalName (in which
                            case this field may optionally be specified, as describe above).  Valid
                            values are "None", empty string (""), or a valid IP address.  Setting
                            this to "None" makes a "headless service" (no virtual IP), which is
                            useful when direct endpoint connections are preferred and proxying is
                            not required.  Only applies to types ClusterIP, NodePort, and
                            LoadBalancer. If this field is specified when creating a Service of type
                            ExternalName, creation will fail. This field will be wiped when updating
                            a Service to type ExternalName.  If this field is not specified, it will
                            be initialized from the clusterIP field.  If this field is specified,
                            clients must ensure that clusterIPs[0] and clusterIP have the same
                            value.

                            This field may hold a maximum of two entries (dual-stack IPs, in either order).
                            These IPs must correspond to the values of the ipFamilies field. Both
                            clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                            More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        externalIPs:
                          description: |-
                            externalIPs is a list of IP addresses for which nodes in the cluster
                            will also accept traffic for this service.  These IPs are not managed by
                            Kubernetes.  The user is responsible for ensuring that traffic arrives
                            at a node with this IP.  A common example is external load-balancers
                            that are not part of the Kubernetes system.
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        externalName:
                          description: |-
                            externalName is the external reference that discovery mechanisms will
                            return as an alias for this service (e.g. a DNS CNAME record). No
                            proxying will be involved.  Must be a lowercase RFC-1123 hostname
                            (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                          type: string
                        externalTrafficPolicy:
                          description: |-
                            externalTrafficPolicy describes how nodes distribute service traffic they
                            receive on one of the Service's "externally-facing" addresses (NodePorts,
                            ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                            the service in a way that assumes that external load balancers will take care
                            of balancing the service traffic between nodes, and so each node will deliver
                            traffic only to the node-local endpoints of the service, without masquerading
                            the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                            be dropped.) The default value, "Cluster", uses the standard behavior of
                            routing to all endpoints evenly (possibly modified by topology and other
                            features). Note that traffic sent to an External IP or LoadBalancer IP from
                            within the cluster will always get "Cluster" semantics, but clients sending to
                            a NodePort from within the cluster may need to take traffic policy into account
                            when picking a node.
                          type: string
                        healthCheckNodePort:
                          description: |-
                            healthCheckNodePort specifies the healthcheck nodePort for the service.
                            This only applies when type is set to LoadBalancer and
                            externalTrafficPolicy is set to Local. If a value is specified, is
                            in-range, and is not in use, it will be used.  If not specified, a value
                            will be automatically allocated.  External systems (e.g. load-balancers)
                            can use this port to determine if a given node holds endpoints for this
                            service or not.  If this field is specified when creating a Service
                            which does not need it, creation will fail. This field will be wiped
                            when updating a Service to no longer need it (e.g. changing type).
                            This field cannot be updated once set.
                          format: int32
                          type: integer
                        internalTrafficPolicy:
                          description: |-
                            InternalTrafficPolicy describes how nodes distribute service traffic they
                            receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                            only want to talk to endpoints of the service on the same node as the pod,
                            dropping the traffic if there are no local endpoints. The default value,
                            "Cluster", uses the standard behavior of routing to all endpoints evenly
                            (possibly modified by topology and other features).
                          type: string
                        ipFamilies:
                          description: |-
                            IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                            service. This field is usually assigned automatically based on cluster
                            configuration and the ipFamilyPolicy field. If this field is specified
                            manually, the requested family is available in the cluster,
                            and ipFamilyPolicy allows it, it will be used; otherwise creation of
                            the service will fail. This field is conditionally mutable: it allows
                            for adding or removing a secondary IP family, but it does not allow
                            changing the primary IP family of the Service. Valid values are "IPv4"
                            and "IPv6".  This field only applies to Services of types ClusterIP,
                            NodePort, and LoadBalancer, and does apply to "headless" services.
                            This field will be wiped when updating a Service to type ExternalName.

                            This field may hold a maximum of two entries (dual-stack families, in
                            either order).  These families must correspond to the values of the
                            clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                            governed by the ipFamilyPolicy field.
                          items:
                            description: |-
                              IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                              to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        ipFamilyPolicy:
                          description: |-
                            IPFamilyPolicy represents the dual-stack-ness requested or required by
                            this Service. If there is no value provided, then this field will be set
                            to SingleStack. Services can be "SingleStack" (a single IP family),
                            "PreferDualStack" (two IP families on dual-stack configured clusters or
                            a single IP family on single-stack clusters), or "RequireDualStack"
                            (two IP families on dual-stack configured clusters, otherwise fail). The
                            ipFamilies and clusterIPs fields depend on the value of this field. This
                            field will be wiped when updating a service to type ExternalName.
                          type: string
                        loadBalancerClass:
                          description: |-
                            loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                            If specified, the value of this field must be a label-style identifier, with an optional prefix,
                            e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                            This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                            balancer implementation is used, today this is typically done through the cloud provider integration,
                            but should apply for any default implementation. If set, it is assumed that a load balancer
                            implementation is watching for Services with a matching class. Any default load balancer
                            implementation (e.g. cloud providers) should ignore Services that set this field.
                            This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                            Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                          type: string
                        loadBalancerIP:
                          description: |-
                            Only applies to Service Type: LoadBalancer.
                            This feature depends on whether the underlying cloud-provider supports specifying
                            the loadBalancerIP when a load balancer is created.
                            This field will be ignored if the cloud-provider does not support the feature.
                            Deprecated: This field was under-specified and its meaning varies across implementations.
                            Using it is non-portable and it may not support dual-stack.
                            Users are encouraged to use implementation-specific annotations when available.
                          type: string
                        loadBalancerSourceRanges:
                          description: |-
                            If specified and supported by the platform, this will restrict traffic through the cloud-provider
                            load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                            cloud-provider does not support the feature."
                            More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        ports:
                          description: |-
                            The list of ports that are exposed by this service.
                            More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                          items:
                            description: ServicePort contains information on service's port.
                            properties:
                              appProtocol:
                                description: |-
                                  The application protocol for this port.
                                  This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                  This field follows standard Kubernetes label syntax.
                                  Valid values are either:

                                  * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                  RFC-6335 and https://www.iana.org/assignments/service-names).

                                  * Kubernetes-defined prefixed names:
                                    * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                    * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                    * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455

                                  * Other protocols should use implementation-defined prefixed names such as
                                  mycompany.com/my-custom-protocol.
                                type: string
                              name:
                                description: |-
                                  The name of this port within the service. This must be a DNS_LABEL.
                                  All ports within a ServiceSpec must have unique names. When considering
                                  the endpoints for a Service, this must match the 'name' field in the
                                  EndpointPort.
                                  Optional if only one ServicePort is defined on this service.
                                type: string
                              nodePort:
                                description: |-
                                  The port on each node on which this service is exposed when type is
                                  NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                  specified, in-range, and not in use it will be used, otherwise the
                                  operation will fail.  If not specified, a port will be allocated if this
                                  Service requires one.  If this field is specified when creating a
                                  Service which does not need it, creation will fail. This field will be
                                  wiped when updating a Service to no longer need it (e.g. changing type
                                  from NodePort to ClusterIP).
                                  More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                format: int32
                                type: integer
                              port:
                                description: The port that will be exposed by this service.
                                format: int32
                                type: integer
                              protocol:
                                default: TCP
                                description: |-
                                  The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                  Default is TCP.
                                type: string
                              targetPort:
                                anyOf:
                                  - type: integer
                                  - type: string
                                description: |-
                                  Number or name of the port to access on the pods targeted by the service.
                                  Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                  If this is a string, it will be looked up as a named port in the
                                  target Pod's container ports. If this is not specified, the value
                                  of the 'port' field is used (an identity map).
                                  This field is ignored for services with clusterIP=None, and should be
                                  omitted or set equal to the 'port' field.
                                  More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                x-kubernetes-int-or-string: true
                            required:
                              - port
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                            - port
                            - protocol
                          x-kubernetes-list-type: map
                        publishNotReadyAddresses:
                          description: |-
                            publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                            Service should disregard any indications of ready/not-ready.
                            The primary use case for setting this field is for a StatefulSet's Headless Service to
                            propagate SRV DNS records for its Pods for the purpose of peer discovery.
                            The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                            Services interpret this to mean that all endpoints are considered "ready" even if the
                            Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                            through the Endpoints or EndpointSlice resources can safely assume this behavior.
                          type: boolean
                        selector:
                          additionalProperties:
                            type: string
                          description: |-
                            Route service traffic to pods with label keys and values matching this
                            selector. If empty or not present, the service is assumed to have an
                            external process managing its endpoints, which Kubernetes will not
                            modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                            Ignored if type is ExternalName.
                            More info: https://kubernetes.io/docs/concepts/services-networking/service/
                          type: object
                          x-kubernetes-map-type: atomic
                        sessionAffinity:
                          description: |-
                            Supports "ClientIP" and "None". Used to maintain session affinity.
                            Enable client IP based session affinity.
                            Must be ClientIP or None.
                            Defaults to None.
                            More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                          type: string
                        sessionAffinityConfig:
                          description: sessionAffinityConfig contains the configurations of session affinity.
                          properties:
                            clientIP:
                              description: clientIP contains the configurations of Client IP based session affinity.
                              properties:
                                timeoutSeconds:
                                  description: |-
                                    timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                    The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                    Default value is 10800(for 3 hours).
                                  format: int32
                                  type: integer
                              type: object
                          type: object
                        trafficDistribution:
                          description: |-
                            TrafficDistribution offers a way to express preferences for how traffic
                            is distributed to Service endpoints. Implementations can use this field
                            as a hint, but are not required to guarantee strict adherence. If the
                            field is not set, the implementation will apply its default routing
                            strategy. If set to "PreferClose", implementations should prioritize
                            endpoints that are in the same zone.
                          type: string
                        type:
                          description: |-
                            type determines how the Service is exposed. Defaults to ClusterIP. Valid
                            options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                            "ClusterIP" allocates a cluster-internal IP address for load-balancing
                            to endpoints. Endpoints are determined by the selector or if that is not
                            specified, by manual construction of an Endpoints object or
                            EndpointSlice objects. If clusterIP is "None", no virtual IP is
                            allocated and the endpoints are published as a set of endpoints rather
                            than a virtual IP.
                            "NodePort" builds on ClusterIP and allocates a port on every node which
                            routes to the same endpoints as the clusterIP.
                            "LoadBalancer" builds on NodePort and creates an external load-balancer
                            (if supported in the current cloud) which routes to the same endpoints
                            as the clusterIP.
                            "ExternalName" aliases this service to the specified externalName.
                            Several other fields do not apply to ExternalName services.
                            More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                          type: string
                      type: object
                  type: object
                serviceAccount:
                  description: ServiceAccount sets how the ServiceAccount object should look like with your grafana instance, contains a number of defaults.
                  properties:
                    automountServiceAccountToken:
                      type: boolean
                    imagePullSecrets:
                      items:
                        description: |-
                          LocalObjectReference contains enough information to let you locate the
                          referenced object inside the same namespace.
                        properties:
                          name:
                            default: ""
                            description: |-
                              Name of the referent.
                              This field is effectively required, but due to backwards compatibility is
                              allowed to be empty. Instances of this type with an empty value here are
                              almost certainly wrong.
                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            type: string
                        type: object
                        x-kubernetes-map-type: atomic
                      type: array
                    metadata:
                      description: ObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    secrets:
                      items:
                        description: ObjectReference contains enough information to let you inspect or modify the referred object.
                        properties:
                          apiVersion:
                            description: API version of the referent.
                            type: string
                          fieldPath:
                            description: |-
                              If referring to a piece of an object instead of an entire object, this string
                              should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
                              For example, if the object reference is to a container within a pod, this would take on a value like:
                              "spec.containers{name}" (where "name" refers to the name of the container that triggered
                              the event) or if no container name is specified "spec.containers[2]" (container with
                              index 2 in this pod). This syntax is chosen only to have some well-defined way of
                              referencing a part of an object.
                            type: string
                          kind:
                            description: |-
                              Kind of the referent.
                              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                            type: string
                          name:
                            description: |-
                              Name of the referent.
                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            type: string
                          namespace:
                            description: |-
                              Namespace of the referent.
                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
                            type: string
                          resourceVersion:
                            description: |-
                              Specific resourceVersion to which this reference is made, if any.
                              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
                            type: string
                          uid:
                            description: |-
                              UID of the referent.
                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
                            type: string
                        type: object
                        x-kubernetes-map-type: atomic
                      type: array
                  type: object
                suspend:
                  description: Suspend pauses reconciliation of owned resources like deployments, Services, Etc. upon changes
                  type: boolean
                version:
                  description: Version specifies the version of Grafana to use for this deployment. It follows the same format as the docker.io/grafana/grafana tags
                  type: string
              type: object
            status:
              description: GrafanaStatus defines the observed state of Grafana
              properties:
                adminUrl:
                  type: string
                alertRuleGroups:
                  items:
                    type: string
                  type: array
                conditions:
                  items:
                    description: Condition contains details for one aspect of the current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False, Unknown.
                        enum:
                          - "True"
                          - "False"
                          - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                      - lastTransitionTime
                      - message
                      - reason
                      - status
                      - type
                    type: object
                  type: array
                contactPoints:
                  items:
                    type: string
                  type: array
                dashboards:
                  items:
                    type: string
                  type: array
                datasources:
                  items:
                    type: string
                  type: array
                folders:
                  items:
                    type: string
                  type: array
                lastMessage:
                  type: string
                libraryPanels:
                  items:
                    type: string
                  type: array
                muteTimings:
                  items:
                    type: string
                  type: array
                notificationTemplates:
                  items:
                    type: string
                  type: array
                stage:
                  type: string
                stageStatus:
                  type: string
                version:
                  type: string
              type: object
          required:
            - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
