Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group +kubebuilder:object:generate=true +groupName=storage.koor.tech
Index ¶
- Constants
- Variables
- type DetailedProductVersions
- type DetailedVersion
- type KoorCluster
- func (in *KoorCluster) DeepCopy() *KoorCluster
- func (in *KoorCluster) DeepCopyInto(out *KoorCluster)
- func (in *KoorCluster) DeepCopyObject() runtime.Object
- func (r *KoorCluster) Default()
- func (k *KoorCluster) IsBeingDeleted() bool
- func (r *KoorCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *KoorCluster) ValidateCreate() (admission.Warnings, error)
- func (r *KoorCluster) ValidateDelete() (admission.Warnings, error)
- func (r *KoorCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type KoorClusterList
- type KoorClusterSpec
- type KoorClusterStatus
- type ProductVersions
- type Resources
- type UpgradeMode
- type UpgradeOptions
Constants ¶
const KoorClusterFinalizerName = "storage.koor.tech/finalizer"
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "storage.koor.tech", 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 DetailedProductVersions ¶ added in v0.3.0
type DetailedProductVersions struct { // The detailed version of the koor Operator KoorOperator *DetailedVersion `json:"koorOperator,omitempty"` // The detailed version of KSD Ksd *DetailedVersion `json:"ksd,omitempty"` // The detailed version of Ceph Ceph *DetailedVersion `json:"ceph,omitempty"` }
func (*DetailedProductVersions) DeepCopy ¶ added in v0.3.0
func (in *DetailedProductVersions) DeepCopy() *DetailedProductVersions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailedProductVersions.
func (*DetailedProductVersions) DeepCopyInto ¶ added in v0.3.0
func (in *DetailedProductVersions) DeepCopyInto(out *DetailedProductVersions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DetailedVersion ¶ added in v0.3.0
type DetailedVersion struct { Version string `json:"version,omitempty"` ImageUri string `json:"imageUri,omitempty"` ImageHash string `json:"imageHash,omitempty"` HelmRepository string `json:"helmRepository,omitempty"` HelmChart string `json:"helmChart,omitempty"` }
func (*DetailedVersion) DeepCopy ¶ added in v0.3.0
func (in *DetailedVersion) DeepCopy() *DetailedVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailedVersion.
func (*DetailedVersion) DeepCopyInto ¶ added in v0.3.0
func (in *DetailedVersion) DeepCopyInto(out *DetailedVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KoorCluster ¶
type KoorCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KoorClusterSpec `json:"spec,omitempty"` Status KoorClusterStatus `json:"status,omitempty"` }
KoorCluster is the Schema for the koorclusters API
func (*KoorCluster) DeepCopy ¶
func (in *KoorCluster) DeepCopy() *KoorCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KoorCluster.
func (*KoorCluster) DeepCopyInto ¶
func (in *KoorCluster) DeepCopyInto(out *KoorCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KoorCluster) DeepCopyObject ¶
func (in *KoorCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KoorCluster) Default ¶
func (r *KoorCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*KoorCluster) IsBeingDeleted ¶
func (k *KoorCluster) IsBeingDeleted() bool
func (*KoorCluster) SetupWebhookWithManager ¶
func (r *KoorCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*KoorCluster) ValidateCreate ¶
func (r *KoorCluster) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*KoorCluster) ValidateDelete ¶
func (r *KoorCluster) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*KoorCluster) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type KoorClusterList ¶
type KoorClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KoorCluster `json:"items"` }
KoorClusterList contains a list of KoorCluster
func (*KoorClusterList) DeepCopy ¶
func (in *KoorClusterList) DeepCopy() *KoorClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KoorClusterList.
func (*KoorClusterList) DeepCopyInto ¶
func (in *KoorClusterList) DeepCopyInto(out *KoorClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KoorClusterList) DeepCopyObject ¶
func (in *KoorClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KoorClusterSpec ¶
type KoorClusterSpec struct { // Use all devices on nodes //+kubebuilder:default:=true UseAllDevices *bool `json:"useAllDevices,omitempty"` // Enable monitoring. Requires Prometheus to be pre-installed. //+kubebuilder:default:=true MonitoringEnabled *bool `json:"monitoringEnabled,omitempty"` // Enable the ceph dashboard for viewing cluster status //+kubebuilder:default:=true DashboardEnabled *bool `json:"dashboardEnabled,omitempty"` // Installs a debugging toolbox deployment //+kubebuilder:default:=true ToolboxEnabled *bool `json:"toolboxEnabled,omitempty"` // Specifies the upgrade options for new ceph versions UpgradeOptions UpgradeOptions `json:"upgradeOptions,omitempty"` // The name to use for KSD helm release. //+kubebuilder:default:=ksd KsdReleaseName string `json:"ksdReleaseName,omitempty"` // The name to use for KSD cluster helm release. //+kubebuilder:default:=ksd-cluster KsdClusterReleaseName string `json:"ksdClusterReleaseName,omitempty"` }
KoorClusterSpec defines the desired state of KoorCluster
func (*KoorClusterSpec) DeepCopy ¶
func (in *KoorClusterSpec) DeepCopy() *KoorClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KoorClusterSpec.
func (*KoorClusterSpec) DeepCopyInto ¶
func (in *KoorClusterSpec) DeepCopyInto(out *KoorClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KoorClusterStatus ¶
type KoorClusterStatus struct { // The total resources available in the cluster nodes TotalResources Resources `json:"totalResources"` // Does the cluster meet the minimum recommended resources MeetsMinimumResources bool `json:"meetsMinimumResources"` // The current versions of rook and ceph CurrentVersions ProductVersions `json:"currentVersions,omitempty"` // The latest versions of rook and ceph LatestVersions *DetailedProductVersions `json:"latestVersions,omitempty"` }
KoorClusterStatus defines the observed state of KoorCluster
func (*KoorClusterStatus) DeepCopy ¶
func (in *KoorClusterStatus) DeepCopy() *KoorClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KoorClusterStatus.
func (*KoorClusterStatus) DeepCopyInto ¶
func (in *KoorClusterStatus) DeepCopyInto(out *KoorClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProductVersions ¶ added in v0.3.0
type ProductVersions struct { // The version of Kubernetes Kube string `json:"kube,omitempty"` // The version of the koor Operator KoorOperator string `json:"koorOperator,omitempty"` // The version of KSD Ksd string `json:"ksd,omitempty"` // The version of Ceph Ceph string `json:"ceph,omitempty"` }
func (*ProductVersions) DeepCopy ¶ added in v0.3.0
func (in *ProductVersions) DeepCopy() *ProductVersions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProductVersions.
func (*ProductVersions) DeepCopyInto ¶ added in v0.3.0
func (in *ProductVersions) DeepCopyInto(out *ProductVersions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct { // The number of nodes in the cluster Nodes *resource.Quantity `json:"nodesCount,omitempty"` // Ephemeral Storage available Storage *resource.Quantity `json:"storage,omitempty"` // CPU cores available Cpu *resource.Quantity `json:"cpu,omitempty"` // Memory available Memory *resource.Quantity `json:"memory,omitempty"` }
func (*Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Resources) MeetsMinimum ¶
type UpgradeMode ¶ added in v0.3.0
type UpgradeMode string
+kubebuilder:validation:Enum=disabled;notify;upgrade
const ( UpgradeModeDisabled UpgradeMode = "disabled" UpgradeModeNotify UpgradeMode = "notify" UpgradeModeUpgrade UpgradeMode = "upgrade" )
type UpgradeOptions ¶ added in v0.3.0
type UpgradeOptions struct { // Upgrade mode //+kubebuilder:default:=notify Mode UpgradeMode `json:"mode,omitempty"` // The api endpoint used to find the ceph latest version //+kubebuilder:default:="https://versions.koor.tech" Endpoint string `json:"endpoint,omitempty"` // The schedule to check for new versions. Uses CRON format as specified by https://github.com/robfig/cron/tree/v3. // Defaults to everyday at midnight in the local timezone. // To change the timezone, prefix the schedule with CRON_TZ=<Timezone>. // For example: "CRON_TZ=UTC 0 0 * * *" is midnight UTC. //+kubebuilder:default:="0 0 * * *" Schedule string `json:"schedule,omitempty"` }
func (*UpgradeOptions) DeepCopy ¶ added in v0.3.0
func (in *UpgradeOptions) DeepCopy() *UpgradeOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeOptions.
func (*UpgradeOptions) DeepCopyInto ¶ added in v0.3.0
func (in *UpgradeOptions) DeepCopyInto(out *UpgradeOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (UpgradeOptions) IsEnabled ¶ added in v0.3.0
func (uo UpgradeOptions) IsEnabled() bool