Documentation ¶
Overview ¶
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.
Package v1 is the v1 version of the API. +groupName=ceph.rook.io
Copyright 2018 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2018 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2018 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2018 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- Variables
- func GetMgrAnnotations(a rook.AnnotationsSpec) rook.Annotations
- func GetMgrPlacement(p rook.PlacementSpec) rook.Placement
- func GetMgrResources(p rook.ResourceSpec) v1.ResourceRequirements
- func GetMonAnnotations(a rook.AnnotationsSpec) rook.Annotations
- func GetMonPlacement(p rook.PlacementSpec) rook.Placement
- func GetMonResources(p rook.ResourceSpec) v1.ResourceRequirements
- func GetOSDAnnotations(a rook.AnnotationsSpec) rook.Annotations
- func GetOSDPlacement(p rook.PlacementSpec) rook.Placement
- func GetOSDResources(p rook.ResourceSpec) v1.ResourceRequirements
- func GetPrepareOSDResources(p rook.ResourceSpec) v1.ResourceRequirements
- func GetRBDMirrorAnnotations(a rook.AnnotationsSpec) rook.Annotations
- func GetRBDMirrorPlacement(p rook.PlacementSpec) rook.Placement
- func GetRBDMirrorResources(p rook.ResourceSpec) v1.ResourceRequirements
- func GetRGWAnnotations(a rook.AnnotationsSpec) rook.Annotations
- func Resource(resource string) schema.GroupResource
- type CephBlockPool
- type CephBlockPoolList
- type CephCluster
- type CephClusterList
- type CephFilesystem
- type CephFilesystemList
- type CephHealthMessage
- type CephNFS
- type CephNFSList
- type CephObjectStore
- type CephObjectStoreList
- type CephObjectStoreUser
- type CephObjectStoreUserList
- type CephStatus
- type CephVersionSpec
- type ClusterSpec
- type ClusterState
- type ClusterStatus
- type DashboardSpec
- type DisruptionManagementSpec
- type ErasureCodedSpec
- type ExternalSpec
- type FilesystemSpec
- type GaneshaRADOSSpec
- type GaneshaServerSpec
- type GatewaySpec
- type MetadataServerSpec
- type MgrSpec
- type Module
- type MonSpec
- type MonitoringSpec
- type NFSGaneshaSpec
- type NetworkSpec
- type ObjectStoreSpec
- type ObjectStoreUserSpec
- type PoolSpec
- type RBDMirroringSpec
- type ReplicatedSpec
Constants ¶
const ( KeyMon rook.KeyType = "mon" KeyMgr rook.KeyType = "mgr" KeyOSD rook.KeyType = "osd" KeyRBDMirror rook.KeyType = "rbdmirror" KeyRGWMirror rook.KeyType = "rgw" )
const ( CustomResourceGroup = "ceph.rook.io" Version = "v1" )
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" // 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" // ResourcesKeyRBDMirror represents the name of resource in the CR for the rbdmirror ResourcesKeyRBDMirror = "rbdmirror" )
Variables ¶
var ( // SchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: cephrookio.GroupName, Version: Version}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func GetMgrAnnotations ¶ added in v1.0.0
func GetMgrAnnotations(a rook.AnnotationsSpec) rook.Annotations
GetMgrAnnotations returns the Annotations for the MGR service
func GetMgrPlacement ¶
func GetMgrPlacement(p rook.PlacementSpec) rook.Placement
GetMgrPlacement returns the placement for the MGR service
func GetMgrResources ¶
func GetMgrResources(p rook.ResourceSpec) v1.ResourceRequirements
GetMgrResources returns the placement for the MGR service
func GetMonAnnotations ¶ added in v1.0.0
func GetMonAnnotations(a rook.AnnotationsSpec) rook.Annotations
GetMonAnnotations returns the Annotations for the MON service
func GetMonPlacement ¶
func GetMonPlacement(p rook.PlacementSpec) rook.Placement
GetMonPlacement returns the placement for the MON service
func GetMonResources ¶
func GetMonResources(p rook.ResourceSpec) v1.ResourceRequirements
GetMonResources returns the placement for the monitors
func GetOSDAnnotations ¶ added in v1.0.0
func GetOSDAnnotations(a rook.AnnotationsSpec) rook.Annotations
GetOSDAnnotations returns the annotations for the OSD service
func GetOSDPlacement ¶
func GetOSDPlacement(p rook.PlacementSpec) rook.Placement
GetOSDPlacement returns the placement for the OSD service
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 GetRBDMirrorAnnotations ¶ added in v1.0.0
func GetRBDMirrorAnnotations(a rook.AnnotationsSpec) rook.Annotations
GetRBDMirrorAnnotations returns the Annotations for the RBD mirrors
func GetRBDMirrorPlacement ¶
func GetRBDMirrorPlacement(p rook.PlacementSpec) rook.Placement
GetRBDMirrorPlacement returns the placement for the RBD mirrors
func GetRBDMirrorResources ¶
func GetRBDMirrorResources(p rook.ResourceSpec) v1.ResourceRequirements
GetRBDMirrorResources returns the placement for the RBD Mirrors
func GetRGWAnnotations ¶ added in v1.0.0
func GetRGWAnnotations(a rook.AnnotationsSpec) rook.Annotations
GetRGWAnnotations returns the Annotations for the RBD mirrors
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type CephBlockPool ¶
type CephBlockPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec PoolSpec `json:"spec"` }
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.
type CephBlockPoolList ¶
type CephBlockPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephBlockPool `json:"items"` }
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 CephCluster ¶
type CephCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ClusterSpec `json:"spec"` Status ClusterStatus `json:"status,omitempty"` }
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.
type CephClusterList ¶
type CephClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephCluster `json:"items"` }
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 CephFilesystem ¶
type CephFilesystem struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec FilesystemSpec `json:"spec"` }
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"` }
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 CephHealthMessage ¶ added in v1.0.0
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"` }
func (*CephNFS) DeepCopy ¶ added in v1.0.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephNFS.
func (*CephNFS) DeepCopyInto ¶ added in v1.0.0
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
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"` }
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 CephObjectStore ¶
type CephObjectStore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ObjectStoreSpec `json:"spec"` }
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.
type CephObjectStoreList ¶
type CephObjectStoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephObjectStore `json:"items"` }
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"` }
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"` }
func (*CephObjectStoreUserList) DeepCopy ¶
func (in *CephObjectStoreUserList) DeepCopy() *CephObjectStoreUserList
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 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"` }
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 CephVersionSpec ¶
type CephVersionSpec struct { // Image is the container image used to launch the ceph daemons, such as ceph/ceph:v13.2.6 or ceph/ceph:v14.2.2 Image string `json:"image,omitempty"` // Whether to allow unsupported versions (do not set to true in production) AllowUnsupported bool `json:"allowUnsupported,omitempty"` }
VersionSpec 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 ClusterSpec ¶
type ClusterSpec struct { // The version information that instructs Rook to orchestrate a particular version of Ceph. CephVersion CephVersionSpec `json:"cephVersion,omitempty"` // A spec for available storage in the cluster and how it should be used Storage rook.StorageScopeSpec `json:"storage,omitempty"` // The annotations-related configuration to add/set on each Pod related object. Annotations rook.AnnotationsSpec `json:"annotations,omitempty"` // The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations). Placement rook.PlacementSpec `json:"placement,omitempty"` // Network related configuration Network NetworkSpec `json:"network,omitempty"` // Resources set resource requests and limits Resources rook.ResourceSpec `json:"resources,omitempty"` // The path on the host where config and data can be persisted. DataDirHostPath string `json:"dataDirHostPath,omitempty"` // SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails SkipUpgradeChecks bool `json:"skipUpgradeChecks,omitempty"` // A spec for configuring disruption management. DisruptionManagement DisruptionManagementSpec `json:"disruptionManagement,omitempty"` // A spec for mon related options Mon MonSpec `json:"mon,omitempty"` // A spec for rbd mirroring RBDMirroring RBDMirroringSpec `json:"rbdMirroring"` // Dashboard settings Dashboard DashboardSpec `json:"dashboard,omitempty"` // Prometheus based Monitoring settings 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. External ExternalSpec `json:"external"` // A spec for mgr related options Mgr MgrSpec `json:"mgr,omitempty"` // Remove the OSD that is out and safe to remove only if this option is true RemoveOSDsIfOutAndSafeToRemove bool `json:"removeOSDsIfOutAndSafeToRemove"` }
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.
type ClusterState ¶
type ClusterState string
const ( ClusterStateCreating ClusterState = "Creating" ClusterStateCreated ClusterState = "Created" ClusterStateUpdating ClusterState = "Updating" ClusterStateConnecting ClusterState = "Connecting" ClusterStateConnected ClusterState = "Connected" ClusterStateError ClusterState = "Error" // DefaultFailureDomain for PoolSpec DefaultFailureDomain = "host" )
type ClusterStatus ¶
type ClusterStatus struct { State ClusterState `json:"state,omitempty"` Message string `json:"message,omitempty"` CephStatus *CephStatus `json:"ceph,omitempty"` }
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 DashboardSpec ¶
type DashboardSpec struct { // Whether to enable the dashboard Enabled bool `json:"enabled,omitempty"` // A prefix for all URLs to use the dashboard with a reverse proxy UrlPrefix string `json:"urlPrefix,omitempty"` // The dashboard webserver port Port int `json:"port,omitempty"` // Whether SSL should be used 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 DisruptionManagementSpec ¶ added in v1.1.0
type DisruptionManagementSpec struct { // This enables management of poddisruptionbudgets ManagePodBudgets bool `json:"managePodBudgets,omitempty"` // OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure domains // it only works if managePodBudgetss is true. // the default is 30 minutes OSDMaintenanceTimeout time.Duration `json:"osdMaintenanceTimeout,omitempty"` // This enables management of machinedisruptionbudgets ManageMachineDisruptionBudgets bool `json:"manageMachineDisruptionBudgets,omitempty"` // Namespace to look for MDBs by the machineDisruptionBudgetController MachineDisruptionBudgetNamespace string `json:"machineDisruptionBudgetNamespace,omitempty"` }
DisruptionManagementSpec configures management of daemon disruptions
func (*DisruptionManagementSpec) DeepCopy ¶ added in v1.1.0
func (in *DisruptionManagementSpec) DeepCopy() *DisruptionManagementSpec
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) CodingChunks uint `json:"codingChunks"` // Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type) DataChunks uint `json:"dataChunks"` // The algorithm for erasure coding Algorithm string `json:"algorithm"` }
ErasureCodeSpec 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 bool `json:"enable"`
}
ExternalSpec represents the options supported by an external cluster
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 FilesystemSpec ¶
type FilesystemSpec struct { // The metadata pool settings MetadataPool PoolSpec `json:"metadataPool,omitempty"` // The data pool settings DataPools []PoolSpec `json:"dataPools,omitempty"` // The mds pod info MetadataServer MetadataServerSpec `json:"metadataServer"` }
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"` }
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 Placement rook.Placement `json:"placement"` // The annotations-related configuration to add/set on each Pod related object. Annotations rook.Annotations `json:"annotations,omitempty"` // Resources set resource requests and limits Resources v1.ResourceRequirements `json:"resources,omitempty"` }
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) Port int32 `json:"port"` // The port the rgw service will be listening on (https) SecurePort int32 `json:"securePort"` // The number of pods in the rgw replicaset. If "allNodes" is specified, a daemonset is created. Instances int32 `json:"instances"` // Whether the rgw pods should be started as a daemonset on all nodes AllNodes bool `json:"allNodes"` // The name of the secret that stores the ssl certificate for secure rgw connections SSLCertificateRef string `json:"sslCertificateRef"` // The affinity to place the rgw pods (default is to place on any available node) Placement rook.Placement `json:"placement"` // The annotations-related configuration to add/set on each Pod related object. Annotations rook.Annotations `json:"annotations,omitempty"` // The resource requirements for the rgw pods Resources v1.ResourceRequirements `json:"resources"` }
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 MetadataServerSpec ¶
type MetadataServerSpec struct { // The number of metadata servers that are active. The remaining servers in the cluster will be in standby mode. 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. ActiveStandby bool `json:"activeStandby"` // The affinity to place the mds pods (default is to place on all available node) with a daemonset Placement rook.Placement `json:"placement"` // The annotations-related configuration to add/set on each Pod related object. Annotations rook.Annotations `json:"annotations,omitempty"` // The resource requirements for the rgw pods Resources v1.ResourceRequirements `json:"resources"` }
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 {
Modules []Module `json:"modules,omitempty"`
}
MgrSpec represents options to configure a ceph mgr
func (*MgrSpec) DeepCopy ¶ added in v1.1.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MgrSpec.
func (*MgrSpec) DeepCopyInto ¶ added in v1.1.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Module ¶ added in v1.1.0
Module represents mgr modules that the user wants to enable or disable
func (*Module) DeepCopy ¶ added in v1.1.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Module.
func (*Module) DeepCopyInto ¶ added in v1.1.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonSpec ¶
type MonSpec struct { Count int `json:"count,omitempty"` AllowMultiplePerNode bool `json:"allowMultiplePerNode,omitempty"` VolumeClaimTemplate *v1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"` }
func (*MonSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonSpec.
func (*MonSpec) DeepCopyInto ¶
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 { // Whether to create the prometheus rules for the ceph cluster. If true, the prometheus // types must exist or the creation will fail. Enabled bool `json:"enabled,omitempty"` // The namespace where the prometheus rules and alerts should be created. // If empty, the same namespace as the cluster will be used. RulesNamespace string `json:"rulesNamespace,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 GaneshaRADOSSpec `json:"rados"` 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 { rook.NetworkSpec `json:",inline"` // HostNetwork to enable host network HostNetwork bool `json:"hostNetwork"` }
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 ObjectStoreSpec ¶
type ObjectStoreSpec struct { // The metadata pool settings MetadataPool PoolSpec `json:"metadataPool"` // The data pool settings DataPool PoolSpec `json:"dataPool"` // The rgw pod info Gateway GatewaySpec `json:"gateway"` }
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.
type ObjectStoreUserSpec ¶
type ObjectStoreUserSpec struct { //The store the user will be created in Store string `json:"store,omitempty"` //The display name for the ceph users 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 PoolSpec ¶
type PoolSpec struct { // The failure domain: osd/host/(region or zone if topologyAware) - technically also any type in the crush map FailureDomain string `json:"failureDomain"` // The root of the crush hierarchy utilized by the pool CrushRoot string `json:"crushRoot"` // The device class the OSD should set to (options are: hdd, ssd, or nvme) DeviceClass string `json:"deviceClass"` // The replication settings Replicated ReplicatedSpec `json:"replicated"` // The erasure code settings ErasureCoded ErasureCodedSpec `json:"erasureCoded"` }
PoolSpec represents the spec of ceph pool
func (*PoolSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolSpec.
func (*PoolSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PoolSpec) ErasureCode ¶
func (p *PoolSpec) ErasureCode() *ErasureCodedSpec
func (*PoolSpec) Replication ¶
func (p *PoolSpec) Replication() *ReplicatedSpec
type RBDMirroringSpec ¶
type RBDMirroringSpec struct {
Workers int `json:"workers"`
}
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 { // Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type) Size uint `json:"size"` }
ReplicationSpec 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.