Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +groupName=storage.kubeblocks.io
Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group +kubebuilder:object:generate=true +groupName=storage.kubeblocks.io
Index ¶
Constants ¶
const (
// condition types
ConditionTypeCSIDriverInstalled = "CSIDriverInstalled"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "storage.kubeblocks.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = GroupVersion
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type ParametersSchema ¶
type ParametersSchema struct { // openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning. // +kubebuilder:validation:Schemaless // +kubebuilder:validation:Type=object // +kubebuilder:pruning:PreserveUnknownFields // +k8s:conversion-gen=false // +optional OpenAPIV3Schema *apiextensionsv1.JSONSchemaProps `json:"openAPIV3Schema,omitempty"` // credentialFields are the fields used to generate the secret. // +optional CredentialFields []string `json:"credentialFields,omitempty"` }
ParametersSchema describes the parameters used by this StorageProvider.
type StorageProvider ¶
type StorageProvider struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec StorageProviderSpec `json:"spec,omitempty"` Status StorageProviderStatus `json:"status,omitempty"` }
StorageProvider is the Schema for the storageproviders API StorageProvider describes how to provision PVCs for a specific storage system (e.g. S3, NFS, etc), by using the CSI driver.
type StorageProviderList ¶
type StorageProviderList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []StorageProvider `json:"items"` }
StorageProviderList contains a list of StorageProvider
type StorageProviderPhase ¶
type StorageProviderPhase string
StorageProviderPhase defines phases of a storage provider. +enum
const ( StorageProviderNotReady StorageProviderPhase = "NotReady" StorageProviderReady StorageProviderPhase = "Ready" )
type StorageProviderSpec ¶
type StorageProviderSpec struct { // The name of the CSI driver used by this StorageProvider. // +optional CSIDriverName string `json:"csiDriverName,omitempty"` // A Go template for rendering a secret which will be used by the CSI driver. // The template will be rendered with the following variables: // - Parameters: a map of parameters defined in the ParametersSchema. // +optional CSIDriverSecretTemplate string `json:"csiDriverSecretTemplate,omitempty"` // A Go template for rendering a storage class which will be used by the CSI driver. // The template will be rendered with the following variables: // - Parameters: a map of parameters defined in the ParametersSchema. // - CSIDriverSecretRef: the reference of the secret created by the CSIDriverSecretTemplate. // +optional StorageClassTemplate string `json:"storageClassTemplate,omitempty"` // A Go template for rendering a PersistentVolumeClaim. // The template will be rendered with the following variables: // - Parameters: a map of parameters defined in the ParametersSchema. // - GeneratedStorageClassName: the name of the storage class generated with the StorageClassTemplate. // +optional PersistentVolumeClaimTemplate string `json:"persistentVolumeClaimTemplate,omitempty"` // A Go template for rendering a config used by the datasafed command. // The template will be rendered with the following variables: // - Parameters: a map of parameters defined in the ParametersSchema. // +optional DatasafedConfigTemplate string `json:"datasafedConfigTemplate,omitempty"` // The schema describes the parameters required by this StorageProvider, // when rendering the templates. // +optional ParametersSchema *ParametersSchema `json:"parametersSchema,omitempty"` }
StorageProviderSpec defines the desired state of StorageProvider
type StorageProviderStatus ¶
type StorageProviderStatus struct { // Storage provider reconciliation phases. Valid values are NotReady, Ready. // +kubebuilder:validation:Enum={NotReady,Ready} Phase StorageProviderPhase `json:"phase,omitempty"` // Describes the current state of the storage provider. // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
StorageProviderStatus defines the observed state of StorageProvider