Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the unum v1alpha1 API group +kubebuilder:object:generate=true +groupName=unum.cloud
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "unum.cloud", 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 )
Functions ¶
This section is empty.
Types ¶
type NodeAffinityLabel ¶
type NodeAffinityLabel struct {
// Label key of the cluster nodes to match
Label string `json:"label,omitempty"`
// Label value of the cluster nodes to match
Value string `json:"value,omitempty"`
// Weight of this preference in the range 1-100
Weight int32 `json:"weight,omitempty"`
}
Defines affinity used by UStore. learn more in https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
func (*NodeAffinityLabel) DeepCopy ¶
func (in *NodeAffinityLabel) DeepCopy() *NodeAffinityLabel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAffinityLabel.
func (*NodeAffinityLabel) DeepCopyInto ¶
func (in *NodeAffinityLabel) DeepCopyInto(out *NodeAffinityLabel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Persistence ¶
type Persistence struct {
// Size of the requested volume in Gi, Mi, Ti etc'
// +kubebuilder:validation:Pattern:="^[1-9][0-9]{0,3}[KMGTPE]{1}i"
Size string `json:"size,omitempty"`
// Path to mount inside UStore container. This must correspond with the data path in config map.
MountPath string `json:"mountPath,omitempty"`
// +kubebuilder:validation:Enum:="ReadWriteOnce";"ReadWriteMany"
AccessMode string `json:"accessMode,omitempty"`
}
Defines a persistence used by the DB
func (*Persistence) DeepCopy ¶
func (in *Persistence) DeepCopy() *Persistence
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Persistence.
func (*Persistence) DeepCopyInto ¶
func (in *Persistence) DeepCopyInto(out *Persistence)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UStore ¶
type UStore struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec UStoreSpec `json:"spec,omitempty"`
Status UStoreStatus `json:"status,omitempty"`
}
UStore is the Schema for the UStores API
func (*UStore) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UStore.
func (*UStore) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UStore) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UStoreList ¶
type UStoreList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []UStore `json:"items"`
}
UStoreList contains a list of UStore
func (*UStoreList) DeepCopy ¶
func (in *UStoreList) DeepCopy() *UStoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UStoreList.
func (*UStoreList) DeepCopyInto ¶
func (in *UStoreList) DeepCopyInto(out *UStoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UStoreList) DeepCopyObject ¶
func (in *UStoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UStoreSpec ¶
type UStoreSpec struct {
// DB Type defines the type of DB from a list of supported types. This is mandatory and immutable once set.
// +kubebuilder:validation:Enum:="leveldb";"rocksdb";"udisk";"ucset";
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
DBType string `json:"dbType,omitempty"`
// DB Config Map name is required.
// +kubebuilder:validation:Required
DBConfigMapName string `json:"dbConfigMapName,omitempty"`
// DB Port to connect clients.
DBServicePort int `json:"dbServicePort,omitempty"`
// List of persistent volumes to be attached. Required by some DB Types.
Volumes []Persistence `json:"volumes,omitempty"`
// +kubebuilder:default:=1
NumOfInstances int32 `json:"numOfInstances,omitempty"`
// Memory limit for this UStore.
// +kubebuilder:validation:Pattern:="^[1-9][0-9]{0,3}[KMG]{1}i"
MemoryLimit string `json:"memoryLimit,omitempty"` // memory limit on pod.
// Concurrency (cores) limit for this UStore.
ConcurrencyLimit string `json:"concurrencyLimit,omitempty"`
// Optionally define labels for an affinity to run UStore on specific cluster nodes.
NodeAffinityLabels []NodeAffinityLabel `json:"nodeAffinityLabels,omitempty"`
}
UStoreSpec defines the desired state of UStore +kubebuilder:validation:XValidation:rule="!has(oldSelf.dbType) || has(self.dbType)", message="DB Type value is required once set"
func (*UStoreSpec) DeepCopy ¶
func (in *UStoreSpec) DeepCopy() *UStoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UStoreSpec.
func (*UStoreSpec) DeepCopyInto ¶
func (in *UStoreSpec) DeepCopyInto(out *UStoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UStoreStatus ¶
type UStoreStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
DeploymentStatus string `json:"deploymentStatus,omitempty"`
DeploymentName string `json:"deploymentName,omitempty"`
ServiceStatus string `json:"serviceStatus,omitempty"`
ServiceUrl string `json:"serviceUrl,omitempty"`
}
UStoreStatus defines the observed state of UStore
func (*UStoreStatus) DeepCopy ¶
func (in *UStoreStatus) DeepCopy() *UStoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UStoreStatus.
func (*UStoreStatus) DeepCopyInto ¶
func (in *UStoreStatus) DeepCopyInto(out *UStoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.