v1

package
v1.7.8 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2021 License: Apache-2.0 Imports: 16 Imported by: 342

Documentation

Overview

Package v1 is the v1 version of the API. +groupName=ceph.rook.io

Copyright 2018 The Rook Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2018 The Rook Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	// SanitizeDataSourceZero uses /dev/zero as sanitize source
	SanitizeDataSourceZero SanitizeDataSourceProperty = "zero"

	// SanitizeDataSourceRandom uses `shred's default entropy source
	SanitizeDataSourceRandom SanitizeDataSourceProperty = "random"

	// SanitizeMethodComplete will sanitize everything on the disk
	SanitizeMethodComplete SanitizeMethodProperty = "complete"

	// SanitizeMethodQuick will sanitize metadata only on the disk
	SanitizeMethodQuick SanitizeMethodProperty = "quick"

	// DeleteDataDirOnHostsConfirmation represents the validation to destroy dataDirHostPath
	DeleteDataDirOnHostsConfirmation CleanupConfirmationProperty = "yes-really-destroy-data"
)
View Source
const (
	KeyAll                             = "all"
	KeyMds            rookcore.KeyType = "mds"
	KeyMon            rookcore.KeyType = "mon"
	KeyMonArbiter     rookcore.KeyType = "arbiter"
	KeyMgr            rookcore.KeyType = "mgr"
	KeyOSDPrepare     rookcore.KeyType = "prepareosd"
	KeyOSD            rookcore.KeyType = "osd"
	KeyCleanup        rookcore.KeyType = "cleanup"
	KeyMonitoring     rookcore.KeyType = "monitoring"
	KeyCrashCollector rookcore.KeyType = "crashcollector"
)
View Source
const (
	CustomResourceGroup = "ceph.rook.io"
	Version             = "v1"
)
View Source
const (
	// ResourcesKeyMon represents the name of resource in the CR for a mon
	ResourcesKeyMon = "mon"
	// ResourcesKeyMgr represents the name of resource in the CR for a mgr
	ResourcesKeyMgr = "mgr"
	// ResourcesKeyMgrSidecar represents the name of resource in the CR for a mgr
	ResourcesKeyMgrSidecar = "mgr-sidecar"
	// ResourcesKeyOSD represents the name of a resource in the CR for all OSDs
	ResourcesKeyOSD = "osd"
	// ResourcesKeyPrepareOSD represents the name of resource in the CR for the osd prepare job
	ResourcesKeyPrepareOSD = "prepareosd"
	// ResourcesKeyMDS represents the name of resource in the CR for the mds
	ResourcesKeyMDS = "mds"
	// ResourcesKeyCrashCollector represents the name of resource in the CR for the crash
	ResourcesKeyCrashCollector = "crashcollector"
	// ResourcesKeyLogCollector represents the name of resource in the CR for the log
	ResourcesKeyLogCollector = "logcollector"
	// ResourcesKeyRBDMirror represents the name of resource in the CR for the rbd mirror
	ResourcesKeyRBDMirror = "rbdmirror"
	// ResourcesKeyFilesystemMirror represents the name of resource in the CR for the filesystem mirror
	ResourcesKeyFilesystemMirror = "fsmirror"
	// ResourcesKeyCleanup represents the name of resource in the CR for the cleanup
	ResourcesKeyCleanup = "cleanup"
)
View Source
const (
	// DefaultFailureDomain for PoolSpec
	DefaultFailureDomain = "host"
	// DefaultCRUSHRoot is the default name of the CRUSH root bucket
	DefaultCRUSHRoot = "default"
)
View Source
const ServiceServingCertKey = "service.beta.openshift.io/serving-cert-secret-name"

Variables

View Source
var (
	// SchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)

SchemeGroupVersion is group version used to register these objects

View Source
var (
	VaultTLSConnectionDetails = []string{api.EnvVaultCACert, api.EnvVaultClientCert, api.EnvVaultClientKey}
)

Functions

func GetCleanupAnnotations added in v1.3.5

func GetCleanupAnnotations(a AnnotationsSpec) rook.Annotations

GetCleanupAnnotations returns the Annotations for the cleanup job

func GetCleanupLabels added in v1.4.2

func GetCleanupLabels(a LabelsSpec) rook.Labels

GetCleanupLabels returns the Labels for the cleanup job

func GetCleanupPriorityClassName added in v1.3.5

func GetCleanupPriorityClassName(p PriorityClassNamesSpec) string

GetCleanupPriorityClassName returns the priority class name for the cleanup job

func GetCleanupResources added in v1.3.5

func GetCleanupResources(p ResourceSpec) v1.ResourceRequirements

GetCleanupResources returns the placement for the cleanup job

func GetCrashCollectorLabels added in v1.7.7

func GetCrashCollectorLabels(a LabelsSpec) rook.Labels

GetCrashCollectorLabels returns the Labels for the crash collector resources

func GetCrashCollectorResources added in v1.2.0

func GetCrashCollectorResources(p ResourceSpec) v1.ResourceRequirements

GetCrashCollectorResources returns the placement for the crash daemon

func GetLogCollectorResources added in v1.5.2

func GetLogCollectorResources(p ResourceSpec) v1.ResourceRequirements

GetLogCollectorResources returns the placement for the crash daemon

func GetMdsLivenessProbe added in v1.5.5

func GetMdsLivenessProbe(l CephClusterHealthCheckSpec) *corev1.Probe

GetMdsLivenessProbe returns the liveness probe for the MDS service

func GetMgrAnnotations added in v1.0.0

func GetMgrAnnotations(a AnnotationsSpec) rook.Annotations

GetMgrAnnotations returns the Annotations for the MGR service

func GetMgrLabels added in v1.4.2

func GetMgrLabels(a LabelsSpec) rook.Labels

GetMgrLabels returns the Labels for the MGR service

func GetMgrLivenessProbe added in v1.4.0

func GetMgrLivenessProbe(l CephClusterHealthCheckSpec) *corev1.Probe

GetMgrLivenessProbe returns the liveness probe for the MGR service

func GetMgrPriorityClassName added in v1.2.0

func GetMgrPriorityClassName(p PriorityClassNamesSpec) string

GetMgrPriorityClassName returns the priority class name for the MGR service

func GetMgrResources

func GetMgrResources(p ResourceSpec) v1.ResourceRequirements

GetMgrResources returns the placement for the MGR service

func GetMgrSidecarResources added in v1.6.0

func GetMgrSidecarResources(p ResourceSpec) v1.ResourceRequirements

GetMgrSidecarResources returns the placement for the MGR sidecar container

func GetMonAnnotations added in v1.0.0

func GetMonAnnotations(a AnnotationsSpec) rook.Annotations

GetMonAnnotations returns the Annotations for the MON service

func GetMonLabels added in v1.4.2

func GetMonLabels(a LabelsSpec) rook.Labels

GetMonLabels returns the Labels for the MON service

func GetMonLivenessProbe added in v1.4.0

func GetMonLivenessProbe(l CephClusterHealthCheckSpec) *corev1.Probe

GetMonLivenessProbe returns the liveness probe for the MON service

func GetMonPriorityClassName added in v1.2.0

func GetMonPriorityClassName(p PriorityClassNamesSpec) string

GetMonPriorityClassName returns the priority class name for the monitors

func GetMonResources

func GetMonResources(p ResourceSpec) v1.ResourceRequirements

GetMonResources returns the placement for the monitors

func GetMonitoringLabels added in v1.6.0

func GetMonitoringLabels(a LabelsSpec) rook.Labels

GetMonitoringLabels returns the Labels for monitoring resources

func GetOSDAnnotations added in v1.0.0

func GetOSDAnnotations(a AnnotationsSpec) rook.Annotations

GetOSDAnnotations returns the annotations for the OSD service

func GetOSDLabels added in v1.4.2

func GetOSDLabels(a LabelsSpec) rook.Labels

GetOSDLabels returns the Labels for the OSD service

func GetOSDLivenessProbe added in v1.4.0

func GetOSDLivenessProbe(l CephClusterHealthCheckSpec) *corev1.Probe

GetOSDLivenessProbe returns the liveness probe for the OSD service

func GetOSDPrepareAnnotations added in v1.4.2

func GetOSDPrepareAnnotations(a AnnotationsSpec) rook.Annotations

GetOSDPrepareAnnotations returns the annotations for the OSD service

func GetOSDPrepareLabels added in v1.4.2

func GetOSDPrepareLabels(a LabelsSpec) rook.Labels

GetOSDPrepareLabels returns the Labels for the OSD prepare job

func GetOSDPriorityClassName added in v1.2.0

func GetOSDPriorityClassName(p PriorityClassNamesSpec) string

GetOSDPriorityClassName returns the priority class name for the OSDs

func GetOSDResources

func GetOSDResources(p ResourceSpec, deviceClass string) v1.ResourceRequirements

GetOSDResources returns the placement for all OSDs or for OSDs of specified device class (hdd, nvme, ssd)

func GetPrepareOSDResources added in v1.1.3

func GetPrepareOSDResources(p ResourceSpec) v1.ResourceRequirements

GetPrepareOSDResources returns the placement for the OSDs prepare job

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

func SetStatusCondition added in v1.7.1

func SetStatusCondition(conditions *[]Condition, newCondition Condition)

SetStatusCondition sets the corresponding condition in conditions to newCondition. conditions must be non-nil.

  1. if the condition of the specified type already exists (all fields of the existing condition are updated to newCondition, LastTransitionTime is set to now if the new status differs from the old status)
  2. if a condition of the specified type does not exist (LastTransitionTime is set to now() if unset, and newCondition is appended)

func ValidateObjectSpec added in v1.6.0

func ValidateObjectSpec(gs *CephObjectStore) error

ValidateObjectSpec validate the object store arguments

Types

type AnnotationsSpec added in v1.7.1

type AnnotationsSpec map[rook.KeyType]rook.Annotations

AnnotationsSpec is the main spec annotation for all daemons +kubebuilder:pruning:PreserveUnknownFields +nullable

func (AnnotationsSpec) All added in v1.7.1

func (AnnotationsSpec) DeepCopy added in v1.7.1

func (in AnnotationsSpec) DeepCopy() AnnotationsSpec

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

func (AnnotationsSpec) DeepCopyInto added in v1.7.1

func (in AnnotationsSpec) DeepCopyInto(out *AnnotationsSpec)

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

type BucketHealthCheckSpec added in v1.4.0

type BucketHealthCheckSpec struct {
	// +optional
	Bucket HealthCheckSpec `json:"bucket,omitempty"`
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
}

BucketHealthCheckSpec represents the health check of an object store

func (*BucketHealthCheckSpec) DeepCopy added in v1.4.0

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

func (*BucketHealthCheckSpec) DeepCopyInto added in v1.4.0

func (in *BucketHealthCheckSpec) DeepCopyInto(out *BucketHealthCheckSpec)

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

type BucketStatus added in v1.4.0

type BucketStatus struct {
	// +optional
	Health ConditionType `json:"health,omitempty"`
	// +optional
	Details string `json:"details,omitempty"`
	// +optional
	LastChecked string `json:"lastChecked,omitempty"`
	// +optional
	LastChanged string `json:"lastChanged,omitempty"`
}

BucketStatus represents the status of a bucket

func (*BucketStatus) DeepCopy added in v1.4.0

func (in *BucketStatus) DeepCopy() *BucketStatus

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

func (*BucketStatus) DeepCopyInto added in v1.4.0

func (in *BucketStatus) DeepCopyInto(out *BucketStatus)

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

type Capacity added in v1.5.0

type Capacity struct {
	TotalBytes     uint64 `json:"bytesTotal,omitempty"`
	UsedBytes      uint64 `json:"bytesUsed,omitempty"`
	AvailableBytes uint64 `json:"bytesAvailable,omitempty"`
	LastUpdated    string `json:"lastUpdated,omitempty"`
}

Capacity is the capacity information of a Ceph Cluster

func (*Capacity) DeepCopy added in v1.5.0

func (in *Capacity) DeepCopy() *Capacity

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

func (*Capacity) DeepCopyInto added in v1.5.0

func (in *Capacity) DeepCopyInto(out *Capacity)

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

type CephBlockPool

type CephBlockPool struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              PoolSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Status *CephBlockPoolStatus `json:"status,omitempty"`
}

CephBlockPool represents a Ceph Storage Pool +kubebuilder:subresource:status

func (*CephBlockPool) DeepCopy

func (in *CephBlockPool) DeepCopy() *CephBlockPool

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

func (*CephBlockPool) DeepCopyInto

func (in *CephBlockPool) DeepCopyInto(out *CephBlockPool)

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

func (*CephBlockPool) DeepCopyObject

func (in *CephBlockPool) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CephBlockPool) ValidateCreate added in v1.4.0

func (p *CephBlockPool) ValidateCreate() error

func (*CephBlockPool) ValidateDelete added in v1.4.0

func (p *CephBlockPool) ValidateDelete() error

func (*CephBlockPool) ValidateUpdate added in v1.4.0

func (p *CephBlockPool) ValidateUpdate(old runtime.Object) error

type CephBlockPoolList

type CephBlockPoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephBlockPool `json:"items"`
}

CephBlockPoolList is a list of Ceph Storage Pools +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CephBlockPoolList) DeepCopy

func (in *CephBlockPoolList) DeepCopy() *CephBlockPoolList

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

func (*CephBlockPoolList) DeepCopyInto

func (in *CephBlockPoolList) DeepCopyInto(out *CephBlockPoolList)

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

func (*CephBlockPoolList) DeepCopyObject

func (in *CephBlockPoolList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephBlockPoolStatus added in v1.5.0

type CephBlockPoolStatus struct {
	// +optional
	Phase ConditionType `json:"phase,omitempty"`
	// +optional
	MirroringStatus *MirroringStatusSpec `json:"mirroringStatus,omitempty"`
	// +optional
	MirroringInfo *MirroringInfoSpec `json:"mirroringInfo,omitempty"`
	// +optional
	SnapshotScheduleStatus *SnapshotScheduleStatusSpec `json:"snapshotScheduleStatus,omitempty"`
	// +optional
	// +nullable
	Info map[string]string `json:"info,omitempty"`
}

CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool

func (*CephBlockPoolStatus) DeepCopy added in v1.5.0

func (in *CephBlockPoolStatus) DeepCopy() *CephBlockPoolStatus

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

func (*CephBlockPoolStatus) DeepCopyInto added in v1.5.0

func (in *CephBlockPoolStatus) DeepCopyInto(out *CephBlockPoolStatus)

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

type CephClient added in v1.2.0

type CephClient struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Spec represents the specification of a Ceph Client
	Spec ClientSpec `json:"spec"`
	// Status represents the status of a Ceph Client
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Status *CephClientStatus `json:"status,omitempty"`
}

CephClient represents a Ceph Client +kubebuilder:subresource:status

func (*CephClient) DeepCopy added in v1.2.0

func (in *CephClient) DeepCopy() *CephClient

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

func (*CephClient) DeepCopyInto added in v1.2.0

func (in *CephClient) DeepCopyInto(out *CephClient)

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

func (*CephClient) DeepCopyObject added in v1.2.0

func (in *CephClient) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephClientList added in v1.2.0

type CephClientList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephClient `json:"items"`
}

CephClientList represents a list of Ceph Clients

func (*CephClientList) DeepCopy added in v1.2.0

func (in *CephClientList) DeepCopy() *CephClientList

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

func (*CephClientList) DeepCopyInto added in v1.2.0

func (in *CephClientList) DeepCopyInto(out *CephClientList)

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

func (*CephClientList) DeepCopyObject added in v1.2.0

func (in *CephClientList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephClientStatus added in v1.6.0

type CephClientStatus struct {
	// +optional
	Phase ConditionType `json:"phase,omitempty"`
	// +optional
	// +nullable
	Info map[string]string `json:"info,omitempty"`
}

CephClientStatus represents the Status of Ceph Client

func (*CephClientStatus) DeepCopy added in v1.6.0

func (in *CephClientStatus) DeepCopy() *CephClientStatus

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

func (*CephClientStatus) DeepCopyInto added in v1.6.0

func (in *CephClientStatus) DeepCopyInto(out *CephClientStatus)

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

type CephCluster

type CephCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ClusterSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	// +nullable
	Status ClusterStatus `json:"status,omitempty"`
}

CephCluster is a Ceph storage cluster +kubebuilder:printcolumn:name="DataDirHostPath",type=string,JSONPath=`.spec.dataDirHostPath`,description="Directory used on the K8s nodes" +kubebuilder:printcolumn:name="MonCount",type=string,JSONPath=`.spec.mon.count`,description="Number of MONs" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="Phase" +kubebuilder:printcolumn:name="Message",type=string,JSONPath=`.status.message`,description="Message" +kubebuilder:printcolumn:name="Health",type=string,JSONPath=`.status.ceph.health`,description="Ceph Health" +kubebuilder:printcolumn:name="External",type=boolean,JSONPath=`.spec.external.enable` +kubebuilder:subresource:status

func (*CephCluster) DeepCopy

func (in *CephCluster) DeepCopy() *CephCluster

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

func (*CephCluster) DeepCopyInto

func (in *CephCluster) DeepCopyInto(out *CephCluster)

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

func (*CephCluster) DeepCopyObject

func (in *CephCluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CephCluster) GetStatusConditions added in v1.7.1

func (c *CephCluster) GetStatusConditions() *[]Condition

func (*CephCluster) ValidateCreate added in v1.4.0

func (c *CephCluster) ValidateCreate() error

func (*CephCluster) ValidateDelete added in v1.4.0

func (c *CephCluster) ValidateDelete() error

func (*CephCluster) ValidateUpdate added in v1.4.0

func (c *CephCluster) ValidateUpdate(old runtime.Object) error

type CephClusterHealthCheckSpec added in v1.4.0

type CephClusterHealthCheckSpec struct {
	// DaemonHealth is the health check for a given daemon
	// +optional
	// +nullable
	DaemonHealth DaemonHealthSpec `json:"daemonHealth,omitempty"`
	// LivenessProbe allows to change the livenessprobe configuration for a given daemon
	// +optional
	LivenessProbe map[rook.KeyType]*ProbeSpec `json:"livenessProbe,omitempty"`
}

CephClusterHealthCheckSpec represent the healthcheck for Ceph daemons

func (*CephClusterHealthCheckSpec) DeepCopy added in v1.4.0

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

func (*CephClusterHealthCheckSpec) DeepCopyInto added in v1.4.0

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

type CephClusterList

type CephClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephCluster `json:"items"`
}

CephClusterList is a list of CephCluster

func (*CephClusterList) DeepCopy

func (in *CephClusterList) DeepCopy() *CephClusterList

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

func (*CephClusterList) DeepCopyInto

func (in *CephClusterList) DeepCopyInto(out *CephClusterList)

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

func (*CephClusterList) DeepCopyObject

func (in *CephClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephDaemonsVersions added in v1.6.0

type CephDaemonsVersions struct {
	// Mon shows Mon Ceph version
	// +optional
	Mon map[string]int `json:"mon,omitempty"`
	// Mgr shows Mgr Ceph version
	// +optional
	Mgr map[string]int `json:"mgr,omitempty"`
	// Osd shows Osd Ceph version
	// +optional
	Osd map[string]int `json:"osd,omitempty"`
	// Rgw shows Rgw Ceph version
	// +optional
	Rgw map[string]int `json:"rgw,omitempty"`
	// Mds shows Mds Ceph version
	// +optional
	Mds map[string]int `json:"mds,omitempty"`
	// RbdMirror shows RbdMirror Ceph version
	// +optional
	RbdMirror map[string]int `json:"rbd-mirror,omitempty"`
	// CephFSMirror shows CephFSMirror Ceph version
	// +optional
	CephFSMirror map[string]int `json:"cephfs-mirror,omitempty"`
	// Overall shows overall Ceph version
	// +optional
	Overall map[string]int `json:"overall,omitempty"`
}

CephDaemonsVersions show the current ceph version for different ceph daemons

func (*CephDaemonsVersions) DeepCopy added in v1.6.0

func (in *CephDaemonsVersions) DeepCopy() *CephDaemonsVersions

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

func (*CephDaemonsVersions) DeepCopyInto added in v1.6.0

func (in *CephDaemonsVersions) DeepCopyInto(out *CephDaemonsVersions)

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

type CephFilesystem

type CephFilesystem struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              FilesystemSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Status *CephFilesystemStatus `json:"status,omitempty"`
}

CephFilesystem represents a Ceph Filesystem +kubebuilder:printcolumn:name="ActiveMDS",type=string,JSONPath=`.spec.metadataServer.activeCount`,description="Number of desired active MDS daemons" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:subresource:status

func (*CephFilesystem) DeepCopy

func (in *CephFilesystem) DeepCopy() *CephFilesystem

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

func (*CephFilesystem) DeepCopyInto

func (in *CephFilesystem) DeepCopyInto(out *CephFilesystem)

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

func (*CephFilesystem) DeepCopyObject

func (in *CephFilesystem) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephFilesystemList

type CephFilesystemList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephFilesystem `json:"items"`
}

CephFilesystemList represents a list of Ceph Filesystems

func (*CephFilesystemList) DeepCopy

func (in *CephFilesystemList) DeepCopy() *CephFilesystemList

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

func (*CephFilesystemList) DeepCopyInto

func (in *CephFilesystemList) DeepCopyInto(out *CephFilesystemList)

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

func (*CephFilesystemList) DeepCopyObject

func (in *CephFilesystemList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephFilesystemMirror added in v1.6.0

type CephFilesystemMirror struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              FilesystemMirroringSpec `json:"spec"`
	// +optional
	Status *Status `json:"status,omitempty"`
}

CephFilesystemMirror is the Ceph Filesystem Mirror object definition +kubebuilder:subresource:status

func (*CephFilesystemMirror) DeepCopy added in v1.6.0

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

func (*CephFilesystemMirror) DeepCopyInto added in v1.6.0

func (in *CephFilesystemMirror) DeepCopyInto(out *CephFilesystemMirror)

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

func (*CephFilesystemMirror) DeepCopyObject added in v1.6.0

func (in *CephFilesystemMirror) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephFilesystemMirrorList added in v1.6.0

type CephFilesystemMirrorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephFilesystemMirror `json:"items"`
}

CephFilesystemMirrorList is a list of CephFilesystemMirror

func (*CephFilesystemMirrorList) DeepCopy added in v1.6.0

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

func (*CephFilesystemMirrorList) DeepCopyInto added in v1.6.0

func (in *CephFilesystemMirrorList) DeepCopyInto(out *CephFilesystemMirrorList)

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

func (*CephFilesystemMirrorList) DeepCopyObject added in v1.6.0

func (in *CephFilesystemMirrorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephFilesystemStatus added in v1.7.1

type CephFilesystemStatus struct {
	// +optional
	Phase ConditionType `json:"phase,omitempty"`
	// +optional
	SnapshotScheduleStatus *FilesystemSnapshotScheduleStatusSpec `json:"snapshotScheduleStatus,omitempty"`
	// Use only info and put mirroringStatus in it?
	// +optional
	// +nullable
	Info map[string]string `json:"info,omitempty"`
	// MirroringStatus is the filesystem mirroring status
	// +optional
	MirroringStatus *FilesystemMirroringInfoSpec `json:"mirroringStatus,omitempty"`
}

CephFilesystemStatus represents the status of a Ceph Filesystem

func (*CephFilesystemStatus) DeepCopy added in v1.7.1

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

func (*CephFilesystemStatus) DeepCopyInto added in v1.7.1

func (in *CephFilesystemStatus) DeepCopyInto(out *CephFilesystemStatus)

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

type CephHealthMessage added in v1.0.0

type CephHealthMessage struct {
	Severity string `json:"severity"`
	Message  string `json:"message"`
}

CephHealthMessage represents the health message of a Ceph Cluster

func (*CephHealthMessage) DeepCopy added in v1.0.0

func (in *CephHealthMessage) DeepCopy() *CephHealthMessage

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

func (*CephHealthMessage) DeepCopyInto added in v1.0.0

func (in *CephHealthMessage) DeepCopyInto(out *CephHealthMessage)

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

type CephNFS added in v1.0.0

type CephNFS struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              NFSGaneshaSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Status *Status `json:"status,omitempty"`
}

CephNFS represents a Ceph NFS +genclient +genclient:noStatus +kubebuilder:resource:shortName=nfs,path=cephnfses +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status

func (*CephNFS) DeepCopy added in v1.0.0

func (in *CephNFS) DeepCopy() *CephNFS

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

func (*CephNFS) DeepCopyInto added in v1.0.0

func (in *CephNFS) DeepCopyInto(out *CephNFS)

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

func (*CephNFS) DeepCopyObject added in v1.0.0

func (in *CephNFS) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephNFSList added in v1.0.0

type CephNFSList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephNFS `json:"items"`
}

CephNFSList represents a list Ceph NFSes +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CephNFSList) DeepCopy added in v1.0.0

func (in *CephNFSList) DeepCopy() *CephNFSList

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

func (*CephNFSList) DeepCopyInto added in v1.0.0

func (in *CephNFSList) DeepCopyInto(out *CephNFSList)

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

func (*CephNFSList) DeepCopyObject added in v1.0.0

func (in *CephNFSList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectRealm added in v1.4.0

type CephObjectRealm struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// +nullable
	// +optional
	Spec ObjectRealmSpec `json:"spec,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Status *Status `json:"status,omitempty"`
}

CephObjectRealm represents a Ceph Object Store Gateway Realm +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status

func (*CephObjectRealm) DeepCopy added in v1.4.0

func (in *CephObjectRealm) DeepCopy() *CephObjectRealm

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

func (*CephObjectRealm) DeepCopyInto added in v1.4.0

func (in *CephObjectRealm) DeepCopyInto(out *CephObjectRealm)

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

func (*CephObjectRealm) DeepCopyObject added in v1.4.0

func (in *CephObjectRealm) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectRealmList added in v1.4.0

type CephObjectRealmList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephObjectRealm `json:"items"`
}

CephObjectRealmList represents a list Ceph Object Store Gateway Realms +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CephObjectRealmList) DeepCopy added in v1.4.0

func (in *CephObjectRealmList) DeepCopy() *CephObjectRealmList

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

func (*CephObjectRealmList) DeepCopyInto added in v1.4.0

func (in *CephObjectRealmList) DeepCopyInto(out *CephObjectRealmList)

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

func (*CephObjectRealmList) DeepCopyObject added in v1.4.0

func (in *CephObjectRealmList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectStore

type CephObjectStore struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ObjectStoreSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Status *ObjectStoreStatus `json:"status,omitempty"`
}

CephObjectStore represents a Ceph Object Store Gateway +kubebuilder:subresource:status

func (*CephObjectStore) DeepCopy

func (in *CephObjectStore) DeepCopy() *CephObjectStore

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

func (*CephObjectStore) DeepCopyInto

func (in *CephObjectStore) DeepCopyInto(out *CephObjectStore)

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

func (*CephObjectStore) DeepCopyObject

func (in *CephObjectStore) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CephObjectStore) GetStatusConditions added in v1.7.1

func (c *CephObjectStore) GetStatusConditions() *[]Condition

func (*CephObjectStore) ValidateCreate added in v1.6.0

func (o *CephObjectStore) ValidateCreate() error

func (*CephObjectStore) ValidateDelete added in v1.6.0

func (o *CephObjectStore) ValidateDelete() error

func (*CephObjectStore) ValidateUpdate added in v1.6.0

func (o *CephObjectStore) ValidateUpdate(old runtime.Object) error

type CephObjectStoreList

type CephObjectStoreList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephObjectStore `json:"items"`
}

CephObjectStoreList represents a Ceph Object Store Gateways

func (*CephObjectStoreList) DeepCopy

func (in *CephObjectStoreList) DeepCopy() *CephObjectStoreList

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

func (*CephObjectStoreList) DeepCopyInto

func (in *CephObjectStoreList) DeepCopyInto(out *CephObjectStoreList)

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

func (*CephObjectStoreList) DeepCopyObject

func (in *CephObjectStoreList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectStoreUser

type CephObjectStoreUser struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ObjectStoreUserSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Status *ObjectStoreUserStatus `json:"status,omitempty"`
}

CephObjectStoreUser represents a Ceph Object Store Gateway User +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:shortName=rcou;objectuser +kubebuilder:subresource:status

func (*CephObjectStoreUser) DeepCopy

func (in *CephObjectStoreUser) DeepCopy() *CephObjectStoreUser

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

func (*CephObjectStoreUser) DeepCopyInto

func (in *CephObjectStoreUser) DeepCopyInto(out *CephObjectStoreUser)

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

func (*CephObjectStoreUser) DeepCopyObject

func (in *CephObjectStoreUser) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectStoreUserList

type CephObjectStoreUserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephObjectStoreUser `json:"items"`
}

CephObjectStoreUserList represents a list Ceph Object Store Gateway Users

func (*CephObjectStoreUserList) DeepCopy

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

func (*CephObjectStoreUserList) DeepCopyInto

func (in *CephObjectStoreUserList) DeepCopyInto(out *CephObjectStoreUserList)

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

func (*CephObjectStoreUserList) DeepCopyObject

func (in *CephObjectStoreUserList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectZone added in v1.4.0

type CephObjectZone struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ObjectZoneSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Status *Status `json:"status,omitempty"`
}

CephObjectZone represents a Ceph Object Store Gateway Zone +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status

func (*CephObjectZone) DeepCopy added in v1.4.0

func (in *CephObjectZone) DeepCopy() *CephObjectZone

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

func (*CephObjectZone) DeepCopyInto added in v1.4.0

func (in *CephObjectZone) DeepCopyInto(out *CephObjectZone)

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

func (*CephObjectZone) DeepCopyObject added in v1.4.0

func (in *CephObjectZone) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectZoneGroup added in v1.4.0

type CephObjectZoneGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ObjectZoneGroupSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Status *Status `json:"status,omitempty"`
}

CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status

func (*CephObjectZoneGroup) DeepCopy added in v1.4.0

func (in *CephObjectZoneGroup) DeepCopy() *CephObjectZoneGroup

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

func (*CephObjectZoneGroup) DeepCopyInto added in v1.4.0

func (in *CephObjectZoneGroup) DeepCopyInto(out *CephObjectZoneGroup)

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

func (*CephObjectZoneGroup) DeepCopyObject added in v1.4.0

func (in *CephObjectZoneGroup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectZoneGroupList added in v1.4.0

type CephObjectZoneGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephObjectZoneGroup `json:"items"`
}

CephObjectZoneGroupList represents a list Ceph Object Store Gateway Zone Groups +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CephObjectZoneGroupList) DeepCopy added in v1.4.0

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

func (*CephObjectZoneGroupList) DeepCopyInto added in v1.4.0

func (in *CephObjectZoneGroupList) DeepCopyInto(out *CephObjectZoneGroupList)

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

func (*CephObjectZoneGroupList) DeepCopyObject added in v1.4.0

func (in *CephObjectZoneGroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephObjectZoneList added in v1.4.0

type CephObjectZoneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephObjectZone `json:"items"`
}

CephObjectZoneList represents a list Ceph Object Store Gateway Zones +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CephObjectZoneList) DeepCopy added in v1.4.0

func (in *CephObjectZoneList) DeepCopy() *CephObjectZoneList

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

func (*CephObjectZoneList) DeepCopyInto added in v1.4.0

func (in *CephObjectZoneList) DeepCopyInto(out *CephObjectZoneList)

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

func (*CephObjectZoneList) DeepCopyObject added in v1.4.0

func (in *CephObjectZoneList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephRBDMirror added in v1.4.0

type CephRBDMirror struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              RBDMirroringSpec `json:"spec"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Status *Status `json:"status,omitempty"`
}

CephRBDMirror represents a Ceph RBD Mirror +kubebuilder:subresource:status

func (*CephRBDMirror) DeepCopy added in v1.4.0

func (in *CephRBDMirror) DeepCopy() *CephRBDMirror

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

func (*CephRBDMirror) DeepCopyInto added in v1.4.0

func (in *CephRBDMirror) DeepCopyInto(out *CephRBDMirror)

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

func (*CephRBDMirror) DeepCopyObject added in v1.4.0

func (in *CephRBDMirror) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephRBDMirrorList added in v1.4.0

type CephRBDMirrorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []CephRBDMirror `json:"items"`
}

CephRBDMirrorList represents a list Ceph RBD Mirrors +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CephRBDMirrorList) DeepCopy added in v1.4.0

func (in *CephRBDMirrorList) DeepCopy() *CephRBDMirrorList

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

func (*CephRBDMirrorList) DeepCopyInto added in v1.4.0

func (in *CephRBDMirrorList) DeepCopyInto(out *CephRBDMirrorList)

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

func (*CephRBDMirrorList) DeepCopyObject added in v1.4.0

func (in *CephRBDMirrorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CephStatus added in v1.0.0

type CephStatus struct {
	Health         string                       `json:"health,omitempty"`
	Details        map[string]CephHealthMessage `json:"details,omitempty"`
	LastChecked    string                       `json:"lastChecked,omitempty"`
	LastChanged    string                       `json:"lastChanged,omitempty"`
	PreviousHealth string                       `json:"previousHealth,omitempty"`
	Capacity       Capacity                     `json:"capacity,omitempty"`
	// +optional
	Versions *CephDaemonsVersions `json:"versions,omitempty"`
}

CephStatus is the details health of a Ceph Cluster

func (*CephStatus) DeepCopy added in v1.0.0

func (in *CephStatus) DeepCopy() *CephStatus

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

func (*CephStatus) DeepCopyInto added in v1.0.0

func (in *CephStatus) DeepCopyInto(out *CephStatus)

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

type CephStorage added in v1.4.0

type CephStorage struct {
	DeviceClasses []DeviceClasses `json:"deviceClasses,omitempty"`
}

CephStorage represents flavors of Ceph Cluster Storage

func (*CephStorage) DeepCopy added in v1.4.0

func (in *CephStorage) DeepCopy() *CephStorage

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

func (*CephStorage) DeepCopyInto added in v1.4.0

func (in *CephStorage) DeepCopyInto(out *CephStorage)

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

type CephVersionSpec

type CephVersionSpec struct {
	// Image is the container image used to launch the ceph daemons, such as quay.io/ceph/ceph:<tag>
	// The full list of images can be found at https://quay.io/repository/ceph/ceph?tab=tags
	// +optional
	Image string `json:"image,omitempty"`

	// Whether to allow unsupported versions (do not set to true in production)
	// +optional
	AllowUnsupported bool `json:"allowUnsupported,omitempty"`
}

CephVersionSpec represents the settings for the Ceph version that Rook is orchestrating.

func (*CephVersionSpec) DeepCopy

func (in *CephVersionSpec) DeepCopy() *CephVersionSpec

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

func (*CephVersionSpec) DeepCopyInto

func (in *CephVersionSpec) DeepCopyInto(out *CephVersionSpec)

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

type CleanupConfirmationProperty added in v1.3.5

type CleanupConfirmationProperty string

CleanupConfirmationProperty represents the cleanup confirmation +kubebuilder:validation:Pattern=`^$|^yes-really-destroy-data$`

type CleanupPolicySpec added in v1.3.0

type CleanupPolicySpec struct {
	// Confirmation represents the cleanup confirmation
	// +optional
	// +nullable
	Confirmation CleanupConfirmationProperty `json:"confirmation,omitempty"`
	// SanitizeDisks represents way we sanitize disks
	// +optional
	// +nullable
	SanitizeDisks SanitizeDisksSpec `json:"sanitizeDisks,omitempty"`
	// AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images still present
	// +optional
	AllowUninstallWithVolumes bool `json:"allowUninstallWithVolumes,omitempty"`
}

CleanupPolicySpec represents a Ceph Cluster cleanup policy

func (*CleanupPolicySpec) DeepCopy added in v1.3.0

func (in *CleanupPolicySpec) DeepCopy() *CleanupPolicySpec

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

func (*CleanupPolicySpec) DeepCopyInto added in v1.3.0

func (in *CleanupPolicySpec) DeepCopyInto(out *CleanupPolicySpec)

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

func (*CleanupPolicySpec) HasDataDirCleanPolicy added in v1.3.5

func (c *CleanupPolicySpec) HasDataDirCleanPolicy() bool

HasDataDirCleanPolicy returns whether the cluster has a data dir policy

type ClientSpec added in v1.2.0

type ClientSpec struct {
	// +optional
	Name string `json:"name,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Caps map[string]string `json:"caps"`
}

ClientSpec represents the specification of a Ceph Client

func (*ClientSpec) DeepCopy added in v1.2.0

func (in *ClientSpec) DeepCopy() *ClientSpec

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

func (*ClientSpec) DeepCopyInto added in v1.2.0

func (in *ClientSpec) DeepCopyInto(out *ClientSpec)

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

type ClusterSpec

type ClusterSpec struct {
	// The version information that instructs Rook to orchestrate a particular version of Ceph.
	// +optional
	// +nullable
	CephVersion CephVersionSpec `json:"cephVersion,omitempty"`

	// A spec for available storage in the cluster and how it should be used
	// +optional
	// +nullable
	Storage StorageScopeSpec `json:"storage,omitempty"`

	// The annotations-related configuration to add/set on each Pod related object.
	// +nullable
	// +optional
	Annotations AnnotationsSpec `json:"annotations,omitempty"`

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels LabelsSpec `json:"labels,omitempty"`

	// The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations).
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement PlacementSpec `json:"placement,omitempty"`

	// Network related configuration
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Network NetworkSpec `json:"network,omitempty"`

	// Resources set resource requests and limits
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Resources ResourceSpec `json:"resources,omitempty"`

	// PriorityClassNames sets priority classes on components
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	PriorityClassNames PriorityClassNamesSpec `json:"priorityClassNames,omitempty"`

	// The path on the host where config and data can be persisted
	// +kubebuilder:validation:Pattern=`^/(\S+)`
	// +optional
	DataDirHostPath string `json:"dataDirHostPath,omitempty"`

	// SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails
	// +optional
	SkipUpgradeChecks bool `json:"skipUpgradeChecks,omitempty"`

	// ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not clean
	// +optional
	ContinueUpgradeAfterChecksEvenIfNotHealthy bool `json:"continueUpgradeAfterChecksEvenIfNotHealthy,omitempty"`

	// WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart.
	// If the timeout exceeds and OSD is not ok to stop, then the operator would skip upgrade for the current OSD and proceed with the next one
	// if `continueUpgradeAfterChecksEvenIfNotHealthy` is `false`. If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`, then operator would
	// continue with the upgrade of an OSD even if its not ok to stop after the timeout. This timeout won't be applied if `skipUpgradeChecks` is `true`.
	// The default wait timeout is 10 minutes.
	// +optional
	WaitTimeoutForHealthyOSDInMinutes time.Duration `json:"waitTimeoutForHealthyOSDInMinutes,omitempty"`

	// A spec for configuring disruption management.
	// +nullable
	// +optional
	DisruptionManagement DisruptionManagementSpec `json:"disruptionManagement,omitempty"`

	// A spec for mon related options
	// +optional
	// +nullable
	Mon MonSpec `json:"mon,omitempty"`

	// A spec for the crash controller
	// +optional
	// +nullable
	CrashCollector CrashCollectorSpec `json:"crashCollector,omitempty"`

	// Dashboard settings
	// +optional
	// +nullable
	Dashboard DashboardSpec `json:"dashboard,omitempty"`

	// Prometheus based Monitoring settings
	// +optional
	// +nullable
	Monitoring MonitoringSpec `json:"monitoring,omitempty"`

	// Whether the Ceph Cluster is running external to this Kubernetes cluster
	// mon, mgr, osd, mds, and discover daemons will not be created for external clusters.
	// +optional
	// +nullable
	External ExternalSpec `json:"external,omitempty"`

	// A spec for mgr related options
	// +optional
	// +nullable
	Mgr MgrSpec `json:"mgr,omitempty"`

	// Remove the OSD that is out and safe to remove only if this option is true
	// +optional
	RemoveOSDsIfOutAndSafeToRemove bool `json:"removeOSDsIfOutAndSafeToRemove,omitempty"`

	// Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster
	// deletion is not imminent.
	// +optional
	// +nullable
	CleanupPolicy CleanupPolicySpec `json:"cleanupPolicy,omitempty"`

	// Internal daemon healthchecks and liveness probe
	// +optional
	// +nullable
	HealthCheck CephClusterHealthCheckSpec `json:"healthCheck,omitempty"`

	// Security represents security settings
	// +optional
	// +nullable
	Security SecuritySpec `json:"security,omitempty"`

	// Logging represents loggings settings
	// +optional
	// +nullable
	LogCollector LogCollectorSpec `json:"logCollector,omitempty"`
}

ClusterSpec represents the specification of Ceph Cluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

func (*ClusterSpec) IsStretchCluster added in v1.5.0

func (c *ClusterSpec) IsStretchCluster() bool

type ClusterState

type ClusterState string

ClusterState represents the state of a Ceph Cluster

const (
	// ClusterStateCreating represents the Creating state of a Ceph Cluster
	ClusterStateCreating ClusterState = "Creating"
	// ClusterStateCreated represents the Created state of a Ceph Cluster
	ClusterStateCreated ClusterState = "Created"
	// ClusterStateUpdating represents the Updating state of a Ceph Cluster
	ClusterStateUpdating ClusterState = "Updating"
	// ClusterStateConnecting represents the Connecting state of a Ceph Cluster
	ClusterStateConnecting ClusterState = "Connecting"
	// ClusterStateConnected represents the Connected state of a Ceph Cluster
	ClusterStateConnected ClusterState = "Connected"
	// ClusterStateError represents the Error state of a Ceph Cluster
	ClusterStateError ClusterState = "Error"
)

type ClusterStatus

type ClusterStatus struct {
	State       ClusterState    `json:"state,omitempty"`
	Phase       ConditionType   `json:"phase,omitempty"`
	Message     string          `json:"message,omitempty"`
	Conditions  []Condition     `json:"conditions,omitempty"`
	CephStatus  *CephStatus     `json:"ceph,omitempty"`
	CephStorage *CephStorage    `json:"storage,omitempty"`
	CephVersion *ClusterVersion `json:"version,omitempty"`
}

ClusterStatus represents the status of a Ceph cluster

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type ClusterVersion added in v1.2.3

type ClusterVersion struct {
	Image   string `json:"image,omitempty"`
	Version string `json:"version,omitempty"`
}

ClusterVersion represents the version of a Ceph Cluster

func (*ClusterVersion) DeepCopy added in v1.2.3

func (in *ClusterVersion) DeepCopy() *ClusterVersion

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

func (*ClusterVersion) DeepCopyInto added in v1.2.3

func (in *ClusterVersion) DeepCopyInto(out *ClusterVersion)

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

type Condition added in v1.3.0

type Condition struct {
	Type               ConditionType      `json:"type,omitempty"`
	Status             v1.ConditionStatus `json:"status,omitempty"`
	Reason             ConditionReason    `json:"reason,omitempty"`
	Message            string             `json:"message,omitempty"`
	LastHeartbeatTime  metav1.Time        `json:"lastHeartbeatTime,omitempty"`
	LastTransitionTime metav1.Time        `json:"lastTransitionTime,omitempty"`
}

Condition represents a status condition on any Rook-Ceph Custom Resource.

func FindStatusCondition added in v1.7.1

func FindStatusCondition(conditions []Condition, conditionType ConditionType) *Condition

FindStatusCondition finds the conditionType in conditions.

func (*Condition) DeepCopy added in v1.3.0

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto added in v1.3.0

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionReason added in v1.7.1

type ConditionReason string

ConditionReason is a reason for a condition

const (
	// ClusterCreatedReason is cluster created reason
	ClusterCreatedReason ConditionReason = "ClusterCreated"
	// ClusterConnectedReason is cluster connected reason
	ClusterConnectedReason ConditionReason = "ClusterConnected"
	// ClusterProgressingReason is cluster progressing reason
	ClusterProgressingReason ConditionReason = "ClusterProgressing"
	// ClusterDeletingReason is cluster deleting reason
	ClusterDeletingReason ConditionReason = "ClusterDeleting"
	// ClusterConnectingReason is cluster connecting reason
	ClusterConnectingReason ConditionReason = "ClusterConnecting"

	// ReconcileSucceeded represents when a resource reconciliation was successful.
	ReconcileSucceeded ConditionReason = "ReconcileSucceeded"
	// ReconcileFailed represents when a resource reconciliation failed.
	ReconcileFailed ConditionReason = "ReconcileFailed"

	// DeletingReason represents when Rook has detected a resource object should be deleted.
	DeletingReason ConditionReason = "Deleting"
	// ObjectHasDependentsReason represents when a resource object has dependents that are blocking
	// deletion.
	ObjectHasDependentsReason ConditionReason = "ObjectHasDependents"
	// ObjectHasNoDependentsReason represents when a resource object has no dependents that are
	// blocking deletion.
	ObjectHasNoDependentsReason ConditionReason = "ObjectHasNoDependents"
)

type ConditionType added in v1.3.0

type ConditionType string

ConditionType represent a resource's status

const (
	// ConditionConnecting represents Connecting state of an object
	ConditionConnecting ConditionType = "Connecting"
	// ConditionConnected represents Connected state of an object
	ConditionConnected ConditionType = "Connected"
	// ConditionProgressing represents Progressing state of an object
	ConditionProgressing ConditionType = "Progressing"
	// ConditionReady represents Ready state of an object
	ConditionReady ConditionType = "Ready"
	// ConditionFailure represents Failure state of an object
	ConditionFailure ConditionType = "Failure"
	// ConditionDeleting represents Deleting state of an object
	ConditionDeleting ConditionType = "Deleting"

	// ConditionDeletionIsBlocked represents when deletion of the object is blocked.
	ConditionDeletionIsBlocked ConditionType = "DeletionIsBlocked"
)

type CrashCollectorSpec added in v1.2.2

type CrashCollectorSpec struct {
	// Disable determines whether we should enable the crash collector
	// +optional
	Disable bool `json:"disable,omitempty"`

	// DaysToRetain represents the number of days to retain crash until they get pruned
	// +optional
	DaysToRetain uint `json:"daysToRetain,omitempty"`
}

CrashCollectorSpec represents options to configure the crash controller

func (*CrashCollectorSpec) DeepCopy added in v1.2.2

func (in *CrashCollectorSpec) DeepCopy() *CrashCollectorSpec

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

func (*CrashCollectorSpec) DeepCopyInto added in v1.2.2

func (in *CrashCollectorSpec) DeepCopyInto(out *CrashCollectorSpec)

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

type DaemonHealthSpec added in v1.4.0

type DaemonHealthSpec struct {
	// Status represents the health check settings for the Ceph health
	// +optional
	// +nullable
	Status HealthCheckSpec `json:"status,omitempty"`
	// Monitor represents the health check settings for the Ceph monitor
	// +optional
	// +nullable
	Monitor HealthCheckSpec `json:"mon,omitempty"`
	// ObjectStorageDaemon represents the health check settings for the Ceph OSDs
	// +optional
	// +nullable
	ObjectStorageDaemon HealthCheckSpec `json:"osd,omitempty"`
}

DaemonHealthSpec is a daemon health check

func (*DaemonHealthSpec) DeepCopy added in v1.4.0

func (in *DaemonHealthSpec) DeepCopy() *DaemonHealthSpec

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

func (*DaemonHealthSpec) DeepCopyInto added in v1.4.0

func (in *DaemonHealthSpec) DeepCopyInto(out *DaemonHealthSpec)

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

type DashboardSpec

type DashboardSpec struct {
	// Enabled determines whether to enable the dashboard
	// +optional
	Enabled bool `json:"enabled,omitempty"`
	// URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy
	// +optional
	URLPrefix string `json:"urlPrefix,omitempty"`
	// Port is the dashboard webserver port
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +optional
	Port int `json:"port,omitempty"`
	// SSL determines whether SSL should be used
	// +optional
	SSL bool `json:"ssl,omitempty"`
}

DashboardSpec represents the settings for the Ceph dashboard

func (*DashboardSpec) DeepCopy

func (in *DashboardSpec) DeepCopy() *DashboardSpec

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

func (*DashboardSpec) DeepCopyInto

func (in *DashboardSpec) DeepCopyInto(out *DashboardSpec)

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

type Device added in v1.7.1

type Device struct {
	// +optional
	Name string `json:"name,omitempty"`
	// +optional
	FullPath string `json:"fullpath,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

Device represents a disk to use in the cluster

func (*Device) DeepCopy added in v1.7.1

func (in *Device) DeepCopy() *Device

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

func (*Device) DeepCopyInto added in v1.7.1

func (in *Device) DeepCopyInto(out *Device)

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

type DeviceClasses added in v1.4.0

type DeviceClasses struct {
	Name string `json:"name,omitempty"`
}

DeviceClasses represents device classes of a Ceph Cluster

func (*DeviceClasses) DeepCopy added in v1.4.0

func (in *DeviceClasses) DeepCopy() *DeviceClasses

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

func (*DeviceClasses) DeepCopyInto added in v1.4.0

func (in *DeviceClasses) DeepCopyInto(out *DeviceClasses)

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

type DisruptionManagementSpec added in v1.1.0

type DisruptionManagementSpec struct {
	// This enables management of poddisruptionbudgets
	// +optional
	ManagePodBudgets bool `json:"managePodBudgets,omitempty"`

	// OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure domains
	// it only works if managePodBudgets is true.
	// the default is 30 minutes
	// +optional
	OSDMaintenanceTimeout time.Duration `json:"osdMaintenanceTimeout,omitempty"`

	// PGHealthCheckTimeout is the time (in minutes) that the operator will wait for the placement groups to become
	// healthy (active+clean) after a drain was completed and OSDs came back up. Rook will continue with the next drain
	// if the timeout exceeds. It only works if managePodBudgets is true.
	// No values or 0 means that the operator will wait until the placement groups are healthy before unblocking the next drain.
	// +optional
	PGHealthCheckTimeout time.Duration `json:"pgHealthCheckTimeout,omitempty"`

	// This enables management of machinedisruptionbudgets
	// +optional
	ManageMachineDisruptionBudgets bool `json:"manageMachineDisruptionBudgets,omitempty"`

	// Namespace to look for MDBs by the machineDisruptionBudgetController
	// +optional
	MachineDisruptionBudgetNamespace string `json:"machineDisruptionBudgetNamespace,omitempty"`
}

DisruptionManagementSpec configures management of daemon disruptions

func (*DisruptionManagementSpec) DeepCopy added in v1.1.0

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

func (*DisruptionManagementSpec) DeepCopyInto added in v1.1.0

func (in *DisruptionManagementSpec) DeepCopyInto(out *DisruptionManagementSpec)

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

type ErasureCodedSpec

type ErasureCodedSpec struct {
	// Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
	// This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
	// +kubebuilder:validation:Minimum=0
	CodingChunks uint `json:"codingChunks"`

	// Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
	// The number of chunks required to recover an object when any single OSD is lost is the same
	// as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
	// +kubebuilder:validation:Minimum=0
	DataChunks uint `json:"dataChunks"`

	// The algorithm for erasure coding
	// +optional
	Algorithm string `json:"algorithm,omitempty"`
}

ErasureCodedSpec represents the spec for erasure code in a pool

func (*ErasureCodedSpec) DeepCopy

func (in *ErasureCodedSpec) DeepCopy() *ErasureCodedSpec

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

func (*ErasureCodedSpec) DeepCopyInto

func (in *ErasureCodedSpec) DeepCopyInto(out *ErasureCodedSpec)

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

type ExternalSpec added in v1.1.0

type ExternalSpec struct {
	// Enable determines whether external mode is enabled or not
	// +optional
	Enable bool `json:"enable,omitempty"`
}

ExternalSpec represents the options supported by an external cluster +kubebuilder:pruning:PreserveUnknownFields +nullable

func (*ExternalSpec) DeepCopy added in v1.1.0

func (in *ExternalSpec) DeepCopy() *ExternalSpec

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

func (*ExternalSpec) DeepCopyInto added in v1.1.0

func (in *ExternalSpec) DeepCopyInto(out *ExternalSpec)

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

type FSMirroringSpec added in v1.6.0

type FSMirroringSpec struct {
	// Enabled whether this filesystem is mirrored or not
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Peers represents the peers spec
	// +nullable
	// +optional
	Peers *MirroringPeerSpec `json:"peers,omitempty"`

	// SnapshotSchedules is the scheduling of snapshot for mirrored filesystems
	// +optional
	SnapshotSchedules []SnapshotScheduleSpec `json:"snapshotSchedules,omitempty"`

	// Retention is the retention policy for a snapshot schedule
	// One path has exactly one retention policy.
	// A policy can however contain multiple count-time period pairs in order to specify complex retention policies
	// +optional
	SnapshotRetention []SnapshotScheduleRetentionSpec `json:"snapshotRetention,omitempty"`
}

FSMirroringSpec represents the setting for a mirrored filesystem

func (*FSMirroringSpec) DeepCopy added in v1.6.0

func (in *FSMirroringSpec) DeepCopy() *FSMirroringSpec

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

func (*FSMirroringSpec) DeepCopyInto added in v1.6.0

func (in *FSMirroringSpec) DeepCopyInto(out *FSMirroringSpec)

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

func (*FSMirroringSpec) SnapShotScheduleEnabled added in v1.7.1

func (m *FSMirroringSpec) SnapShotScheduleEnabled() bool

type FilesystemMirrorInfoPeerSpec added in v1.7.1

type FilesystemMirrorInfoPeerSpec struct {
	// UUID is the peer unique identifier
	// +optional
	UUID string `json:"uuid,omitempty"`
	// Remote are the remote cluster information
	// +optional
	Remote *PeerRemoteSpec `json:"remote,omitempty"`
	// Stats are the stat a peer mirror
	// +optional
	Stats *PeerStatSpec `json:"stats,omitempty"`
}

FilesystemMirrorInfoPeerSpec is the specification of a filesystem peer mirror

func (*FilesystemMirrorInfoPeerSpec) DeepCopy added in v1.7.1

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

func (*FilesystemMirrorInfoPeerSpec) DeepCopyInto added in v1.7.1

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

type FilesystemMirroringInfo added in v1.7.1

type FilesystemMirroringInfo struct {
	// DaemonID is the cephfs-mirror name
	// +optional
	DaemonID int `json:"daemon_id,omitempty"`
	// Filesystems is the list of filesystems managed by a given cephfs-mirror daemon
	// +optional
	Filesystems []FilesystemsSpec `json:"filesystems,omitempty"`
}

FilesystemMirrorInfoSpec is the filesystem mirror status of a given filesystem

func (*FilesystemMirroringInfo) DeepCopy added in v1.7.1

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

func (*FilesystemMirroringInfo) DeepCopyInto added in v1.7.1

func (in *FilesystemMirroringInfo) DeepCopyInto(out *FilesystemMirroringInfo)

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

type FilesystemMirroringInfoSpec added in v1.7.1

type FilesystemMirroringInfoSpec struct {
	// PoolMirroringStatus is the mirroring status of a filesystem
	// +nullable
	// +optional
	FilesystemMirroringAllInfo []FilesystemMirroringInfo `json:"daemonsStatus,omitempty"`
	// LastChecked is the last time time the status was checked
	// +optional
	LastChecked string `json:"lastChecked,omitempty"`
	// LastChanged is the last time time the status last changed
	// +optional
	LastChanged string `json:"lastChanged,omitempty"`
	// Details contains potential status errors
	// +optional
	Details string `json:"details,omitempty"`
}

FilesystemMirroringInfo is the status of the pool mirroring

func (*FilesystemMirroringInfoSpec) DeepCopy added in v1.7.1

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

func (*FilesystemMirroringInfoSpec) DeepCopyInto added in v1.7.1

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

type FilesystemMirroringSpec added in v1.6.0

type FilesystemMirroringSpec struct {
	// The affinity to place the rgw pods (default is to place on any available node)
	// +nullable
	// +optional
	Placement Placement `json:"placement,omitempty"`

	// The annotations-related configuration to add/set on each Pod related object.
	// +nullable
	// +optional
	Annotations rook.Annotations `json:"annotations,omitempty"`

	// The labels-related configuration to add/set on each Pod related object.
	// +nullable
	// +optional
	Labels rook.Labels `json:"labels,omitempty"`

	// The resource requirements for the cephfs-mirror pods
	// +nullable
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`

	// PriorityClassName sets priority class on the cephfs-mirror pods
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`
}

FilesystemMirroringSpec is the filesystem mirroring specification

func (*FilesystemMirroringSpec) DeepCopy added in v1.6.0

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

func (*FilesystemMirroringSpec) DeepCopyInto added in v1.6.0

func (in *FilesystemMirroringSpec) DeepCopyInto(out *FilesystemMirroringSpec)

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

type FilesystemSnapshotScheduleStatusRetention added in v1.7.1

type FilesystemSnapshotScheduleStatusRetention struct {
	// Start is when the snapshot schedule starts
	// +optional
	Start string `json:"start,omitempty"`
	// Created is when the snapshot schedule was created
	// +optional
	Created string `json:"created,omitempty"`
	// First is when the first snapshot schedule was taken
	// +optional
	First string `json:"first,omitempty"`
	// Last is when the last snapshot schedule was taken
	// +optional
	Last string `json:"last,omitempty"`
	// LastPruned is when the last snapshot schedule was pruned
	// +optional
	LastPruned string `json:"last_pruned,omitempty"`
	// CreatedCount is total amount of snapshots
	// +optional
	CreatedCount int `json:"created_count,omitempty"`
	// PrunedCount is total amount of pruned snapshots
	// +optional
	PrunedCount int `json:"pruned_count,omitempty"`
	// Active is whether the scheduled is active or not
	// +optional
	Active bool `json:"active,omitempty"`
}

FilesystemSnapshotScheduleStatusRetention is the retention specification for a filesystem snapshot schedule

func (*FilesystemSnapshotScheduleStatusRetention) DeepCopy added in v1.7.1

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

func (*FilesystemSnapshotScheduleStatusRetention) DeepCopyInto added in v1.7.1

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

type FilesystemSnapshotScheduleStatusSpec added in v1.7.1

type FilesystemSnapshotScheduleStatusSpec struct {
	// SnapshotSchedules is the list of snapshots scheduled
	// +nullable
	// +optional
	SnapshotSchedules []FilesystemSnapshotSchedulesSpec `json:"snapshotSchedules,omitempty"`
	// LastChecked is the last time time the status was checked
	// +optional
	LastChecked string `json:"lastChecked,omitempty"`
	// LastChanged is the last time time the status last changed
	// +optional
	LastChanged string `json:"lastChanged,omitempty"`
	// Details contains potential status errors
	// +optional
	Details string `json:"details,omitempty"`
}

FilesystemSnapshotScheduleStatusSpec is the status of the snapshot schedule

func (*FilesystemSnapshotScheduleStatusSpec) DeepCopy added in v1.7.1

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

func (*FilesystemSnapshotScheduleStatusSpec) DeepCopyInto added in v1.7.1

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

type FilesystemSnapshotSchedulesSpec added in v1.7.1

type FilesystemSnapshotSchedulesSpec struct {
	// Fs is the name of the Ceph Filesystem
	// +optional
	Fs string `json:"fs,omitempty"`
	// Subvol is the name of the sub volume
	// +optional
	Subvol string `json:"subvol,omitempty"`
	// Path is the path on the filesystem
	// +optional
	Path string `json:"path,omitempty"`
	// +optional
	RelPath string `json:"rel_path,omitempty"`
	// +optional
	Schedule string `json:"schedule,omitempty"`
	// +optional
	Retention FilesystemSnapshotScheduleStatusRetention `json:"retention,omitempty"`
}

FilesystemSnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool

func (*FilesystemSnapshotSchedulesSpec) DeepCopy added in v1.7.1

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

func (*FilesystemSnapshotSchedulesSpec) DeepCopyInto added in v1.7.1

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

type FilesystemSpec

type FilesystemSpec struct {
	// The metadata pool settings
	// +nullable
	MetadataPool PoolSpec `json:"metadataPool"`

	// The data pool settings
	// +nullable
	DataPools []PoolSpec `json:"dataPools"`

	// Preserve pools on filesystem deletion
	// +optional
	PreservePoolsOnDelete bool `json:"preservePoolsOnDelete,omitempty"`

	// Preserve the fs in the cluster on CephFilesystem CR deletion. Setting this to true automatically implies PreservePoolsOnDelete is true.
	// +optional
	PreserveFilesystemOnDelete bool `json:"preserveFilesystemOnDelete,omitempty"`

	// The mds pod info
	MetadataServer MetadataServerSpec `json:"metadataServer"`

	// The mirroring settings
	// +nullable
	// +optional
	Mirroring *FSMirroringSpec `json:"mirroring,omitempty"`

	// The mirroring statusCheck
	// +kubebuilder:pruning:PreserveUnknownFields
	StatusCheck MirrorHealthCheckSpec `json:"statusCheck,omitempty"`
}

FilesystemSpec represents the spec of a file system

func (*FilesystemSpec) DeepCopy

func (in *FilesystemSpec) DeepCopy() *FilesystemSpec

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

func (*FilesystemSpec) DeepCopyInto

func (in *FilesystemSpec) DeepCopyInto(out *FilesystemSpec)

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

type FilesystemsSpec added in v1.7.1

type FilesystemsSpec struct {
	// FilesystemID is the filesystem identifier
	// +optional
	FilesystemID int `json:"filesystem_id,omitempty"`
	// Name is name of the filesystem
	// +optional
	Name string `json:"name,omitempty"`
	// DirectoryCount is the number of directories in the filesystem
	// +optional
	DirectoryCount int `json:"directory_count,omitempty"`
	// Peers represents the mirroring peers
	// +optional
	Peers []FilesystemMirrorInfoPeerSpec `json:"peers,omitempty"`
}

FilesystemsSpec is spec for the mirrored filesystem

func (*FilesystemsSpec) DeepCopy added in v1.7.1

func (in *FilesystemsSpec) DeepCopy() *FilesystemsSpec

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

func (*FilesystemsSpec) DeepCopyInto added in v1.7.1

func (in *FilesystemsSpec) DeepCopyInto(out *FilesystemsSpec)

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

type GaneshaRADOSSpec added in v1.0.0

type GaneshaRADOSSpec struct {
	// Pool used to represent the Ganesha's pool name in version older than 16.2.7
	// As of Ceph Pacific 16.2.7, NFS Ganesha's pool name is hardcoded to ".nfs", so this
	// setting will be ignored.
	// +optional
	Pool string `json:"pool,omitempty"`

	// PoolConfig is the RADOS pool where Ganesha data is stored.
	// +nullable
	// +optional
	PoolConfig *PoolSpec `json:"poolConfig,omitempty"`

	// Namespace is the RADOS namespace where NFS client recovery data is stored.
	Namespace string `json:"namespace"`
}

GaneshaRADOSSpec represents the specification of a Ganesha RADOS object

func (*GaneshaRADOSSpec) DeepCopy added in v1.0.0

func (in *GaneshaRADOSSpec) DeepCopy() *GaneshaRADOSSpec

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

func (*GaneshaRADOSSpec) DeepCopyInto added in v1.0.0

func (in *GaneshaRADOSSpec) DeepCopyInto(out *GaneshaRADOSSpec)

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

type GaneshaServerSpec added in v1.0.0

type GaneshaServerSpec struct {
	// The number of active Ganesha servers
	Active int `json:"active"`

	// The affinity to place the ganesha pods
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement Placement `json:"placement,omitempty"`

	// The annotations-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Annotations rook.Annotations `json:"annotations,omitempty"`

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels rook.Labels `json:"labels,omitempty"`

	// Resources set resource requests and limits
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`

	// PriorityClassName sets the priority class on the pods
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// LogLevel set logging level
	// +optional
	LogLevel string `json:"logLevel,omitempty"`
}

GaneshaServerSpec represents the specification of a Ganesha Server

func (*GaneshaServerSpec) DeepCopy added in v1.0.0

func (in *GaneshaServerSpec) DeepCopy() *GaneshaServerSpec

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

func (*GaneshaServerSpec) DeepCopyInto added in v1.0.0

func (in *GaneshaServerSpec) DeepCopyInto(out *GaneshaServerSpec)

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

type GatewaySpec

type GatewaySpec struct {
	// The port the rgw service will be listening on (http)
	// +optional
	Port int32 `json:"port,omitempty"`

	// The port the rgw service will be listening on (https)
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +nullable
	// +optional
	SecurePort int32 `json:"securePort,omitempty"`

	// The number of pods in the rgw replicaset.
	// +nullable
	// +optional
	Instances int32 `json:"instances,omitempty"`

	// The name of the secret that stores the ssl certificate for secure rgw connections
	// +nullable
	// +optional
	SSLCertificateRef string `json:"sslCertificateRef,omitempty"`

	// The name of the secret that stores custom ca-bundle with root and intermediate certificates.
	// +nullable
	// +optional
	CaBundleRef string `json:"caBundleRef,omitempty"`

	// The affinity to place the rgw pods (default is to place on any available node)
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement Placement `json:"placement,omitempty"`

	// The annotations-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Annotations rook.Annotations `json:"annotations,omitempty"`

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels rook.Labels `json:"labels,omitempty"`

	// The resource requirements for the rgw pods
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`

	// PriorityClassName sets priority classes on the rgw pods
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// ExternalRgwEndpoints points to external rgw endpoint(s)
	// +nullable
	// +optional
	ExternalRgwEndpoints []v1.EndpointAddress `json:"externalRgwEndpoints,omitempty"`

	// The configuration related to add/set on each rgw service.
	// +optional
	// +nullable
	Service *RGWServiceSpec `json:"service,omitempty"`
}

GatewaySpec represents the specification of Ceph Object Store Gateway

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

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

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

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

type HealthCheckSpec added in v1.4.0

type HealthCheckSpec struct {
	// +optional
	Disabled bool `json:"disabled,omitempty"`
	// Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`
	// +optional
	Timeout string `json:"timeout,omitempty"`
}

HealthCheckSpec represents the health check of an object store bucket

func (*HealthCheckSpec) DeepCopy added in v1.4.0

func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec

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

func (*HealthCheckSpec) DeepCopyInto added in v1.4.0

func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec)

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

type HybridStorageSpec added in v1.7.1

type HybridStorageSpec struct {
	// PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	// +required
	PrimaryDeviceClass string `json:"primaryDeviceClass"`
	// SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	// +required
	SecondaryDeviceClass string `json:"secondaryDeviceClass"`
}

HybridStorageSpec represents the settings for hybrid storage pool

func (*HybridStorageSpec) DeepCopy added in v1.7.1

func (in *HybridStorageSpec) DeepCopy() *HybridStorageSpec

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

func (*HybridStorageSpec) DeepCopyInto added in v1.7.1

func (in *HybridStorageSpec) DeepCopyInto(out *HybridStorageSpec)

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

type IPFamilyType added in v1.4.6

type IPFamilyType string

IPFamilyType represents the single stack Ipv4 or Ipv6 protocol.

const (
	// IPv6 internet protocol version
	IPv6 IPFamilyType = "IPv6"
	// IPv4 internet protocol version
	IPv4 IPFamilyType = "IPv4"
)

type KeyManagementServiceSpec added in v1.5.0

type KeyManagementServiceSpec struct {
	// ConnectionDetails contains the KMS connection details (address, port etc)
	// +optional
	// +nullable
	// +kubebuilder:pruning:PreserveUnknownFields
	ConnectionDetails map[string]string `json:"connectionDetails,omitempty"`
	// TokenSecretName is the kubernetes secret containing the KMS token
	// +optional
	TokenSecretName string `json:"tokenSecretName,omitempty"`
}

KeyManagementServiceSpec represent various details of the KMS server

func (*KeyManagementServiceSpec) DeepCopy added in v1.5.0

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

func (*KeyManagementServiceSpec) DeepCopyInto added in v1.5.0

func (in *KeyManagementServiceSpec) DeepCopyInto(out *KeyManagementServiceSpec)

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

func (*KeyManagementServiceSpec) IsEnabled added in v1.5.0

func (kms *KeyManagementServiceSpec) IsEnabled() bool

IsEnabled return whether a KMS is configured

func (*KeyManagementServiceSpec) IsTLSEnabled added in v1.7.1

func (kms *KeyManagementServiceSpec) IsTLSEnabled() bool

IsTLSEnabled return KMS TLS details are configured

func (*KeyManagementServiceSpec) IsTokenAuthEnabled added in v1.5.0

func (kms *KeyManagementServiceSpec) IsTokenAuthEnabled() bool

IsTokenAuthEnabled return whether KMS token auth is enabled

type LabelsSpec added in v1.7.1

type LabelsSpec map[rook.KeyType]rook.Labels

LabelsSpec is the main spec label for all daemons

func (LabelsSpec) All added in v1.7.1

func (a LabelsSpec) All() rook.Labels

func (LabelsSpec) DeepCopy added in v1.7.1

func (in LabelsSpec) DeepCopy() LabelsSpec

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

func (LabelsSpec) DeepCopyInto added in v1.7.1

func (in LabelsSpec) DeepCopyInto(out *LabelsSpec)

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

type LogCollectorSpec added in v1.5.2

type LogCollectorSpec struct {
	// Enabled represents whether the log collector is enabled
	// +optional
	Enabled bool `json:"enabled,omitempty"`
	// Periodicity is the periodicity of the log rotation
	// +optional
	Periodicity string `json:"periodicity,omitempty"`
}

LogCollectorSpec is the logging spec

func (*LogCollectorSpec) DeepCopy added in v1.5.2

func (in *LogCollectorSpec) DeepCopy() *LogCollectorSpec

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

func (*LogCollectorSpec) DeepCopyInto added in v1.5.2

func (in *LogCollectorSpec) DeepCopyInto(out *LogCollectorSpec)

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

type MetadataServerSpec

type MetadataServerSpec struct {
	// The number of metadata servers that are active. The remaining servers in the cluster will be in standby mode.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=10
	ActiveCount int32 `json:"activeCount"`

	// Whether each active MDS instance will have an active standby with a warm metadata cache for faster failover.
	// If false, standbys will still be available, but will not have a warm metadata cache.
	// +optional
	ActiveStandby bool `json:"activeStandby,omitempty"`

	// The affinity to place the mds pods (default is to place on all available node) with a daemonset
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement Placement `json:"placement,omitempty"`

	// The annotations-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Annotations rook.Annotations `json:"annotations,omitempty"`

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels rook.Labels `json:"labels,omitempty"`

	// The resource requirements for the rgw pods
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`

	// PriorityClassName sets priority classes on components
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`
}

MetadataServerSpec represents the specification of a Ceph Metadata Server

func (*MetadataServerSpec) DeepCopy

func (in *MetadataServerSpec) DeepCopy() *MetadataServerSpec

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

func (*MetadataServerSpec) DeepCopyInto

func (in *MetadataServerSpec) DeepCopyInto(out *MetadataServerSpec)

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

type MgrSpec added in v1.1.0

type MgrSpec struct {
	// Count is the number of manager to run
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=2
	// +optional
	Count int `json:"count,omitempty"`
	// AllowMultiplePerNode allows to run multiple managers on the same node (not recommended)
	// +optional
	AllowMultiplePerNode bool `json:"allowMultiplePerNode,omitempty"`
	// Modules is the list of ceph manager modules to enable/disable
	// +optional
	// +nullable
	Modules []Module `json:"modules,omitempty"`
}

MgrSpec represents options to configure a ceph mgr

func (*MgrSpec) DeepCopy added in v1.1.0

func (in *MgrSpec) DeepCopy() *MgrSpec

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

func (*MgrSpec) DeepCopyInto added in v1.1.0

func (in *MgrSpec) DeepCopyInto(out *MgrSpec)

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

type MirrorHealthCheckSpec added in v1.5.0

type MirrorHealthCheckSpec struct {
	// +optional
	// +nullable
	Mirror HealthCheckSpec `json:"mirror,omitempty"`
}

MirrorHealthCheckSpec represents the health specification of a Ceph Storage Pool mirror

func (*MirrorHealthCheckSpec) DeepCopy added in v1.5.0

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

func (*MirrorHealthCheckSpec) DeepCopyInto added in v1.5.0

func (in *MirrorHealthCheckSpec) DeepCopyInto(out *MirrorHealthCheckSpec)

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

type MirroringInfoSpec added in v1.5.0

type MirroringInfoSpec struct {
	// +optional
	*PoolMirroringInfo `json:",inline"`
	// +optional
	LastChecked string `json:"lastChecked,omitempty"`
	// +optional
	LastChanged string `json:"lastChanged,omitempty"`
	// +optional
	Details string `json:"details,omitempty"`
}

MirroringInfoSpec is the status of the pool mirroring

func (*MirroringInfoSpec) DeepCopy added in v1.5.0

func (in *MirroringInfoSpec) DeepCopy() *MirroringInfoSpec

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

func (*MirroringInfoSpec) DeepCopyInto added in v1.5.0

func (in *MirroringInfoSpec) DeepCopyInto(out *MirroringInfoSpec)

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

type MirroringPeerSpec added in v1.7.1

type MirroringPeerSpec struct {
	// SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
	// +optional
	SecretNames []string `json:"secretNames,omitempty"`
}

MirroringPeerSpec represents the specification of a mirror peer

func (*MirroringPeerSpec) DeepCopy added in v1.7.1

func (in *MirroringPeerSpec) DeepCopy() *MirroringPeerSpec

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

func (*MirroringPeerSpec) DeepCopyInto added in v1.7.1

func (in *MirroringPeerSpec) DeepCopyInto(out *MirroringPeerSpec)

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

func (*MirroringPeerSpec) HasPeers added in v1.7.1

func (m *MirroringPeerSpec) HasPeers() bool

HasPeers returns whether the RBD mirror daemon has peer and should connect to it

type MirroringSpec added in v1.5.0

type MirroringSpec struct {
	// Enabled whether this pool is mirrored or not
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Mode is the mirroring mode: either pool or image
	// +optional
	Mode string `json:"mode,omitempty"`

	// SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
	// +optional
	SnapshotSchedules []SnapshotScheduleSpec `json:"snapshotSchedules,omitempty"`

	// Peers represents the peers spec
	// +nullable
	// +optional
	Peers *MirroringPeerSpec `json:"peers,omitempty"`
}

MirroringSpec represents the setting for a mirrored pool

func (*MirroringSpec) DeepCopy added in v1.5.0

func (in *MirroringSpec) DeepCopy() *MirroringSpec

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

func (*MirroringSpec) DeepCopyInto added in v1.5.0

func (in *MirroringSpec) DeepCopyInto(out *MirroringSpec)

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

func (*MirroringSpec) SnapshotSchedulesEnabled added in v1.5.1

func (p *MirroringSpec) SnapshotSchedulesEnabled() bool

SnapshotSchedulesEnabled returns whether snapshot schedules are desired

type MirroringStatusSpec added in v1.5.0

type MirroringStatusSpec struct {
	// PoolMirroringStatus is the mirroring status of a pool
	// +optional
	PoolMirroringStatus `json:",inline"`
	// LastChecked is the last time time the status was checked
	// +optional
	LastChecked string `json:"lastChecked,omitempty"`
	// LastChanged is the last time time the status last changed
	// +optional
	LastChanged string `json:"lastChanged,omitempty"`
	// Details contains potential status errors
	// +optional
	Details string `json:"details,omitempty"`
}

MirroringStatusSpec is the status of the pool mirroring

func (*MirroringStatusSpec) DeepCopy added in v1.5.0

func (in *MirroringStatusSpec) DeepCopy() *MirroringStatusSpec

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

func (*MirroringStatusSpec) DeepCopyInto added in v1.5.0

func (in *MirroringStatusSpec) DeepCopyInto(out *MirroringStatusSpec)

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

type Module added in v1.1.0

type Module struct {
	// Name is the name of the ceph manager module
	// +optional
	Name string `json:"name,omitempty"`
	// Enabled determines whether a module should be enabled or not
	// +optional
	Enabled bool `json:"enabled,omitempty"`
}

Module represents mgr modules that the user wants to enable or disable

func (*Module) DeepCopy added in v1.1.0

func (in *Module) DeepCopy() *Module

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

func (*Module) DeepCopyInto added in v1.1.0

func (in *Module) DeepCopyInto(out *Module)

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

type MonSpec

type MonSpec struct {
	// Count is the number of Ceph monitors
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=9
	// +optional
	Count int `json:"count,omitempty"`
	// AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended)
	// +optional
	AllowMultiplePerNode bool `json:"allowMultiplePerNode,omitempty"`
	// StretchCluster is the stretch cluster specification
	// +optional
	StretchCluster *StretchClusterSpec `json:"stretchCluster,omitempty"`
	// VolumeClaimTemplate is the PVC definition
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	VolumeClaimTemplate *v1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
}

MonSpec represents the specification of the monitor

func (*MonSpec) DeepCopy

func (in *MonSpec) DeepCopy() *MonSpec

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

func (*MonSpec) DeepCopyInto

func (in *MonSpec) DeepCopyInto(out *MonSpec)

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

type MonitoringSpec added in v1.1.0

type MonitoringSpec struct {
	// Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus
	// types must exist or the creation will fail.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// RulesNamespace is the namespace where the prometheus rules and alerts should be created.
	// If empty, the same namespace as the cluster will be used.
	// +optional
	RulesNamespace string `json:"rulesNamespace,omitempty"`

	// ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
	// +optional
	// +nullable
	ExternalMgrEndpoints []v1.EndpointAddress `json:"externalMgrEndpoints,omitempty"`

	// ExternalMgrPrometheusPort Prometheus exporter port
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +optional
	ExternalMgrPrometheusPort uint16 `json:"externalMgrPrometheusPort,omitempty"`
}

MonitoringSpec represents the settings for Prometheus based Ceph monitoring

func (*MonitoringSpec) DeepCopy added in v1.1.0

func (in *MonitoringSpec) DeepCopy() *MonitoringSpec

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

func (*MonitoringSpec) DeepCopyInto added in v1.1.0

func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)

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

type NFSGaneshaSpec added in v1.0.0

type NFSGaneshaSpec struct {
	// RADOS is the Ganesha RADOS specification
	// +nullable
	// +optional
	RADOS GaneshaRADOSSpec `json:"rados,omitempty"`

	// Server is the Ganesha Server specification
	Server GaneshaServerSpec `json:"server"`
}

NFSGaneshaSpec represents the spec of an nfs ganesha server

func (*NFSGaneshaSpec) DeepCopy added in v1.0.0

func (in *NFSGaneshaSpec) DeepCopy() *NFSGaneshaSpec

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

func (*NFSGaneshaSpec) DeepCopyInto added in v1.0.0

func (in *NFSGaneshaSpec) DeepCopyInto(out *NFSGaneshaSpec)

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

type NetworkSpec added in v1.1.0

type NetworkSpec struct {
	// Provider is what provides network connectivity to the cluster e.g. "host" or "multus"
	// +nullable
	// +optional
	Provider string `json:"provider,omitempty"`

	// Selectors string values describe what networks will be used to connect the cluster.
	// Meanwhile the keys describe each network respective responsibilities or any metadata
	// storage provider decide.
	// +nullable
	// +optional
	Selectors map[string]string `json:"selectors,omitempty"`

	// HostNetwork to enable host network
	// +optional
	HostNetwork bool `json:"hostNetwork,omitempty"`

	// IPFamily is the single stack IPv6 or IPv4 protocol
	// +kubebuilder:validation:Enum=IPv4;IPv6
	// +nullable
	// +optional
	IPFamily IPFamilyType `json:"ipFamily,omitempty"`

	// DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6
	// +optional
	DualStack bool `json:"dualStack,omitempty"`
}

NetworkSpec for Ceph includes backward compatibility code

func (*NetworkSpec) DeepCopy added in v1.1.0

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto added in v1.1.0

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

func (*NetworkSpec) IsHost added in v1.1.0

func (n *NetworkSpec) IsHost() bool

IsHost get whether to use host network provider. This method also preserve compatibility with the old HostNetwork field.

func (*NetworkSpec) IsMultus added in v1.7.1

func (n *NetworkSpec) IsMultus() bool

IsMultus get whether to use multus network provider

type Node added in v1.7.1

type Node struct {
	// +optional
	Name string `json:"name,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Config    map[string]string `json:"config,omitempty"`
	Selection `json:",inline"`
}

Node is a storage nodes +nullable

func (*Node) DeepCopy added in v1.7.1

func (in *Node) DeepCopy() *Node

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

func (*Node) DeepCopyInto added in v1.7.1

func (in *Node) DeepCopyInto(out *Node)

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

type NodesByName added in v1.7.1

type NodesByName []Node

NodesByName implements an interface to sort nodes by name

func (NodesByName) DeepCopy added in v1.7.1

func (in NodesByName) DeepCopy() NodesByName

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

func (NodesByName) DeepCopyInto added in v1.7.1

func (in NodesByName) DeepCopyInto(out *NodesByName)

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

func (NodesByName) Len added in v1.7.1

func (s NodesByName) Len() int

func (NodesByName) Less added in v1.7.1

func (s NodesByName) Less(i, j int) bool

func (NodesByName) Swap added in v1.7.1

func (s NodesByName) Swap(i, j int)

type ObjectRealmSpec added in v1.4.0

type ObjectRealmSpec struct {
	Pull PullSpec `json:"pull"`
}

ObjectRealmSpec represent the spec of an ObjectRealm

func (*ObjectRealmSpec) DeepCopy added in v1.4.0

func (in *ObjectRealmSpec) DeepCopy() *ObjectRealmSpec

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

func (*ObjectRealmSpec) DeepCopyInto added in v1.4.0

func (in *ObjectRealmSpec) DeepCopyInto(out *ObjectRealmSpec)

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

func (*ObjectRealmSpec) IsPullRealm added in v1.4.0

func (s *ObjectRealmSpec) IsPullRealm() bool

type ObjectStoreSpec

type ObjectStoreSpec struct {
	// The metadata pool settings
	// +optional
	// +nullable
	MetadataPool PoolSpec `json:"metadataPool,omitempty"`

	// The data pool settings
	// +optional
	// +nullable
	DataPool PoolSpec `json:"dataPool,omitempty"`

	// Preserve pools on object store deletion
	// +optional
	PreservePoolsOnDelete bool `json:"preservePoolsOnDelete,omitempty"`

	// The rgw pod info
	// +optional
	// +nullable
	Gateway GatewaySpec `json:"gateway"`

	// The multisite info
	// +optional
	// +nullable
	Zone ZoneSpec `json:"zone,omitempty"`

	// The rgw Bucket healthchecks and liveness probe
	// +optional
	// +nullable
	HealthCheck BucketHealthCheckSpec `json:"healthCheck,omitempty"`

	// Security represents security settings
	// +optional
	// +nullable
	Security *SecuritySpec `json:"security,omitempty"`
}

ObjectStoreSpec represent the spec of a pool

func (*ObjectStoreSpec) DeepCopy

func (in *ObjectStoreSpec) DeepCopy() *ObjectStoreSpec

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

func (*ObjectStoreSpec) DeepCopyInto

func (in *ObjectStoreSpec) DeepCopyInto(out *ObjectStoreSpec)

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

func (*ObjectStoreSpec) GetPort added in v1.6.8

func (s *ObjectStoreSpec) GetPort() (int32, error)

func (*ObjectStoreSpec) GetServiceServingCert added in v1.6.2

func (s *ObjectStoreSpec) GetServiceServingCert() string

func (*ObjectStoreSpec) IsExternal added in v1.5.5

func (s *ObjectStoreSpec) IsExternal() bool

func (*ObjectStoreSpec) IsMultisite added in v1.4.0

func (s *ObjectStoreSpec) IsMultisite() bool

func (*ObjectStoreSpec) IsTLSEnabled added in v1.5.11

func (s *ObjectStoreSpec) IsTLSEnabled() bool

type ObjectStoreStatus added in v1.4.0

type ObjectStoreStatus struct {
	// +optional
	Phase ConditionType `json:"phase,omitempty"`
	// +optional
	Message string `json:"message,omitempty"`
	// +optional
	BucketStatus *BucketStatus `json:"bucketStatus,omitempty"`
	// +optional
	// +nullable
	Info       map[string]string `json:"info,omitempty"`
	Conditions []Condition       `json:"conditions,omitempty"`
}

ObjectStoreStatus represents the status of a Ceph Object Store resource

func (*ObjectStoreStatus) DeepCopy added in v1.4.0

func (in *ObjectStoreStatus) DeepCopy() *ObjectStoreStatus

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

func (*ObjectStoreStatus) DeepCopyInto added in v1.4.0

func (in *ObjectStoreStatus) DeepCopyInto(out *ObjectStoreStatus)

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

type ObjectStoreUserSpec

type ObjectStoreUserSpec struct {
	// The store the user will be created in
	// +optional
	Store string `json:"store,omitempty"`
	// The display name for the ceph users
	// +optional
	DisplayName string `json:"displayName,omitempty"`
	// +optional
	// +nullable
	Capabilities *ObjectUserCapSpec `json:"capabilities,omitempty"`
	// +optional
	// +nullable
	Quotas *ObjectUserQuotaSpec `json:"quotas,omitempty"`
}

ObjectStoreUserSpec represent the spec of an Objectstoreuser

func (*ObjectStoreUserSpec) DeepCopy

func (in *ObjectStoreUserSpec) DeepCopy() *ObjectStoreUserSpec

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

func (*ObjectStoreUserSpec) DeepCopyInto

func (in *ObjectStoreUserSpec) DeepCopyInto(out *ObjectStoreUserSpec)

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

type ObjectStoreUserStatus added in v1.4.0

type ObjectStoreUserStatus struct {
	// +optional
	Phase string `json:"phase,omitempty"`
	// +optional
	// +nullable
	Info map[string]string `json:"info,omitempty"`
}

ObjectStoreUserStatus represents the status Ceph Object Store Gateway User

func (*ObjectStoreUserStatus) DeepCopy added in v1.4.0

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

func (*ObjectStoreUserStatus) DeepCopyInto added in v1.4.0

func (in *ObjectStoreUserStatus) DeepCopyInto(out *ObjectStoreUserStatus)

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

type ObjectUserCapSpec added in v1.7.3

type ObjectUserCapSpec struct {
	// +optional
	// +kubebuilder:validation:Enum={"*","read","write","read, write"}
	// Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
	User string `json:"user,omitempty"`
	// +optional
	// +kubebuilder:validation:Enum={"*","read","write","read, write"}
	// Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
	Bucket string `json:"bucket,omitempty"`
	// +optional
	// +kubebuilder:validation:Enum={"*","read","write","read, write"}
	// Admin capabilities to read/write Ceph object store metadata. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
	MetaData string `json:"metadata,omitempty"`
	// +optional
	// +kubebuilder:validation:Enum={"*","read","write","read, write"}
	// Admin capabilities to read/write Ceph object store usage. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
	Usage string `json:"usage,omitempty"`
	// +optional
	// +kubebuilder:validation:Enum={"*","read","write","read, write"}
	// Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
	Zone string `json:"zone,omitempty"`
}

Additional admin-level capabilities for the Ceph object store user

func (*ObjectUserCapSpec) DeepCopy added in v1.7.3

func (in *ObjectUserCapSpec) DeepCopy() *ObjectUserCapSpec

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

func (*ObjectUserCapSpec) DeepCopyInto added in v1.7.3

func (in *ObjectUserCapSpec) DeepCopyInto(out *ObjectUserCapSpec)

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

type ObjectUserQuotaSpec added in v1.7.3

type ObjectUserQuotaSpec struct {
	// Maximum bucket limit for the ceph user
	// +optional
	// +nullable
	MaxBuckets *int `json:"maxBuckets,omitempty"`
	// Maximum size limit of all objects across all the user's buckets
	// See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity for more info.
	// +optional
	// +nullable
	MaxSize *resource.Quantity `json:"maxSize,omitempty"`
	// Maximum number of objects across all the user's buckets
	// +optional
	// +nullable
	MaxObjects *int64 `json:"maxObjects,omitempty"`
}

ObjectUserQuotaSpec can be used to set quotas for the object store user to limit their usage. See the [Ceph docs](https://docs.ceph.com/en/latest/radosgw/admin/?#quota-management) for more

func (*ObjectUserQuotaSpec) DeepCopy added in v1.7.3

func (in *ObjectUserQuotaSpec) DeepCopy() *ObjectUserQuotaSpec

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

func (*ObjectUserQuotaSpec) DeepCopyInto added in v1.7.3

func (in *ObjectUserQuotaSpec) DeepCopyInto(out *ObjectUserQuotaSpec)

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

type ObjectZoneGroupSpec added in v1.4.0

type ObjectZoneGroupSpec struct {
	//The display name for the ceph users
	Realm string `json:"realm"`
}

ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup

func (*ObjectZoneGroupSpec) DeepCopy added in v1.4.0

func (in *ObjectZoneGroupSpec) DeepCopy() *ObjectZoneGroupSpec

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

func (*ObjectZoneGroupSpec) DeepCopyInto added in v1.4.0

func (in *ObjectZoneGroupSpec) DeepCopyInto(out *ObjectZoneGroupSpec)

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

type ObjectZoneSpec added in v1.4.0

type ObjectZoneSpec struct {
	//The display name for the ceph users
	ZoneGroup string `json:"zoneGroup"`

	// The metadata pool settings
	// +nullable
	MetadataPool PoolSpec `json:"metadataPool"`

	// The data pool settings
	// +nullable
	DataPool PoolSpec `json:"dataPool"`
}

ObjectZoneSpec represent the spec of an ObjectZone

func (*ObjectZoneSpec) DeepCopy added in v1.4.0

func (in *ObjectZoneSpec) DeepCopy() *ObjectZoneSpec

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

func (*ObjectZoneSpec) DeepCopyInto added in v1.4.0

func (in *ObjectZoneSpec) DeepCopyInto(out *ObjectZoneSpec)

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

type PeerRemoteSpec added in v1.7.1

type PeerRemoteSpec struct {
	// ClientName is cephx name
	// +optional
	ClientName string `json:"client_name,omitempty"`
	// ClusterName is the name of the cluster
	// +optional
	ClusterName string `json:"cluster_name,omitempty"`
	// FsName is the filesystem name
	// +optional
	FsName string `json:"fs_name,omitempty"`
}

func (*PeerRemoteSpec) DeepCopy added in v1.7.1

func (in *PeerRemoteSpec) DeepCopy() *PeerRemoteSpec

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

func (*PeerRemoteSpec) DeepCopyInto added in v1.7.1

func (in *PeerRemoteSpec) DeepCopyInto(out *PeerRemoteSpec)

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

type PeerStatSpec added in v1.7.1

type PeerStatSpec struct {
	// FailureCount is the number of mirroring failure
	// +optional
	FailureCount int `json:"failure_count,omitempty"`
	// RecoveryCount is the number of recovery attempted after failures
	// +optional
	RecoveryCount int `json:"recovery_count,omitempty"`
}

PeerStatSpec are the mirror stat with a given peer

func (*PeerStatSpec) DeepCopy added in v1.7.1

func (in *PeerStatSpec) DeepCopy() *PeerStatSpec

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

func (*PeerStatSpec) DeepCopyInto added in v1.7.1

func (in *PeerStatSpec) DeepCopyInto(out *PeerStatSpec)

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

type PeersSpec added in v1.6.0

type PeersSpec struct {
	// UUID is the peer UUID
	// +optional
	UUID string `json:"uuid,omitempty"`
	// Direction is the peer mirroring direction
	// +optional
	Direction string `json:"direction,omitempty"`
	// SiteName is the current site name
	// +optional
	SiteName string `json:"site_name,omitempty"`
	// MirrorUUID is the mirror UUID
	// +optional
	MirrorUUID string `json:"mirror_uuid,omitempty"`
	// ClientName is the CephX user used to connect to the peer
	// +optional
	ClientName string `json:"client_name,omitempty"`
}

PeersSpec contains peer details

func (*PeersSpec) DeepCopy added in v1.6.0

func (in *PeersSpec) DeepCopy() *PeersSpec

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

func (*PeersSpec) DeepCopyInto added in v1.6.0

func (in *PeersSpec) DeepCopyInto(out *PeersSpec)

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

type Placement added in v1.7.1

type Placement struct {
	// NodeAffinity is a group of node affinity scheduling rules
	// +optional
	NodeAffinity *v1.NodeAffinity `json:"nodeAffinity,omitempty"`
	// PodAffinity is a group of inter pod affinity scheduling rules
	// +optional
	PodAffinity *v1.PodAffinity `json:"podAffinity,omitempty"`
	// PodAntiAffinity is a group of inter pod anti affinity scheduling rules
	// +optional
	PodAntiAffinity *v1.PodAntiAffinity `json:"podAntiAffinity,omitempty"`
	// The pod this Toleration is attached to tolerates any taint that matches
	// the triple <key,value,effect> using the matching operator <operator>
	// +optional
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`
	// TopologySpreadConstraint specifies how to spread matching pods among the given topology
	// +optional
	TopologySpreadConstraints []v1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}

Placement is the placement for an object

func GetArbiterPlacement added in v1.5.4

func GetArbiterPlacement(p PlacementSpec) Placement

GetArbiterPlacement returns the placement for the arbiter MON service

func GetMgrPlacement

func GetMgrPlacement(p PlacementSpec) Placement

GetMgrPlacement returns the placement for the MGR service

func GetMonPlacement

func GetMonPlacement(p PlacementSpec) Placement

GetMonPlacement returns the placement for the MON service

func GetOSDPlacement

func GetOSDPlacement(p PlacementSpec) Placement

GetOSDPlacement returns the placement for the OSD service

func (Placement) ApplyToPodSpec added in v1.7.1

func (p Placement) ApplyToPodSpec(t *v1.PodSpec)

ApplyToPodSpec adds placement to a pod spec

func (*Placement) DeepCopy added in v1.7.1

func (in *Placement) DeepCopy() *Placement

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

func (*Placement) DeepCopyInto added in v1.7.1

func (in *Placement) DeepCopyInto(out *Placement)

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

func (Placement) Merge added in v1.7.1

func (p Placement) Merge(with Placement) Placement

Merge returns a Placement which results from merging the attributes of the original Placement with the attributes of the supplied one. The supplied Placement's attributes will override the original ones if defined.

type PlacementSpec added in v1.7.1

type PlacementSpec map[rook.KeyType]Placement

PlacementSpec is the placement for core ceph daemons part of the CephCluster CRD

func (PlacementSpec) All added in v1.7.1

func (p PlacementSpec) All() Placement

func (PlacementSpec) DeepCopy added in v1.7.1

func (in PlacementSpec) DeepCopy() PlacementSpec

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

func (PlacementSpec) DeepCopyInto added in v1.7.1

func (in PlacementSpec) DeepCopyInto(out *PlacementSpec)

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

type PoolMirroringInfo added in v1.6.0

type PoolMirroringInfo struct {
	// Mode is the mirroring mode
	// +optional
	Mode string `json:"mode,omitempty"`
	// SiteName is the current site name
	// +optional
	SiteName string `json:"site_name,omitempty"`
	// Peers are the list of peer sites connected to that cluster
	// +optional
	Peers []PeersSpec `json:"peers,omitempty"`
}

PoolMirroringInfo is the mirroring info of a given pool

func (*PoolMirroringInfo) DeepCopy added in v1.6.0

func (in *PoolMirroringInfo) DeepCopy() *PoolMirroringInfo

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

func (*PoolMirroringInfo) DeepCopyInto added in v1.6.0

func (in *PoolMirroringInfo) DeepCopyInto(out *PoolMirroringInfo)

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

type PoolMirroringStatus added in v1.6.0

type PoolMirroringStatus struct {
	// Summary is the mirroring status summary
	// +optional
	Summary *PoolMirroringStatusSummarySpec `json:"summary,omitempty"`
}

PoolMirroringStatus is the pool mirror status

func (*PoolMirroringStatus) DeepCopy added in v1.6.0

func (in *PoolMirroringStatus) DeepCopy() *PoolMirroringStatus

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

func (*PoolMirroringStatus) DeepCopyInto added in v1.6.0

func (in *PoolMirroringStatus) DeepCopyInto(out *PoolMirroringStatus)

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

type PoolMirroringStatusSummarySpec added in v1.6.0

type PoolMirroringStatusSummarySpec struct {
	// Health is the mirroring health
	// +optional
	Health string `json:"health,omitempty"`
	// DaemonHealth is the health of the mirroring daemon
	// +optional
	DaemonHealth string `json:"daemon_health,omitempty"`
	// ImageHealth is the health of the mirrored image
	// +optional
	ImageHealth string `json:"image_health,omitempty"`
	// States is the various state for all mirrored images
	// +optional
	// +nullable
	States StatesSpec `json:"states,omitempty"`
}

PoolMirroringStatusSummarySpec is the summary output of the command

func (*PoolMirroringStatusSummarySpec) DeepCopy added in v1.6.0

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

func (*PoolMirroringStatusSummarySpec) DeepCopyInto added in v1.6.0

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

type PoolSpec

type PoolSpec struct {
	// The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map
	// +optional
	FailureDomain string `json:"failureDomain,omitempty"`

	// The root of the crush hierarchy utilized by the pool
	// +optional
	// +nullable
	CrushRoot string `json:"crushRoot,omitempty"`

	// The device class the OSD should set to for use in the pool
	// +optional
	// +nullable
	DeviceClass string `json:"deviceClass,omitempty"`

	// DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
	// The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
	// +kubebuilder:validation:Enum=none;passive;aggressive;force;""
	// Do NOT set a default value for kubebuilder as this will override the Parameters
	// +optional
	// +nullable
	CompressionMode string `json:"compressionMode,omitempty"`

	// The replication settings
	// +optional
	Replicated ReplicatedSpec `json:"replicated,omitempty"`

	// The erasure code settings
	// +optional
	ErasureCoded ErasureCodedSpec `json:"erasureCoded,omitempty"`

	// Parameters is a list of properties to enable on a given pool
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	// +nullable
	Parameters map[string]string `json:"parameters,omitempty"`

	// EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
	EnableRBDStats bool `json:"enableRBDStats,omitempty"`

	// The mirroring settings
	Mirroring MirroringSpec `json:"mirroring,omitempty"`

	// The mirroring statusCheck
	// +kubebuilder:pruning:PreserveUnknownFields
	StatusCheck MirrorHealthCheckSpec `json:"statusCheck,omitempty"`

	// The quota settings
	// +optional
	// +nullable
	Quotas QuotaSpec `json:"quotas,omitempty"`
}

PoolSpec represents the spec of ceph pool

func (*PoolSpec) DeepCopy

func (in *PoolSpec) DeepCopy() *PoolSpec

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

func (*PoolSpec) DeepCopyInto

func (in *PoolSpec) DeepCopyInto(out *PoolSpec)

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

func (*PoolSpec) IsCompressionEnabled added in v1.3.6

func (p *PoolSpec) IsCompressionEnabled() bool

func (*PoolSpec) IsErasureCoded added in v1.3.0

func (p *PoolSpec) IsErasureCoded() bool

func (*PoolSpec) IsHybridStoragePool added in v1.7.1

func (p *PoolSpec) IsHybridStoragePool() bool

func (*PoolSpec) IsReplicated added in v1.3.0

func (p *PoolSpec) IsReplicated() bool

type PriorityClassNamesSpec added in v1.7.1

type PriorityClassNamesSpec map[rook.KeyType]string

PriorityClassNamesSpec is a map of priority class names to be assigned to components

func (PriorityClassNamesSpec) All added in v1.7.1

All returns the priority class name defined for 'all' daemons in the Ceph cluster CRD.

func (PriorityClassNamesSpec) DeepCopy added in v1.7.1

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

func (PriorityClassNamesSpec) DeepCopyInto added in v1.7.1

func (in PriorityClassNamesSpec) DeepCopyInto(out *PriorityClassNamesSpec)

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

type ProbeSpec added in v1.7.1

type ProbeSpec struct {
	// Disabled determines whether probe is disable or not
	// +optional
	Disabled bool `json:"disabled,omitempty"`
	// Probe describes a health check to be performed against a container to determine whether it is
	// alive or ready to receive traffic.
	// +optional
	Probe *v1.Probe `json:"probe,omitempty"`
}

ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon

func (*ProbeSpec) DeepCopy added in v1.7.1

func (in *ProbeSpec) DeepCopy() *ProbeSpec

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

func (*ProbeSpec) DeepCopyInto added in v1.7.1

func (in *ProbeSpec) DeepCopyInto(out *ProbeSpec)

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

type PullSpec added in v1.4.0

type PullSpec struct {
	Endpoint string `json:"endpoint"`
}

PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm

func (*PullSpec) DeepCopy added in v1.4.0

func (in *PullSpec) DeepCopy() *PullSpec

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

func (*PullSpec) DeepCopyInto added in v1.4.0

func (in *PullSpec) DeepCopyInto(out *PullSpec)

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

type QuotaSpec added in v1.5.8

type QuotaSpec struct {
	// MaxBytes represents the quota in bytes
	// Deprecated in favor of MaxSize
	// +optional
	MaxBytes *uint64 `json:"maxBytes,omitempty"`

	// MaxSize represents the quota in bytes as a string
	// +kubebuilder:validation:Pattern=`^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$`
	// +optional
	MaxSize *string `json:"maxSize,omitempty"`

	// MaxObjects represents the quota in objects
	// +optional
	MaxObjects *uint64 `json:"maxObjects,omitempty"`
}

QuotaSpec represents the spec for quotas in a pool

func (*QuotaSpec) DeepCopy added in v1.5.8

func (in *QuotaSpec) DeepCopy() *QuotaSpec

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

func (*QuotaSpec) DeepCopyInto added in v1.5.8

func (in *QuotaSpec) DeepCopyInto(out *QuotaSpec)

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

type RBDMirroringSpec

type RBDMirroringSpec struct {
	// Count represents the number of rbd mirror instance to run
	// +kubebuilder:validation:Minimum=1
	Count int `json:"count"`

	// Peers represents the peers spec
	// +nullable
	// +optional
	Peers MirroringPeerSpec `json:"peers,omitempty"`

	// The affinity to place the rgw pods (default is to place on any available node)
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement Placement `json:"placement,omitempty"`

	// The annotations-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Annotations rook.Annotations `json:"annotations,omitempty"`

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels rook.Labels `json:"labels,omitempty"`

	// The resource requirements for the rbd mirror pods
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`

	// PriorityClassName sets priority class on the rbd mirror pods
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`
}

RBDMirroringSpec represents the specification of an RBD mirror daemon

func (*RBDMirroringSpec) DeepCopy

func (in *RBDMirroringSpec) DeepCopy() *RBDMirroringSpec

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

func (*RBDMirroringSpec) DeepCopyInto

func (in *RBDMirroringSpec) DeepCopyInto(out *RBDMirroringSpec)

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

type RGWServiceSpec added in v1.6.2

type RGWServiceSpec struct {
	// The annotations-related configuration to add/set on each rgw service.
	// nullable
	// optional
	Annotations rook.Annotations `json:"annotations,omitempty"`
}

RGWServiceSpec represent the spec for RGW service

func (*RGWServiceSpec) DeepCopy added in v1.6.2

func (in *RGWServiceSpec) DeepCopy() *RGWServiceSpec

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

func (*RGWServiceSpec) DeepCopyInto added in v1.6.2

func (in *RGWServiceSpec) DeepCopyInto(out *RGWServiceSpec)

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

type ReplicatedSpec

type ReplicatedSpec struct {
	// Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
	// +kubebuilder:validation:Minimum=0
	Size uint `json:"size"`

	// TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
	// +optional
	TargetSizeRatio float64 `json:"targetSizeRatio,omitempty"`

	// RequireSafeReplicaSize if false allows you to set replica 1
	// +optional
	RequireSafeReplicaSize bool `json:"requireSafeReplicaSize,omitempty"`

	// ReplicasPerFailureDomain the number of replica in the specified failure domain
	// +kubebuilder:validation:Minimum=1
	// +optional
	ReplicasPerFailureDomain uint `json:"replicasPerFailureDomain,omitempty"`

	// SubFailureDomain the name of the sub-failure domain
	// +optional
	SubFailureDomain string `json:"subFailureDomain,omitempty"`

	// HybridStorage represents hybrid storage tier settings
	// +optional
	// +nullable
	HybridStorage *HybridStorageSpec `json:"hybridStorage,omitempty"`
}

ReplicatedSpec represents the spec for replication in a pool

func (*ReplicatedSpec) DeepCopy

func (in *ReplicatedSpec) DeepCopy() *ReplicatedSpec

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

func (*ReplicatedSpec) DeepCopyInto

func (in *ReplicatedSpec) DeepCopyInto(out *ReplicatedSpec)

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

func (*ReplicatedSpec) IsTargetRatioEnabled added in v1.3.6

func (p *ReplicatedSpec) IsTargetRatioEnabled() bool

type ResourceSpec added in v1.7.1

type ResourceSpec map[string]v1.ResourceRequirements

ResourceSpec is a collection of ResourceRequirements that describes the compute resource requirements

func (ResourceSpec) DeepCopy added in v1.7.1

func (in ResourceSpec) DeepCopy() ResourceSpec

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

func (ResourceSpec) DeepCopyInto added in v1.7.1

func (in ResourceSpec) DeepCopyInto(out *ResourceSpec)

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

type SanitizeDataSourceProperty added in v1.4.0

type SanitizeDataSourceProperty string

SanitizeDataSourceProperty represents a sanitizing data source

func (*SanitizeDataSourceProperty) String added in v1.4.0

func (c *SanitizeDataSourceProperty) String() string

type SanitizeDisksSpec added in v1.4.0

type SanitizeDisksSpec struct {
	// Method is the method we use to sanitize disks
	// +optional
	// +kubebuilder:validation:Enum=complete;quick
	Method SanitizeMethodProperty `json:"method,omitempty"`
	// DataSource is the data source to use to sanitize the disk with
	// +optional
	// +kubebuilder:validation:Enum=zero;random
	DataSource SanitizeDataSourceProperty `json:"dataSource,omitempty"`
	// Iteration is the number of pass to apply the sanitizing
	// +optional
	Iteration int32 `json:"iteration,omitempty"`
}

SanitizeDisksSpec represents a disk sanitizing specification

func (*SanitizeDisksSpec) DeepCopy added in v1.4.0

func (in *SanitizeDisksSpec) DeepCopy() *SanitizeDisksSpec

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

func (*SanitizeDisksSpec) DeepCopyInto added in v1.4.0

func (in *SanitizeDisksSpec) DeepCopyInto(out *SanitizeDisksSpec)

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

type SanitizeMethodProperty added in v1.4.0

type SanitizeMethodProperty string

SanitizeMethodProperty represents a disk sanitizing method

func (*SanitizeMethodProperty) String added in v1.4.0

func (c *SanitizeMethodProperty) String() string

type SecuritySpec added in v1.5.0

type SecuritySpec struct {
	// KeyManagementService is the main Key Management option
	// +optional
	// +nullable
	KeyManagementService KeyManagementServiceSpec `json:"kms,omitempty"`
}

SecuritySpec is security spec to include various security items such as kms

func (*SecuritySpec) DeepCopy added in v1.5.0

func (in *SecuritySpec) DeepCopy() *SecuritySpec

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

func (*SecuritySpec) DeepCopyInto added in v1.5.0

func (in *SecuritySpec) DeepCopyInto(out *SecuritySpec)

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

type Selection added in v1.7.1

type Selection struct {
	// Whether to consume all the storage devices found on a machine
	// +optional
	UseAllDevices *bool `json:"useAllDevices,omitempty"`
	// A regular expression to allow more fine-grained selection of devices on nodes across the cluster
	// +optional
	DeviceFilter string `json:"deviceFilter,omitempty"`
	// A regular expression to allow more fine-grained selection of devices with path names
	// +optional
	DevicePathFilter string `json:"devicePathFilter,omitempty"`
	// List of devices to use as storage devices
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Devices []Device `json:"devices,omitempty"`
	// PersistentVolumeClaims to use as storage
	// +optional
	VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`
}

func (*Selection) DeepCopy added in v1.7.1

func (in *Selection) DeepCopy() *Selection

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

func (*Selection) DeepCopyInto added in v1.7.1

func (in *Selection) DeepCopyInto(out *Selection)

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

func (*Selection) GetUseAllDevices added in v1.7.1

func (s *Selection) GetUseAllDevices() bool

GetUseAllDevices return if all devices should be used.

type SnapshotSchedule added in v1.6.0

type SnapshotSchedule struct {
	// Interval is the interval in which snapshots will be taken
	// +optional
	Interval string `json:"interval,omitempty"`
	// StartTime is the snapshot starting time
	// +optional
	StartTime string `json:"start_time,omitempty"`
}

SnapshotSchedule is a schedule

func (*SnapshotSchedule) DeepCopy added in v1.6.0

func (in *SnapshotSchedule) DeepCopy() *SnapshotSchedule

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

func (*SnapshotSchedule) DeepCopyInto added in v1.6.0

func (in *SnapshotSchedule) DeepCopyInto(out *SnapshotSchedule)

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

type SnapshotScheduleRetentionSpec added in v1.7.1

type SnapshotScheduleRetentionSpec struct {
	// Path is the path to snapshot
	// +optional
	Path string `json:"path,omitempty"`

	// Duration represents the retention duration for a snapshot
	// +optional
	Duration string `json:"duration,omitempty"`
}

SnapshotScheduleRetentionSpec is a retention policy

func (*SnapshotScheduleRetentionSpec) DeepCopy added in v1.7.1

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

func (*SnapshotScheduleRetentionSpec) DeepCopyInto added in v1.7.1

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

type SnapshotScheduleSpec added in v1.5.1

type SnapshotScheduleSpec struct {
	// Path is the path to snapshot, only valid for CephFS
	// +optional
	Path string `json:"path,omitempty"`

	// Interval represent the periodicity of the snapshot.
	// +optional
	Interval string `json:"interval,omitempty"`

	// StartTime indicates when to start the snapshot
	// +optional
	StartTime string `json:"startTime,omitempty"`
}

SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool

func (*SnapshotScheduleSpec) DeepCopy added in v1.5.1

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

func (*SnapshotScheduleSpec) DeepCopyInto added in v1.5.1

func (in *SnapshotScheduleSpec) DeepCopyInto(out *SnapshotScheduleSpec)

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

type SnapshotScheduleStatusSpec added in v1.5.1

type SnapshotScheduleStatusSpec struct {
	// SnapshotSchedules is the list of snapshots scheduled
	// +nullable
	// +optional
	SnapshotSchedules []SnapshotSchedulesSpec `json:"snapshotSchedules,omitempty"`
	// LastChecked is the last time time the status was checked
	// +optional
	LastChecked string `json:"lastChecked,omitempty"`
	// LastChanged is the last time time the status last changed
	// +optional
	LastChanged string `json:"lastChanged,omitempty"`
	// Details contains potential status errors
	// +optional
	Details string `json:"details,omitempty"`
}

SnapshotScheduleStatusSpec is the status of the snapshot schedule

func (*SnapshotScheduleStatusSpec) DeepCopy added in v1.5.1

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

func (*SnapshotScheduleStatusSpec) DeepCopyInto added in v1.5.1

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

type SnapshotSchedulesSpec added in v1.6.0

type SnapshotSchedulesSpec struct {
	// Pool is the pool name
	// +optional
	Pool string `json:"pool,omitempty"`
	// Namespace is the RADOS namespace the image is part of
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// Image is the mirrored image
	// +optional
	Image string `json:"image,omitempty"`
	// Items is the list schedules times for a given snapshot
	// +optional
	Items []SnapshotSchedule `json:"items,omitempty"`
}

SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool

func (*SnapshotSchedulesSpec) DeepCopy added in v1.6.0

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

func (*SnapshotSchedulesSpec) DeepCopyInto added in v1.6.0

func (in *SnapshotSchedulesSpec) DeepCopyInto(out *SnapshotSchedulesSpec)

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

type StatesSpec added in v1.6.0

type StatesSpec struct {
	// StartingReplay is when the replay of the mirroring journal starts
	// +optional
	StartingReplay int `json:"starting_replay,omitempty"`
	// Replaying is when the replay of the mirroring journal is on-going
	// +optional
	Replaying int `json:"replaying,omitempty"`
	// Syncing is when the image is syncing
	// +optional
	Syncing int `json:"syncing,omitempty"`
	// StopReplaying is when the replay of the mirroring journal stops
	// +optional
	StopReplaying int `json:"stopping_replay,omitempty"`
	// Stopped is when the mirroring state is stopped
	// +optional
	Stopped int `json:"stopped,omitempty"`
	// Unknown is when the mirroring state is unknown
	// +optional
	Unknown int `json:"unknown,omitempty"`
	// Error is when the mirroring state is errored
	// +optional
	Error int `json:"error,omitempty"`
}

StatesSpec are rbd images mirroring state

func (*StatesSpec) DeepCopy added in v1.6.0

func (in *StatesSpec) DeepCopy() *StatesSpec

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

func (*StatesSpec) DeepCopyInto added in v1.6.0

func (in *StatesSpec) DeepCopyInto(out *StatesSpec)

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

type Status added in v1.2.1

type Status struct {
	// +optional
	Phase string `json:"phase,omitempty"`
}

Status represents the status of an object

func (*Status) DeepCopy added in v1.2.1

func (in *Status) DeepCopy() *Status

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

func (*Status) DeepCopyInto added in v1.2.1

func (in *Status) DeepCopyInto(out *Status)

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

type StatusConditionGetter added in v1.7.1

type StatusConditionGetter interface {
	client.Object

	// GetStatusConditions returns a pointer to the object's conditions compatible with
	// SetStatusCondition and FindStatusCondition.
	GetStatusConditions() *[]Condition
}

A StatusConditionGetter allows getting a pointer to an object's conditions.

type StorageClassDeviceSet added in v1.7.1

type StorageClassDeviceSet struct {
	// Name is a unique identifier for the set
	Name string `json:"name"`
	// Count is the number of devices in this set
	// +kubebuilder:validation:Minimum=1
	Count int `json:"count"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"` // Requests/limits for the devices
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement Placement `json:"placement,omitempty"` // Placement constraints for the device daemons
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	PreparePlacement *Placement `json:"preparePlacement,omitempty"` // Placement constraints for the device preparation
	// Provider-specific device configuration
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Config map[string]string `json:"config,omitempty"`
	// VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
	VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates"`
	// Portable represents OSD portability across the hosts
	// +optional
	Portable bool `json:"portable,omitempty"`
	// TuneSlowDeviceClass Tune the OSD when running on a slow Device Class
	// +optional
	TuneSlowDeviceClass bool `json:"tuneDeviceClass,omitempty"`
	// TuneFastDeviceClass Tune the OSD when running on a fast Device Class
	// +optional
	TuneFastDeviceClass bool `json:"tuneFastDeviceClass,omitempty"`
	// Scheduler name for OSD pod placement
	// +optional
	SchedulerName string `json:"schedulerName,omitempty"`
	// Whether to encrypt the deviceSet
	// +optional
	Encrypted bool `json:"encrypted,omitempty"`
}

StorageClassDeviceSet is a storage class device set +nullable

func (*StorageClassDeviceSet) DeepCopy added in v1.7.1

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

func (*StorageClassDeviceSet) DeepCopyInto added in v1.7.1

func (in *StorageClassDeviceSet) DeepCopyInto(out *StorageClassDeviceSet)

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

type StorageScopeSpec added in v1.7.1

type StorageScopeSpec struct {
	// +nullable
	// +optional
	Nodes []Node `json:"nodes,omitempty"`
	// +optional
	UseAllNodes bool `json:"useAllNodes,omitempty"`
	// +optional
	OnlyApplyOSDPlacement bool `json:"onlyApplyOSDPlacement,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Config    map[string]string `json:"config,omitempty"`
	Selection `json:",inline"`
	// +nullable
	// +optional
	StorageClassDeviceSets []StorageClassDeviceSet `json:"storageClassDeviceSets,omitempty"`
}

func (*StorageScopeSpec) AnyUseAllDevices added in v1.7.1

func (s *StorageScopeSpec) AnyUseAllDevices() bool

AnyUseAllDevices gets whether to use all devices

func (*StorageScopeSpec) ClearUseAllDevices added in v1.7.1

func (s *StorageScopeSpec) ClearUseAllDevices()

ClearUseAllDevices clears all devices

func (*StorageScopeSpec) DeepCopy added in v1.7.1

func (in *StorageScopeSpec) DeepCopy() *StorageScopeSpec

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

func (*StorageScopeSpec) DeepCopyInto added in v1.7.1

func (in *StorageScopeSpec) DeepCopyInto(out *StorageScopeSpec)

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

func (*StorageScopeSpec) IsOnPVCEncrypted added in v1.7.1

func (s *StorageScopeSpec) IsOnPVCEncrypted() bool

IsOnPVCEncrypted returns whether a Ceph Cluster on PVC will be encrypted

func (*StorageScopeSpec) NodeExists added in v1.7.1

func (s *StorageScopeSpec) NodeExists(nodeName string) bool

NodeExists returns true if the node exists in the storage spec. False otherwise.

func (*StorageScopeSpec) NodeWithNameExists added in v1.7.1

func (s *StorageScopeSpec) NodeWithNameExists(name string) bool

NodeWithNameExists returns true if the storage spec defines a node with the given name.

func (*StorageScopeSpec) ResolveNode added in v1.7.1

func (s *StorageScopeSpec) ResolveNode(nodeName string) *Node

Fully resolves the config of the given node name, taking into account cluster level and node level specified config. In general, the more fine grained the configuration is specified, the more precedence it takes. Fully resolved configuration for the node has the following order of precedence. 1) Node (config defined on the node itself) 2) Cluster (config defined on the cluster) 3) Default values (if no config exists for the node or cluster)

type StretchClusterSpec added in v1.5.0

type StretchClusterSpec struct {
	// FailureDomainLabel the failure domain name (e,g: zone)
	// +optional
	FailureDomainLabel string `json:"failureDomainLabel,omitempty"`
	// SubFailureDomain is the failure domain within a zone
	// +optional
	SubFailureDomain string `json:"subFailureDomain,omitempty"`
	// Zones is the list of zones
	// +optional
	// +nullable
	Zones []StretchClusterZoneSpec `json:"zones,omitempty"`
}

StretchClusterSpec represents the specification of a stretched Ceph Cluster

func (*StretchClusterSpec) DeepCopy added in v1.5.0

func (in *StretchClusterSpec) DeepCopy() *StretchClusterSpec

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

func (*StretchClusterSpec) DeepCopyInto added in v1.5.0

func (in *StretchClusterSpec) DeepCopyInto(out *StretchClusterSpec)

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

type StretchClusterZoneSpec added in v1.5.0

type StretchClusterZoneSpec struct {
	// Name is the name of the zone
	// +optional
	Name string `json:"name,omitempty"`
	// Arbiter determines if the zone contains the arbiter
	// +optional
	Arbiter bool `json:"arbiter,omitempty"`
	// VolumeClaimTemplate is the PVC template
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	VolumeClaimTemplate *v1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
}

StretchClusterZoneSpec represents the specification of a stretched zone in a Ceph Cluster

func (*StretchClusterZoneSpec) DeepCopy added in v1.5.0

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

func (*StretchClusterZoneSpec) DeepCopyInto added in v1.5.0

func (in *StretchClusterZoneSpec) DeepCopyInto(out *StretchClusterZoneSpec)

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

type ZoneSpec added in v1.4.0

type ZoneSpec struct {
	// RGW Zone the Object Store is in
	Name string `json:"name"`
}

ZoneSpec represents a Ceph Object Store Gateway Zone specification

func (*ZoneSpec) DeepCopy added in v1.4.0

func (in *ZoneSpec) DeepCopy() *ZoneSpec

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

func (*ZoneSpec) DeepCopyInto added in v1.4.0

func (in *ZoneSpec) DeepCopyInto(out *ZoneSpec)

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

Jump to

Keyboard shortcuts

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