github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/apps.kubeblocks.io_componentclassdefinitions.yaml (about)

     1  apiVersion: apiextensions.k8s.io/v1
     2  kind: CustomResourceDefinition
     3  metadata:
     4    annotations:
     5      controller-gen.kubebuilder.io/version: v0.12.1
     6    labels:
     7      app.kubernetes.io/name: kubeblocks
     8    name: componentclassdefinitions.apps.kubeblocks.io
     9  spec:
    10    group: apps.kubeblocks.io
    11    names:
    12      categories:
    13      - kubeblocks
    14      kind: ComponentClassDefinition
    15      listKind: ComponentClassDefinitionList
    16      plural: componentclassdefinitions
    17      shortNames:
    18      - ccd
    19      singular: componentclassdefinition
    20    scope: Cluster
    21    versions:
    22    - name: v1alpha1
    23      schema:
    24        openAPIV3Schema:
    25          description: ComponentClassDefinition is the Schema for the componentclassdefinitions
    26            API
    27          properties:
    28            apiVersion:
    29              description: 'APIVersion defines the versioned schema of this representation
    30                of an object. Servers should convert recognized schemas to the latest
    31                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    32              type: string
    33            kind:
    34              description: 'Kind is a string value representing the REST resource this
    35                object represents. Servers may infer this from the endpoint the client
    36                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    37              type: string
    38            metadata:
    39              type: object
    40            spec:
    41              description: ComponentClassDefinitionSpec defines the desired state of
    42                ComponentClassDefinition
    43              properties:
    44                groups:
    45                  description: group defines a list of class series that conform to
    46                    the same constraint.
    47                  items:
    48                    properties:
    49                      series:
    50                        description: series is a series of class definitions.
    51                        items:
    52                          properties:
    53                            classes:
    54                              description: classes are definitions of classes that come
    55                                in two forms. In the first form, only ComponentClass.Args
    56                                need to be defined, and the complete class definition
    57                                is generated by rendering the ComponentClassGroup.Template
    58                                and Name. In the second form, the Name, CPU and Memory
    59                                must be defined.
    60                              items:
    61                                properties:
    62                                  args:
    63                                    description: args are variable's value
    64                                    items:
    65                                      type: string
    66                                    type: array
    67                                  cpu:
    68                                    anyOf:
    69                                    - type: integer
    70                                    - type: string
    71                                    description: the CPU of the class
    72                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    73                                    x-kubernetes-int-or-string: true
    74                                  memory:
    75                                    anyOf:
    76                                    - type: integer
    77                                    - type: string
    78                                    description: the memory of the class
    79                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    80                                    x-kubernetes-int-or-string: true
    81                                  name:
    82                                    description: name is the class name
    83                                    type: string
    84                                type: object
    85                              type: array
    86                            namingTemplate:
    87                              description: 'namingTemplate is a template that uses the
    88                                Go template syntax and allows for referencing variables
    89                                defined in ComponentClassGroup.Template. This enables
    90                                dynamic generation of class names. For example: name:
    91                                "general-{{ .cpu }}c{{ .memory }}g"'
    92                              type: string
    93                          type: object
    94                        type: array
    95                      template:
    96                        description: "template is a class definition template that uses
    97                          the Go template syntax and allows for variable declaration.
    98                          When defining a class in Series, specifying the variable's
    99                          value is sufficient, as the complete class definition will
   100                          be generated through rendering the template. \n For example:
   101                          template: | cpu: \"{{ or .cpu 1 }}\" memory: \"{{ or .memory
   102                          4 }}Gi\""
   103                        type: string
   104                      vars:
   105                        description: vars defines the variables declared in the template
   106                          and will be used to generating the complete class definition
   107                          by render the template.
   108                        items:
   109                          type: string
   110                        type: array
   111                        x-kubernetes-list-type: set
   112                    type: object
   113                  type: array
   114              type: object
   115            status:
   116              description: ComponentClassDefinitionStatus defines the observed state
   117                of ComponentClassDefinition
   118              properties:
   119                classes:
   120                  description: classes is the list of classes that have been observed
   121                    for this ComponentClassDefinition
   122                  items:
   123                    properties:
   124                      args:
   125                        description: args are variable's value
   126                        items:
   127                          type: string
   128                        type: array
   129                      cpu:
   130                        anyOf:
   131                        - type: integer
   132                        - type: string
   133                        description: the CPU of the class
   134                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   135                        x-kubernetes-int-or-string: true
   136                      memory:
   137                        anyOf:
   138                        - type: integer
   139                        - type: string
   140                        description: the memory of the class
   141                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   142                        x-kubernetes-int-or-string: true
   143                      name:
   144                        description: name is the class name
   145                        type: string
   146                    type: object
   147                  type: array
   148                observedGeneration:
   149                  description: observedGeneration is the most recent generation observed
   150                    for this ComponentClassDefinition. It corresponds to the ComponentClassDefinition's
   151                    generation, which is updated on mutation by the API Server.
   152                  format: int64
   153                  type: integer
   154              type: object
   155          type: object
   156      served: true
   157      storage: true
   158      subresources:
   159        status: {}