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