hongbo-miao/hongbomiao.com

View on GitHub
kubernetes/manifests-raw/yugabyte/crds/yugabyte.com_ybclusters_crd.yaml

Summary

Maintainability
Test Coverage
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: ybclusters.yugabyte.com
spec:
  group: yugabyte.com
  names:
    kind: YBCluster
    listKind: YBClusterList
    plural: ybclusters
    singular: ybcluster
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      description: YBCluster is the Schema for the ybclusters 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: YBClusterSpec defines the desired state of YBCluster
          properties:
            domain:
              description: Domain name for Kubernetes cluster
              type: string
            image:
              description: YBImageSpec defines docker image specific attributes.
              properties:
                pullPolicy:
                  description: PullPolicy describes a policy for if/when to pull a
                    container image
                  type: string
                repository:
                  type: string
                tag:
                  type: string
              type: object
            master:
              description: YBMasterSpec defines attributes for YBMaster pods.
              properties:
                enableLoadBalancer:
                  type: boolean
                gflags:
                  items:
                    description: YBGFlagSpec defines key-value pairs for each GFlag.
                    properties:
                      key:
                        type: string
                      value:
                        type: string
                    type: object
                  minItems: 1
                  type: array
                masterRPCPort:
                  format: int32
                  minimum: 1
                  type: integer
                masterUIPort:
                  format: int32
                  minimum: 1
                  type: integer
                podManagementPolicy:
                  description: PodManagementPolicyType defines the policy for creating
                    pods under a stateful set.
                  type: string
                replicas:
                  format: int32
                  minimum: 1
                  type: integer
                resources:
                  description: ResourceRequirements describes the compute resource
                    requirements.
                  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
                      description: 'Limits describes the maximum amount of compute
                        resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                      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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                      type: object
                  type: object
                storage:
                  description: YBStorageSpec defines storage specific attributes for
                    YBMaster/YBTserver pods.
                  properties:
                    count:
                      format: int32
                      minimum: 1
                      type: integer
                    size:
                      pattern: ^[0-9]{1,4}[MGT][IBib]$
                      type: string
                    storageClass:
                      type: string
                  type: object
              type: object
            replicationFactor:
              description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
                Important: Run "operator-sdk generate k8s" to regenerate code after
                modifying this file Add custom validation using kubebuilder tags:
                https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html'
              format: int32
              minimum: 1
              type: integer
            tls:
              description: YBTLSSpec defines TLS encryption specific attributes
              properties:
                enabled:
                  type: boolean
                rootCA:
                  description: YBRootCASpec defines Root CA cert & key attributes
                    required for enabling TLS encryption.
                  properties:
                    cert:
                      type: string
                    key:
                      type: string
                  type: object
              type: object
            tserver:
              description: YBTServerSpec defines attributes for YBTServer pods.
              properties:
                enableLoadBalancer:
                  type: boolean
                gflags:
                  items:
                    description: YBGFlagSpec defines key-value pairs for each GFlag.
                    properties:
                      key:
                        type: string
                      value:
                        type: string
                    type: object
                  minItems: 1
                  type: array
                podManagementPolicy:
                  description: PodManagementPolicyType defines the policy for creating
                    pods under a stateful set.
                  type: string
                replicas:
                  format: int32
                  minimum: 1
                  type: integer
                resources:
                  description: ResourceRequirements describes the compute resource
                    requirements.
                  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
                      description: 'Limits describes the maximum amount of compute
                        resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                      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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                      type: object
                  type: object
                storage:
                  description: YBStorageSpec defines storage specific attributes for
                    YBMaster/YBTserver pods.
                  properties:
                    count:
                      format: int32
                      minimum: 1
                      type: integer
                    size:
                      pattern: ^[0-9]{1,4}[MGT][IBib]$
                      type: string
                    storageClass:
                      type: string
                  type: object
                tserverRPCPort:
                  format: int32
                  minimum: 1
                  type: integer
                tserverUIPort:
                  format: int32
                  minimum: 1
                  type: integer
                ycqlPort:
                  format: int32
                  minimum: 1
                  type: integer
                yedisPort:
                  format: int32
                  minimum: 1
                  type: integer
                ysqlPort:
                  format: int32
                  minimum: 1
                  type: integer
              type: object
          type: object
        status:
          description: YBClusterStatus defines the observed state of YBCluster
          properties:
            conditions:
              description: Conditions represent the latest available observations
                of an object's state
              items:
                description: "Condition represents an observation of an object's state.
                  Conditions are an extension mechanism intended to be used when the
                  details of an observation are not a priori known or would not apply
                  to all instances of a given Kind. \n Conditions should be added
                  to explicitly convey properties that users and components care about
                  rather than requiring those properties to be inferred from other
                  observations. Once defined, the meaning of a Condition can not be
                  changed arbitrarily - it becomes part of the API, and has the same
                  backwards- and forwards-compatibility concerns of any other part
                  of the API."
                properties:
                  lastTransitionTime:
                    format: date-time
                    type: string
                  message:
                    type: string
                  reason:
                    description: ConditionReason is intended to be a one-word, CamelCase
                      representation of the category of cause of the current status.
                      It is intended to be used in concise output, such as one-line
                      kubectl get output, and in summarizing occurrences of causes.
                    type: string
                  status:
                    type: string
                  type:
                    description: "ConditionType is the type of the condition and is
                      typically a CamelCased word or short phrase. \n Condition types
                      should indicate state in the \"abnormal-true\" polarity. For
                      example, if the condition indicates when a policy is invalid,
                      the \"is valid\" case is probably the norm, so the condition
                      should be called \"Invalid\"."
                    type: string
                required:
                - status
                - type
                type: object
              type: array
            masterReplicas:
              description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
                of cluster Important: Run "operator-sdk generate k8s" to regenerate
                code after modifying this file Add custom validation using kubebuilder
                tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html'
              format: int64
              type: integer
            targetedTServerReplicas:
              description: TargetedTServerReplicas is the desired number of replicas
                currently targeted. If any other operation is going on, then change
                in spec.tserver.replicas won't modify this value until the operation
                is completed.
              format: int32
              type: integer
            tserverReplicas:
              format: int64
              type: integer
          required:
          - masterReplicas
          - targetedTServerReplicas
          - tserverReplicas
          type: object
      type: object
  version: v1alpha1
  versions:
  - name: v1alpha1
    served: true
    storage: true