apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: grafanas.hyperledger.org
spec:
  group: hyperledger.org
  names:
    kind: Grafana
    listKind: GrafanaList
    plural: grafanas
    singular: grafana
  scope: Namespaced
  versions:
    - name: v1alpha1
      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:
              default:
                image:
                  pullPolicy: IfNotPresent
                  repository: grafana/grafana
                  tag: 6.2.5
                nodeport: 30030
                replicas: 1
                resources:
                  cpuLimit: 500m
                  cpuRequest: 100m
                  memLimit: 512Mi
                  memRequest: 256Mi
              description: GrafanaSpec defines the desired state of Grafana
              properties:
                image:
                  default:
                    pullPolicy: IfNotPresent
                    repository: grafana/grafana
                    tag: 6.2.5
                  description: Grafana Image Configuration
                  properties:
                    pullPolicy:
                      default: IfNotPresent
                      description: Image pull policy
                      type: string
                    repository:
                      description: Image repository
                      type: string
                    tag:
                      description: Image tag
                      type: string
                  type: object
                nodeport:
                  default: 30030
                  description: NodePort
                  format: int32
                  type: integer
                owner:
                  description: Owner metadata name
                  type: string
                replicas:
                  default: 1
                  description: Number of replica pods corresponding to grafana node
                  format: int32
                  type: integer
                resources:
                  default:
                    cpuLimit: 500m
                    cpuRequest: 100m
                    memLimit: 512Mi
                    memRequest: 256Mi
                  description: Grafana Requests and limits
                  properties:
                    cpuLimit:
                      description: CPU Limit
                      type: string
                    cpuRequest:
                      description: CPU Request
                      type: string
                    memLimit:
                      description: Memory Limit
                      type: string
                    memRequest:
                      description: Memory Request
                      type: string
                  type: object
              type: object
            status:
              description: GrafanaStatus defines the observed state of Grafana
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
