Documentation ¶
Overview ¶
Package v1 is the v1 version of the API. +groupName=ceph.rook.io
Copyright 2018 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2018 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
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 GetMgrPlacement(p rook.PlacementSpec) rook.Placement
- func GetMgrResources(p rook.ResourceSpec) v1.ResourceRequirements
- func GetMonPlacement(p rook.PlacementSpec) rook.Placement
- func GetMonResources(p rook.ResourceSpec) v1.ResourceRequirements
- func GetOSDPlacement(p rook.PlacementSpec) rook.Placement
- func GetOSDResources(p rook.ResourceSpec) v1.ResourceRequirements
- func Resource(resource string) schema.GroupResource
- type Cluster
- type ClusterList
- type ClusterSpec
- type ClusterState
- type ClusterStatus
- type DashboardSpec
- type ErasureCodedSpec
- type Filesystem
- type FilesystemList
- type FilesystemSpec
- type GatewaySpec
- type MetadataServerSpec
- type MonSpec
- type ObjectStore
- type ObjectStoreList
- type ObjectStoreSpec
- type Pool
- type PoolList
- type PoolSpec
- type ReplicatedSpec
Constants ¶
const ( PlacementKeyMgr = "mgr" PlacementKeyMon = "mon" PlacementKeyOSD = "osd" )
const ( CustomResourceGroup = "ceph.rook.io" Version = "v1alpha1" )
const ( ResourcesKeyMgr = "mgr" ResourcesKeyMon = "mon" ResourcesKeyOSD = "osd" )
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 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 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 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 Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ClusterSpec `json:"spec"` Status ClusterStatus `json:"status,omitempty"` }
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Cluster `json:"items"` }
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSpec ¶
type ClusterSpec struct { // A spec for available storage in the cluster and how it should be used Storage rook.StorageScopeSpec `json:"storage,omitempty"` // Dashboard settings Dashboard DashboardSpec `json:"dashboard,omitempty"` // The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations). Placement rook.PlacementSpec `json:"placement,omitempty"` // Network related configuration Network rook.NetworkSpec `json:"network,omitempty"` // Resources set resource requests and limits Resources rook.ResourceSpec `json:"resources,omitempty"` // The service account in which to start the cluster resources if the default is not sufficient (OSD pods) ServiceAccount string `json:"serviceAccount,omitempty"` // The path on the host where config and data can be persisted. DataDirHostPath string `json:"dataDirHostPath,omitempty"` // A spec for mon releated options Mon MonSpec `json:"mon"` }
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" ClusterStateError ClusterState = "Error" )
type ClusterStatus ¶
type ClusterStatus struct { State ClusterState `json:"state,omitempty"` Message string `json:"message,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"` }
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 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 Filesystem ¶
type Filesystem struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec FilesystemSpec `json:"spec"` }
func (*Filesystem) DeepCopy ¶
func (in *Filesystem) DeepCopy() *Filesystem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filesystem.
func (*Filesystem) DeepCopyInto ¶
func (in *Filesystem) DeepCopyInto(out *Filesystem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Filesystem) DeepCopyObject ¶
func (in *Filesystem) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FilesystemList ¶
type FilesystemList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Filesystem `json:"items"` }
func (*FilesystemList) DeepCopy ¶
func (in *FilesystemList) DeepCopy() *FilesystemList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemList.
func (*FilesystemList) DeepCopyInto ¶
func (in *FilesystemList) DeepCopyInto(out *FilesystemList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FilesystemList) DeepCopyObject ¶
func (in *FilesystemList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FilesystemSpec ¶
type FilesystemSpec struct { // The metadata pool settings MetadataPool PoolSpec `json:"metadataPool"` // The data pool settings DataPools []PoolSpec `json:"dataPools"` // 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 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 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 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 MonSpec ¶
type MonSpec struct { Count int `json:"count"` AllowMultiplePerNode bool `json:"allowMultiplePerNode"` }
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 ObjectStore ¶
type ObjectStore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ObjectStoreSpec `json:"spec"` }
func (*ObjectStore) DeepCopy ¶
func (in *ObjectStore) DeepCopy() *ObjectStore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStore.
func (*ObjectStore) DeepCopyInto ¶
func (in *ObjectStore) DeepCopyInto(out *ObjectStore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectStore) DeepCopyObject ¶
func (in *ObjectStore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObjectStoreList ¶
type ObjectStoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ObjectStore `json:"items"` }
func (*ObjectStoreList) DeepCopy ¶
func (in *ObjectStoreList) DeepCopy() *ObjectStoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreList.
func (*ObjectStoreList) DeepCopyInto ¶
func (in *ObjectStoreList) DeepCopyInto(out *ObjectStoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectStoreList) DeepCopyObject ¶
func (in *ObjectStoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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 Pool ¶
type Pool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec PoolSpec `json:"spec"` }
func (*Pool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pool.
func (*Pool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Pool) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PoolList ¶
type PoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Pool `json:"items"` }
func (*PoolList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolList.
func (*PoolList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PoolList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PoolSpec ¶
type PoolSpec struct { // The failure domain: osd or host (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 replication settings Replicated ReplicatedSpec `json:"replicated"` // The erasure code settings ErasureCoded ErasureCodedSpec `json:"erasureCoded"` }
PoolSpec represent the spec of a 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 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.