github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/storage.kubeblocks.io_storageproviders.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: storageproviders.storage.kubeblocks.io 9 spec: 10 group: storage.kubeblocks.io 11 names: 12 categories: 13 - kubeblocks 14 kind: StorageProvider 15 listKind: StorageProviderList 16 plural: storageproviders 17 singular: storageprovider 18 scope: Cluster 19 versions: 20 - additionalPrinterColumns: 21 - jsonPath: .status.phase 22 name: STATUS 23 type: string 24 - jsonPath: .spec.csiDriverName 25 name: CSIDRIVER 26 type: string 27 - jsonPath: .metadata.creationTimestamp 28 name: AGE 29 type: date 30 name: v1alpha1 31 schema: 32 openAPIV3Schema: 33 description: StorageProvider is the Schema for the storageproviders API StorageProvider 34 describes how to provision PVCs for a specific storage system (e.g. S3, 35 NFS, etc), by using the CSI driver. 36 properties: 37 apiVersion: 38 description: 'APIVersion defines the versioned schema of this representation 39 of an object. Servers should convert recognized schemas to the latest 40 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 41 type: string 42 kind: 43 description: 'Kind is a string value representing the REST resource this 44 object represents. Servers may infer this from the endpoint the client 45 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 46 type: string 47 metadata: 48 type: object 49 spec: 50 description: StorageProviderSpec defines the desired state of StorageProvider 51 properties: 52 csiDriverName: 53 description: The name of the CSI driver used by this StorageProvider. 54 type: string 55 csiDriverSecretTemplate: 56 description: 'A Go template for rendering a secret which will be used 57 by the CSI driver. The template will be rendered with the following 58 variables: - Parameters: a map of parameters defined in the ParametersSchema.' 59 type: string 60 datasafedConfigTemplate: 61 description: 'A Go template for rendering a config used by the datasafed 62 command. The template will be rendered with the following variables: 63 - Parameters: a map of parameters defined in the ParametersSchema.' 64 type: string 65 parametersSchema: 66 description: The schema describes the parameters required by this 67 StorageProvider, when rendering the templates. 68 properties: 69 credentialFields: 70 description: credentialFields are the fields used to generate 71 the secret. 72 items: 73 type: string 74 type: array 75 openAPIV3Schema: 76 description: openAPIV3Schema is the OpenAPI v3 schema to use for 77 validation and pruning. 78 type: object 79 x-kubernetes-preserve-unknown-fields: true 80 type: object 81 persistentVolumeClaimTemplate: 82 description: 'A Go template for rendering a PersistentVolumeClaim. 83 The template will be rendered with the following variables: - Parameters: 84 a map of parameters defined in the ParametersSchema. - GeneratedStorageClassName: 85 the name of the storage class generated with the StorageClassTemplate.' 86 type: string 87 storageClassTemplate: 88 description: 'A Go template for rendering a storage class which will 89 be used by the CSI driver. The template will be rendered with the 90 following variables: - Parameters: a map of parameters defined in 91 the ParametersSchema. - CSIDriverSecretRef: the reference of the 92 secret created by the CSIDriverSecretTemplate.' 93 type: string 94 type: object 95 status: 96 description: StorageProviderStatus defines the observed state of StorageProvider 97 properties: 98 conditions: 99 description: Describes the current state of the storage provider. 100 items: 101 description: "Condition contains details for one aspect of the current 102 state of this API Resource. --- This struct is intended for direct 103 use as an array at the field path .status.conditions. For example, 104 \n type FooStatus struct{ // Represents the observations of a 105 foo's current state. // Known .status.conditions.type are: \"Available\", 106 \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge 107 // +listType=map // +listMapKey=type Conditions []metav1.Condition 108 `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" 109 protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" 110 properties: 111 lastTransitionTime: 112 description: lastTransitionTime is the last time the condition 113 transitioned from one status to another. This should be when 114 the underlying condition changed. If that is not known, then 115 using the time when the API field changed is acceptable. 116 format: date-time 117 type: string 118 message: 119 description: message is a human readable message indicating 120 details about the transition. This may be an empty string. 121 maxLength: 32768 122 type: string 123 observedGeneration: 124 description: observedGeneration represents the .metadata.generation 125 that the condition was set based upon. For instance, if .metadata.generation 126 is currently 12, but the .status.conditions[x].observedGeneration 127 is 9, the condition is out of date with respect to the current 128 state of the instance. 129 format: int64 130 minimum: 0 131 type: integer 132 reason: 133 description: reason contains a programmatic identifier indicating 134 the reason for the condition's last transition. Producers 135 of specific condition types may define expected values and 136 meanings for this field, and whether the values are considered 137 a guaranteed API. The value should be a CamelCase string. 138 This field may not be empty. 139 maxLength: 1024 140 minLength: 1 141 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 142 type: string 143 status: 144 description: status of the condition, one of True, False, Unknown. 145 enum: 146 - "True" 147 - "False" 148 - Unknown 149 type: string 150 type: 151 description: type of condition in CamelCase or in foo.example.com/CamelCase. 152 --- Many .condition.type values are consistent across resources 153 like Available, but because arbitrary conditions can be useful 154 (see .node.status.conditions), the ability to deconflict is 155 important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) 156 maxLength: 316 157 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 158 type: string 159 required: 160 - lastTransitionTime 161 - message 162 - reason 163 - status 164 - type 165 type: object 166 type: array 167 phase: 168 description: Storage provider reconciliation phases. Valid values 169 are NotReady, Ready. 170 enum: 171 - NotReady 172 - Ready 173 type: string 174 type: object 175 type: object 176 served: true 177 storage: true 178 subresources: 179 status: {}