---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    helm.sh/resource-policy: keep
    controller-gen.kubebuilder.io/version: v0.17.3
  name: clusters.observability.pingcap.com
spec:
  group: observability.pingcap.com
  names:
    kind: Cluster
    listKind: ClusterList
    plural: clusters
    singular: cluster
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.phase
      name: PHASE
      type: string
    - jsonPath: .metadata.labels.observability\.pingcap\.com/share-mode
      name: MODE
      type: string
    - jsonPath: .metadata.labels.observability\.pingcap\.com/applicationID
      name: APP_ID
      type: string
    - jsonPath: .spec.victoriaAccount.accountID
      name: VMACCOUNT
      type: string
    - jsonPath: .spec.victoriaAccount.projectID
      name: VMPROJECT
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1
    schema:
      openAPIV3Schema:
        description: Cluster is the Schema for the Clusters 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: ClusterSpec defines the desired state of Cluster
            properties:
              agent:
                description: Agent will create agent crd
                properties:
                  aws:
                    properties:
                      account:
                        type: string
                      nodeSubnetIDs:
                        items:
                          type: string
                        type: array
                      oidc:
                        type: string
                      securityGroupID:
                        type: string
                      vpcID:
                        type: string
                    required:
                    - account
                    - nodeSubnetIDs
                    - securityGroupID
                    - vpcID
                    type: object
                  azure:
                    properties:
                      iamRoleRef:
                        description: IAMRoleRef is used for finding the client-id
                          of the managed identity.
                        properties:
                          name:
                            type: string
                          namespace:
                            type: string
                        required:
                        - name
                        - namespace
                        type: object
                      networkName:
                        type: string
                      resourceGroup:
                        type: string
                      subnet:
                        type: string
                      subscriptionID:
                        type: string
                    required:
                    - iamRoleRef
                    - networkName
                    - resourceGroup
                    - subnet
                    - subscriptionID
                    type: object
                  dataplane:
                    properties:
                      clusterAccessRole:
                        type: string
                      clusterCAData:
                        type: string
                      clusterEndpoint:
                        type: string
                      clusterKubeconfig:
                        type: string
                      clusterName:
                        type: string
                    required:
                    - clusterName
                    type: object
                  endpointNamePerfix:
                    type: string
                  gcp:
                    properties:
                      gcpProject:
                        type: string
                      networkName:
                        type: string
                      subnets:
                        items:
                          type: string
                        type: array
                    required:
                    - gcpProject
                    - networkName
                    - subnets
                    type: object
                  observed:
                    properties:
                      clusterTopology:
                        properties:
                          pd:
                            properties:
                              replicas:
                                type: integer
                            required:
                            - replicas
                            type: object
                          tidb:
                            properties:
                              replicas:
                                type: integer
                            required:
                            - replicas
                            type: object
                          tiflash:
                            properties:
                              replicas:
                                type: integer
                            required:
                            - replicas
                            type: object
                          tikv:
                            properties:
                              replicas:
                                type: integer
                            required:
                            - replicas
                            type: object
                        required:
                        - pd
                        - tidb
                        - tikv
                        type: object
                      tidbVersion:
                        type: string
                    type: object
                  pauseReconciliation:
                    type: boolean
                  releaseNameSpace:
                    type: string
                required:
                - dataplane
                - endpointNamePerfix
                type: object
              endpoint:
                description: Endpoint will create service and endpoint service crd
                properties:
                  name:
                    type: string
                  shared:
                    type: boolean
                  userARN:
                    type: string
                required:
                - name
                type: object
              muteAlert:
                type: boolean
              prometheus:
                description: Prometheus will request prometheus instance from prometheus
                  operator
                properties:
                  alerting:
                    description: AlertingSpec defines parameters for alerting configuration
                      of Prometheus servers.
                    properties:
                      alertmanagers:
                        description: AlertmanagerEndpoints Prometheus should fire
                          alerts against.
                        items:
                          description: |-
                            AlertmanagerEndpoints defines a selection of a single Endpoints object
                            containing alertmanager IPs to fire alerts against.
                          properties:
                            apiVersion:
                              description: |-
                                Version of the Alertmanager API that Prometheus uses to send alerts. It
                                can be "v1" or "v2".
                              type: string
                            authorization:
                              description: Authorization section for this alertmanager
                                endpoint
                              properties:
                                credentials:
                                  description: The secret's key that contains the
                                    credentials of the request
                                  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
                                type:
                                  description: |-
                                    Set the authentication type. Defaults to Bearer, Basic will cause an
                                    error
                                  type: string
                              type: object
                            bearerTokenFile:
                              description: |-
                                BearerTokenFile to read from filesystem to use when authenticating to
                                Alertmanager.
                              type: string
                            name:
                              description: Name of Endpoints object in Namespace.
                              type: string
                            namespace:
                              description: Namespace of Endpoints object.
                              type: string
                            pathPrefix:
                              description: Prefix for the HTTP path alerts are pushed
                                to.
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              description: Port the Alertmanager API is exposed on.
                              x-kubernetes-int-or-string: true
                            scheme:
                              description: Scheme to use when firing alerts.
                              type: string
                            timeout:
                              description: Timeout is a per-target Alertmanager timeout
                                when pushing alerts.
                              pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
                              type: string
                            tlsConfig:
                              description: TLS Config to use for alertmanager connection.
                              properties:
                                ca:
                                  description: Struct containing the CA cert to use
                                    for the targets.
                                  properties:
                                    configMap:
                                      description: ConfigMap containing data to use
                                        for the targets.
                                      properties:
                                        key:
                                          description: The key to select.
                                          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 ConfigMap
                                            or its key must be defined
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    secret:
                                      description: Secret containing data to use for
                                        the targets.
                                      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
                                  type: object
                                caFile:
                                  description: Path to the CA cert in the Prometheus
                                    container to use for the targets.
                                  type: string
                                cert:
                                  description: Struct containing the client cert file
                                    for the targets.
                                  properties:
                                    configMap:
                                      description: ConfigMap containing data to use
                                        for the targets.
                                      properties:
                                        key:
                                          description: The key to select.
                                          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 ConfigMap
                                            or its key must be defined
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    secret:
                                      description: Secret containing data to use for
                                        the targets.
                                      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
                                  type: object
                                certFile:
                                  description: Path to the client cert file in the
                                    Prometheus container for the targets.
                                  type: string
                                insecureSkipVerify:
                                  description: Disable target certificate validation.
                                  type: boolean
                                keyFile:
                                  description: Path to the client key file in the
                                    Prometheus container for the targets.
                                  type: string
                                keySecret:
                                  description: Secret containing the client key file
                                    for the targets.
                                  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
                                serverName:
                                  description: Used to verify the hostname for the
                                    targets.
                                  type: string
                              type: object
                          required:
                          - name
                          - namespace
                          - port
                          type: object
                        type: array
                    required:
                    - alertmanagers
                    type: object
                  availabilityZone:
                    type: string
                  metricsToObjectStorage:
                    type: boolean
                  name:
                    type: string
                  query:
                    description: QuerySpec defines the query command line flags when
                      starting Prometheus.
                    properties:
                      lookbackDelta:
                        description: The delta difference allowed for retrieving metrics
                          during expression evaluations.
                        type: string
                      maxConcurrency:
                        description: Number of concurrent queries that can be run
                          at once.
                        format: int32
                        type: integer
                      maxSamples:
                        description: Maximum number of samples a single query can
                          load into memory. Note that queries will fail if they would
                          load more samples than this into memory, so this also limits
                          the number of samples a query can return.
                        format: int32
                        type: integer
                      timeout:
                        description: Maximum time a query may take before being aborted.
                        pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
                        type: string
                    type: object
                  replicas:
                    format: int32
                    type: integer
                  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 field depends on 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
                  retention:
                    description: Retention will set time duration Prometheus shall
                      retain data for. (ms|s|m|h|d|w|y) (milliseconds seconds minutes
                      hours days weeks years).
                    pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
                    type: string
                  ruleNamespaceSelector:
                    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
                  ruleSelector:
                    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
                  version:
                    type: string
                required:
                - name
                type: object
              victoriaAccount:
                description: VictoriaAccount will request vm alert instance from vm
                  operator
                properties:
                  accountID:
                    format: int32
                    type: integer
                  alertResources:
                    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 field depends on 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
                  alerting:
                    description: AlertingSpec defines parameters for alerting configuration
                      of Prometheus servers.
                    properties:
                      alertmanagers:
                        description: AlertmanagerEndpoints Prometheus should fire
                          alerts against.
                        items:
                          description: |-
                            AlertmanagerEndpoints defines a selection of a single Endpoints object
                            containing alertmanager IPs to fire alerts against.
                          properties:
                            apiVersion:
                              description: |-
                                Version of the Alertmanager API that Prometheus uses to send alerts. It
                                can be "v1" or "v2".
                              type: string
                            authorization:
                              description: Authorization section for this alertmanager
                                endpoint
                              properties:
                                credentials:
                                  description: The secret's key that contains the
                                    credentials of the request
                                  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
                                type:
                                  description: |-
                                    Set the authentication type. Defaults to Bearer, Basic will cause an
                                    error
                                  type: string
                              type: object
                            bearerTokenFile:
                              description: |-
                                BearerTokenFile to read from filesystem to use when authenticating to
                                Alertmanager.
                              type: string
                            name:
                              description: Name of Endpoints object in Namespace.
                              type: string
                            namespace:
                              description: Namespace of Endpoints object.
                              type: string
                            pathPrefix:
                              description: Prefix for the HTTP path alerts are pushed
                                to.
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              description: Port the Alertmanager API is exposed on.
                              x-kubernetes-int-or-string: true
                            scheme:
                              description: Scheme to use when firing alerts.
                              type: string
                            timeout:
                              description: Timeout is a per-target Alertmanager timeout
                                when pushing alerts.
                              pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
                              type: string
                            tlsConfig:
                              description: TLS Config to use for alertmanager connection.
                              properties:
                                ca:
                                  description: Struct containing the CA cert to use
                                    for the targets.
                                  properties:
                                    configMap:
                                      description: ConfigMap containing data to use
                                        for the targets.
                                      properties:
                                        key:
                                          description: The key to select.
                                          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 ConfigMap
                                            or its key must be defined
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    secret:
                                      description: Secret containing data to use for
                                        the targets.
                                      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
                                  type: object
                                caFile:
                                  description: Path to the CA cert in the Prometheus
                                    container to use for the targets.
                                  type: string
                                cert:
                                  description: Struct containing the client cert file
                                    for the targets.
                                  properties:
                                    configMap:
                                      description: ConfigMap containing data to use
                                        for the targets.
                                      properties:
                                        key:
                                          description: The key to select.
                                          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 ConfigMap
                                            or its key must be defined
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    secret:
                                      description: Secret containing data to use for
                                        the targets.
                                      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
                                  type: object
                                certFile:
                                  description: Path to the client cert file in the
                                    Prometheus container for the targets.
                                  type: string
                                insecureSkipVerify:
                                  description: Disable target certificate validation.
                                  type: boolean
                                keyFile:
                                  description: Path to the client key file in the
                                    Prometheus container for the targets.
                                  type: string
                                keySecret:
                                  description: Secret containing the client key file
                                    for the targets.
                                  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
                                serverName:
                                  description: Used to verify the hostname for the
                                    targets.
                                  type: string
                              type: object
                          required:
                          - name
                          - namespace
                          - port
                          type: object
                        type: array
                    required:
                    - alertmanagers
                    type: object
                  availabilityZone:
                    type: string
                  maxQueueSize:
                    format: int32
                    type: integer
                  projectID:
                    format: int32
                    type: integer
                  ruleNamespaceSelector:
                    description: 'Deprecated: RuleNamespaceSelector is deprecated.
                      It should always select its own namespace'
                    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
                  ruleSelector:
                    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
                  supportServerless:
                    type: boolean
                  vmClusterName:
                    type: string
                required:
                - accountID
                - vmClusterName
                type: object
            required:
            - endpoint
            type: object
          status:
            description: ClusterStatus defines the observed state of Cluster
            properties:
              dnsName:
                type: string
              phase:
                type: string
              serviceName:
                type: string
              updateAt:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
