v1alpha1

package
v0.3.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group +kubebuilder:object:generate=true +groupName=storage.koor.tech

Index

Constants

View Source
const KoorClusterFinalizerName = "storage.koor.tech/finalizer"

Variables

View Source
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

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

func (r *KoorCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

func (in *Resources) DeepCopy() *Resources

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Resources) MeetsMinimum

func (r Resources) MeetsMinimum() bool

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL