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: {}