v1

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2021 License: Apache-2.0 Imports: 12 Imported by: 510

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.

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 (
	KeyMds        rook.KeyType = "mds"
	KeyMon        rook.KeyType = "mon"
	KeyMonArbiter rook.KeyType = "arbiter"
	KeyMgr        rook.KeyType = "mgr"
	KeyOSDPrepare rook.KeyType = "prepareosd"
	KeyOSD        rook.KeyType = "osd"
	KeyCleanup    rook.KeyType = "cleanup"
	KeyMonitoring rook.KeyType = "monitoring"
)
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 resource in the CR for an osd
	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"
)

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

Functions

func GetArbiterPlacement added in v1.5.4

func GetArbiterPlacement(p rookv1.PlacementSpec) rookv1.Placement

GetArbiterPlacement returns the placement for the arbiter MON service

func GetCleanupAnnotations added in v1.3.5

func GetCleanupAnnotations(a rook.AnnotationsSpec) rook.Annotations

GetCleanupAnnotations returns the Annotations for the cleanup job

func GetCleanupLabels added in v1.4.2

func GetCleanupLabels(a rook.LabelsSpec) rook.Labels

GetCleanupLabels returns the Labels for the cleanup job

func GetCleanupPriorityClassName added in v1.3.5

func GetCleanupPriorityClassName(p rook.PriorityClassNamesSpec) string

GetCleanupPriorityClassName returns the priority class name for the cleanup job

func GetCleanupResources added in v1.3.5

func GetCleanupResources(p rook.ResourceSpec) v1.ResourceRequirements

GetCleanupResources returns the placement for the cleanup job

func GetCrashCollectorResources added in v1.2.0

func GetCrashCollectorResources(p rook.ResourceSpec) v1.ResourceRequirements

GetCrashCollectorResources returns the placement for the crash daemon

func GetLogCollectorResources added in v1.5.2

func GetLogCollectorResources(p rook.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 rook.AnnotationsSpec) rook.Annotations

GetMgrAnnotations returns the Annotations for the MGR service

func GetMgrLabels added in v1.4.2

func GetMgrLabels(a rook.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 GetMgrPlacement

func GetMgrPlacement(p rookv1.PlacementSpec) rookv1.Placement

GetMgrPlacement returns the placement for the MGR service

func GetMgrPriorityClassName added in v1.2.0

func GetMgrPriorityClassName(p rook.PriorityClassNamesSpec) string

GetMgrPriorityClassName returns the priority class name for the MGR service

func GetMgrResources

func GetMgrResources(p rook.ResourceSpec) v1.ResourceRequirements

GetMgrResources returns the placement for the MGR service

func GetMgrSidecarResources added in v1.6.0

func GetMgrSidecarResources(p rook.ResourceSpec) v1.ResourceRequirements

GetMgrSidecarResources returns the placement for the MGR sidecar container

func GetMonAnnotations added in v1.0.0

func GetMonAnnotations(a rook.AnnotationsSpec) rook.Annotations

GetMonAnnotations returns the Annotations for the MON service

func GetMonLabels added in v1.4.2

func GetMonLabels(a rook.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 GetMonPlacement

func GetMonPlacement(p rookv1.PlacementSpec) rookv1.Placement

GetMonPlacement returns the placement for the MON service

func GetMonPriorityClassName added in v1.2.0

func GetMonPriorityClassName(p rook.PriorityClassNamesSpec) string

GetMonPriorityClassName returns the priority class name for the monitors

func GetMonResources

func GetMonResources(p rook.ResourceSpec) v1.ResourceRequirements

GetMonResources returns the placement for the monitors

func GetMonitoringLabels added in v1.6.0

func GetMonitoringLabels(a rook.LabelsSpec) rook.Labels

GetMonitoringLabels returns the Labels for monitoring resources

func GetOSDAnnotations added in v1.0.0

func GetOSDAnnotations(a rook.AnnotationsSpec) rook.Annotations

GetOSDAnnotations returns the annotations for the OSD service

func GetOSDLabels added in v1.4.2

func GetOSDLabels(a rook.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 GetOSDPlacement

func GetOSDPlacement(p rookv1.PlacementSpec) rookv1.Placement

GetOSDPlacement returns the placement for the OSD service

func GetOSDPrepareAnnotations added in v1.4.2

func GetOSDPrepareAnnotations(a rook.AnnotationsSpec) rook.Annotations

GetOSDPrepareAnnotations returns the annotations for the OSD service

func GetOSDPrepareLabels added in v1.4.2

func GetOSDPrepareLabels(a rook.LabelsSpec) rook.Labels

GetOSDPrepareLabels returns the Labels for the OSD prepare job

func GetOSDPriorityClassName added in v1.2.0

func GetOSDPriorityClassName(p rook.PriorityClassNamesSpec) string

GetOSDPriorityClassName returns the priority class name for the OSDs

func GetOSDResources

func GetOSDResources(p rook.ResourceSpec) v1.ResourceRequirements

GetOSDResources returns the placement for the OSDs

func GetPrepareOSDResources added in v1.1.3

func GetPrepareOSDResources(p rook.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 ValidateObjectSpec added in v1.6.0

func ValidateObjectSpec(gs *CephObjectStore) error

ValidateObjectSpec validate the object store arguments

Types

type BucketHealthCheckSpec added in v1.4.0

type BucketHealthCheckSpec struct {
	// +optional
	Bucket HealthCheckSpec `json:"bucket,omitempty"`
	// +optional
	LivenessProbe *rookv1.ProbeSpec `json:"livenessProbe,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"`
	// Use only info and put mirroringStatus in it?
	// +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) 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[rookv1.KeyType]*rookv1.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 *Status `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: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 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) 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 ceph/ceph:v15.2.9
	Image string `json:"image"`

	// 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 ClusterReasonType added in v1.5.9

type ClusterReasonType string

ClusterReasonType is cluster reason

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

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 rookv1.StorageScopeSpec `json:"storage,omitempty"`

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

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

	// The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations).
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Placement rookv1.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 rookv1.ResourceSpec `json:"resources,omitempty"`

	// PriorityClassNames sets priority classes on components
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	PriorityClassNames rookv1.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             ClusterReasonType  `json:"reason,omitempty"`
	Message            string             `json:"message,omitempty"`
	LastHeartbeatTime  metav1.Time        `json:"lastHeartbeatTime,omitempty"`
	LastTransitionTime metav1.Time        `json:"lastTransitionTime,omitempty"`
}

Condition represents

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 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"
)

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 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)
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=9
	CodingChunks uint `json:"codingChunks"`

	// Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=9
	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"`
}

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.

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 rookv1.Placement `json:"placement,omitempty"`

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

	// The labels-related configuration to add/set on each Pod related object.
	// +nullable
	// +optional
	Labels rookv1.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 mirorring 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 FilesystemSpec

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

	// The data pool settings
	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"`
}

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 GaneshaRADOSSpec added in v1.0.0

type GaneshaRADOSSpec struct {
	// Pool is the RADOS pool where NFS client recovery data is stored.
	Pool string `json:"pool"`

	// 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 rookv1.Placement `json:"placement,omitempty"`

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

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels rookv1.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
	// +optional
	SecurePort int32 `json:"securePort,omitempty"`

	// The number of pods in the rgw replicaset.
	// +kubebuilder:validation:Minimum=1
	Instances int32 `json:"instances"`

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

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

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

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels rookv1.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"`
}

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 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) IsTokenAuthEnabled added in v1.5.0

func (kms *KeyManagementServiceSpec) IsTokenAuthEnabled() bool

IsTokenAuthEnabled return whether KMS token auth is enabled

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 rookv1.Placement `json:"placement,omitempty"`

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

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels rookv1.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 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"`
}

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=1
	Count int `json:"count"`
	// 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
	RADOS GaneshaRADOSSpec `json:"rados"`

	// 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 {
	rookv1.NetworkSpec `json:",inline"`

	// 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
	// +kubebuilder:default=IPv4
	// +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 (net *NetworkSpec) IsHost() bool

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

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
	MetadataPool PoolSpec `json:"metadataPool,omitempty"`

	// The data pool settings
	// +optional
	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"`
}

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) IsExternal added in v1.5.5

func (s *ObjectStoreSpec) IsExternal() bool

func (*ObjectStoreSpec) IsMultisite added in v1.4.0

func (s *ObjectStoreSpec) IsMultisite() 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"`
}

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"`
}

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 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
	MetadataPool PoolSpec `json:"metadataPool"`

	// The data pool settings
	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 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 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
	CrushRoot string `json:"crushRoot,omitempty"`

	// The device class the OSD should set to (options are: hdd, ssd, or nvme)
	// +kubebuilder:validation:Enum=ssd;hdd;nvme;""
	// +optional
	DeviceClass string `json:"deviceClass,omitempty"`

	// The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
	// +kubebuilder:validation:Enum=none;passive;aggressive;force;""
	// +kubebuilder:default=none
	// +optional
	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) IsReplicated added in v1.3.0

func (p *PoolSpec) IsReplicated() bool

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 RBDMirroringPeerSpec added in v1.5.0

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

RBDMirroringPeerSpec represents the specification of an RBD mirror peer

func (*RBDMirroringPeerSpec) DeepCopy added in v1.5.0

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

func (*RBDMirroringPeerSpec) DeepCopyInto added in v1.5.0

func (in *RBDMirroringPeerSpec) DeepCopyInto(out *RBDMirroringPeerSpec)

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

func (*RBDMirroringPeerSpec) HasPeers added in v1.5.0

func (m *RBDMirroringPeerSpec) HasPeers() bool

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

type RBDMirroringSpec

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

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

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

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

	// The labels-related configuration to add/set on each Pod related object.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	// +optional
	Labels rookv1.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 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=1
	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"`
}

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 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 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 SnapshotScheduleSpec added in v1.5.1

type SnapshotScheduleSpec struct {
	// 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 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