v1

package
v1.1.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2019 License: Apache-2.0 Imports: 8 Imported by: 0

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

View Source
const (
	KeyMon       rook.KeyType = "mon"
	KeyMgr       rook.KeyType = "mgr"
	KeyOSD       rook.KeyType = "osd"
	KeyRBDMirror rook.KeyType = "rbdmirror"
	KeyRGWMirror rook.KeyType = "rgw"
)
View Source
const (
	CustomResourceGroup = "ceph.rook.io"
	Version             = "v1"
)
View Source
const (
	ResourcesKeyMgr       = "mgr"
	ResourcesKeyMon       = "mon"
	ResourcesKeyOSD       = "osd"
	ResourcesKeyRBDMirror = "rbdmirror"
)

Variables

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

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
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 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

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

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

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

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

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

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

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

	// OSDMaintenenceTimeout 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
	OSDMaintenenceTimeout 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 mangement 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)
	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

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 Module added in v1.1.0

type Module struct {
	Name    string `json:"name,omitempty"`
	Enabled bool   `json:"enabled"`
}

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                int                       `json:"count,omitempty"`
	AllowMultiplePerNode bool                      `json:"allowMultiplePerNode,omitempty"`
	VolumeClaimTemplate  *v1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
}

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 {
	// 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

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

func (p *PoolSpec) ErasureCode() *ErasureCodedSpec

func (*PoolSpec) Replication

func (p *PoolSpec) Replication() *ReplicatedSpec

func (*PoolSpec) ToModel

func (p *PoolSpec) ToModel(name string) *model.Pool

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.

Jump to

Keyboard shortcuts

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