forked from rook/rook
Add the missing CRDs as well as a check to prevent missing CRDs from the CSV file. Signed-off-by: Sébastien Han <seb@redhat.com>
426 lines
17 KiB
YAML
426 lines
17 KiB
YAML
spec:
|
|
replaces: rook-ceph.v1.1.1
|
|
customresourcedefinitions:
|
|
owned:
|
|
- kind: CephCluster
|
|
name: cephclusters.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Cluster
|
|
description: Represents a Ceph cluster.
|
|
- kind: CephBlockPool
|
|
name: cephblockpools.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Block Pool
|
|
description: Represents a Ceph Block Pool.
|
|
- kind: CephObjectStore
|
|
name: cephobjectstores.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Object Store
|
|
description: Represents a Ceph Object Store.
|
|
specDescriptors:
|
|
- description: Coding Chunks
|
|
displayName: Coding Chunks
|
|
path: dataPool.erasureCoded.codingChunks
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:dataPool"
|
|
- "urn:alm:descriptor:com.tectonic.ui:number"
|
|
- description: Data Chunks
|
|
displayName: Data Chunks
|
|
path: dataPool.erasureCoded.dataChunks
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:dataPool"
|
|
- "urn:alm:descriptor:com.tectonic.ui:number"
|
|
- description: failureDomain
|
|
displayName: failureDomain
|
|
path: dataPool.failureDomain
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:dataPool"
|
|
- "urn:alm:descriptor:com.tectonic.ui:text"
|
|
- description: Size
|
|
displayName: Size
|
|
path: dataPool.replicated.size
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:dataPool"
|
|
- "urn:alm:descriptor:com.tectonic.ui:number"
|
|
- description: Annotations
|
|
displayName: Annotations
|
|
path: gateway.annotations
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway"
|
|
- "urn:alm:descriptor:io.kubernetes:annotations"
|
|
- description: Instances
|
|
displayName: Instances
|
|
path: gateway.instances
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway"
|
|
- "urn:alm:descriptor:com.tectonic.ui:number"
|
|
- description: Resources
|
|
displayName: Resources
|
|
path: gateway.resources
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway"
|
|
- "urn:alm:descriptor:com.tectonic.ui:resourceRequirements"
|
|
- description: placement
|
|
displayName: placement
|
|
path: gateway.placement
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway"
|
|
- "urn:alm:descriptor:io.kubernetes:placement"
|
|
- description: securePort
|
|
displayName: securePort
|
|
path: gateway.securePort
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway"
|
|
- "urn:alm:descriptor:io.kubernetes:securePort"
|
|
- description: sslCertificateRef
|
|
displayName: sslCertificateRef
|
|
path: gateway.sslCertificateRef
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway"
|
|
- "urn:alm:descriptor:io.kubernetes:sslCertificateRef"
|
|
- description: Type
|
|
displayName: Type
|
|
path: gateway.type
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway"
|
|
- "urn:alm:descriptor:com.tectonic.ui:text"
|
|
- description: Coding Chunks
|
|
displayName: Coding Chunks
|
|
path: metadataPool.erasureCoded.codingChunks
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:metadataPool"
|
|
- "urn:alm:descriptor:com.tectonic.ui:number"
|
|
- description: Data Chunks
|
|
displayName: Data Chunks
|
|
path: metadataPool.erasureCoded.dataChunks
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:metadataPool"
|
|
- "urn:alm:descriptor:com.tectonic.ui:number"
|
|
- description: failureDomain
|
|
displayName: failureDomain
|
|
path: metadataPool.failureDomain
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:metadataPool"
|
|
- "urn:alm:descriptor:com.tectonic.ui:text"
|
|
- description: Size
|
|
displayName: Size
|
|
path: metadataPool.replicated.size
|
|
x-descriptors:
|
|
- "urn:alm:descriptor:com.tectonic.ui:fieldGroup:metadataPool"
|
|
- "urn:alm:descriptor:com.tectonic.ui:number"
|
|
- kind: CephObjectStoreUser
|
|
name: cephobjectstoreusers.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Object Store User
|
|
description: Represents a Ceph Object Store User.
|
|
- kind: CephNFS
|
|
name: cephnfses.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph NFS
|
|
description: Represents a cluster of Ceph NFS ganesha gateways.
|
|
- kind: CephClient
|
|
name: cephclients.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Client
|
|
description: Represents a Ceph User.
|
|
- kind: CephFilesystem
|
|
name: cephfilesystems.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Filesystem
|
|
description: Represents a Ceph Filesystem.
|
|
- kind: CephFilesystemMirror
|
|
name: cephfilesystemmirrors.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Filesystem Mirror
|
|
description: Represents a Ceph Filesystem Mirror.
|
|
- kind: CephRBDMirror
|
|
name: cephrbdmirrors.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph RBD Mirror
|
|
description: Represents a Ceph RBD Mirror.
|
|
- kind: CephObjectRealm
|
|
name: cephobjectrealms.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Object Store Realm
|
|
description: Represents a Ceph Object Store Realm.
|
|
- kind: CephObjectZoneGroup
|
|
name: cephobjectzonegroups.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Object Store Zone Group
|
|
description: Represents a Ceph Object Store Zone Group.
|
|
- kind: CephObjectZone
|
|
name: cephobjectzones.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Object Store Zone
|
|
description: Represents a Ceph Object Store Zone.
|
|
- kind: CephBucketNotification
|
|
name: cephbucketnotifications.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Bucket Notification
|
|
description: Represents a Ceph Bucket Notification.
|
|
- kind: CephBucketTopic
|
|
name: cephbuckettopics.ceph.rook.io
|
|
version: v1
|
|
displayName: Ceph Bucket Topic
|
|
description: Represents a Ceph Bucket Topic.
|
|
displayName: Rook-Ceph
|
|
description: |
|
|
|
|
The Rook-Ceph storage operator packages, deploys, manages, upgrades and scales Ceph storage for providing persistent storage to infrastructure services (Logging, Metrics, Registry) as well as stateful applications in Kubernetes clusters.
|
|
|
|
## Rook-Ceph Storage Operator
|
|
|
|
Rook runs as a cloud-native service in Kubernetes clusters for optimal integration with applications in need of storage, and handles the heavy-lifting behind the scenes such as provisioning and management.
|
|
Rook orchestrates battle-tested open-source storage technology Ceph, which has years of production deployments and runs some of the worlds largest clusters.
|
|
|
|
Ceph is a massively scalable, software-defined, cloud native storage platform that offers block, file and object storage services.
|
|
Ceph can be used to back a wide variety of applications including relational databases, NoSQL databases, CI/CD tool-sets, messaging, AI/ML and analytics applications.
|
|
Ceph is a proven storage platform that backs some of the world's largest storage deployments and has a large vibrant open source community backing the project.
|
|
|
|
## Supported features
|
|
* **High Availability and resiliency** - Ceph has no single point of failures (SPOF) and all its components work natively in a highly available fashion
|
|
* **Data Protection** - Ceph periodically scrub for inconsistent objects and repair them if necessary, making sure your replicas are always coherent
|
|
* **Consistent storage platform across hybrid cloud** - Ceph can be deployed anywhere (on-premise or bare metal) and thus offers a similar experience regardless
|
|
* **Block, File & Object storage service** - Ceph can expose your data through several storage interfaces, solving all the application use cases
|
|
* **Scale up/down** - addition and removal of storage is fully covered by the operator.
|
|
* **Dashboard** - The Operator deploys a dashboard for monitoring and introspecting your cluster.
|
|
|
|
## Before you start
|
|
https://rook.io/docs/rook/v1.0/k8s-pre-reqs.html
|
|
|
|
keywords:
|
|
[
|
|
"rook",
|
|
"ceph",
|
|
"storage",
|
|
"object storage",
|
|
"open source",
|
|
"block storage",
|
|
"shared filesystem",
|
|
]
|
|
minKubeVersion: 1.10.0
|
|
labels:
|
|
alm-owner-etcd: rookoperator
|
|
operated-by: rookoperator
|
|
selector:
|
|
matchLabels:
|
|
alm-owner-etcd: rookoperator
|
|
operated-by: rookoperator
|
|
links:
|
|
- name: Blog
|
|
url: https://blog.rook.io
|
|
- name: Documentation
|
|
url: https://rook.github.io/docs/rook/v1.0/
|
|
icon:
|
|
- base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA3MCA3MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNzAgNzA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMkIyQjJCO30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTUwLjUsNjcuNkgxOS45Yy04LDAtMTQuNS02LjUtMTQuNS0xNC41VjI5LjJjMC0xLjEsMC45LTIuMSwyLjEtMi4xaDU1LjRjMS4xLDAsMi4xLDAuOSwyLjEsMi4xdjIzLjkKCQkJCUM2NSw2MS4xLDU4LjUsNjcuNiw1MC41LDY3LjZ6IE05LjYsMzEuMnYyMS45YzAsNS43LDQuNiwxMC4zLDEwLjMsMTAuM2gzMC42YzUuNywwLDEwLjMtNC42LDEwLjMtMTAuM1YzMS4ySDkuNnoiLz4KCQk8L2c+CgkJPGc+CgkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00Mi40LDU2LjdIMjhjLTEuMSwwLTIuMS0wLjktMi4xLTIuMXYtNy4yYzAtNS4xLDQuMi05LjMsOS4zLTkuM3M5LjMsNC4yLDkuMyw5LjN2Ny4yCgkJCQlDNDQuNSw1NS43LDQzLjYsNTYuNyw0Mi40LDU2Ljd6IE0zMCw1Mi41aDEwLjN2LTUuMmMwLTIuOS0yLjMtNS4yLTUuMi01LjJjLTIuOSwwLTUuMiwyLjMtNS4yLDUuMlY1Mi41eiIvPgoJCTwvZz4KCQk8Zz4KCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTYyLjksMjMuMkM2Mi45LDIzLjIsNjIuOSwyMy4yLDYyLjksMjMuMmwtMTEuMSwwYy0xLjEsMC0yLjEtMC45LTIuMS0yLjFjMC0xLjEsMC45LTIuMSwyLjEtMi4xCgkJCQljMCwwLDAsMCwwLDBsOS4xLDBWNi43aC02Ljl2My41YzAsMC41LTAuMiwxLjEtMC42LDEuNWMtMC40LDAuNC0wLjksMC42LTEuNSwwLjZsMCwwbC0xMS4xLDBjLTEuMSwwLTIuMS0wLjktMi4xLTIuMVY2LjdoLTYuOQoJCQkJdjMuNWMwLDEuMS0wLjksMi4xLTIuMSwyLjFsLTExLjEsMGMtMC41LDAtMS4xLTAuMi0xLjUtMC42Yy0wLjQtMC40LTAuNi0wLjktMC42LTEuNVY2LjdIOS42djEyLjRoOWMxLjEsMCwyLjEsMC45LDIuMSwyLjEKCQkJCXMtMC45LDIuMS0yLjEsMi4xaC0xMWMtMS4xLDAtMi4xLTAuOS0yLjEtMi4xVjQuNmMwLTEuMSwwLjktMi4xLDIuMS0yLjFoMTEuMWMxLjEsMCwyLjEsMC45LDIuMSwyLjF2My41bDcsMFY0LjYKCQkJCWMwLTEuMSwwLjktMi4xLDIuMS0yLjFoMTEuMWMxLjEsMCwyLjEsMC45LDIuMSwyLjF2My41bDYuOSwwVjQuNmMwLTEuMSwwLjktMi4xLDIuMS0yLjFoMTEuMUM2NCwyLjYsNjUsMy41LDY1LDQuNnYxNi41CgkJCQljMCwwLjUtMC4yLDEuMS0wLjYsMS41QzY0LDIzLDYzLjQsMjMuMiw2Mi45LDIzLjJ6Ii8+CgkJPC9nPgoJPC9nPgo8L2c+Cjwvc3ZnPg==
|
|
mediatype: image/svg+xml
|
|
installModes:
|
|
- type: OwnNamespace
|
|
supported: true
|
|
- type: SingleNamespace
|
|
supported: true
|
|
- type: MultiNamespace
|
|
supported: false
|
|
- type: AllNamespaces
|
|
supported: false
|
|
|
|
metadata:
|
|
annotations:
|
|
tectonic-visibility: ocs
|
|
repository: https://github.com/rook/rook
|
|
containerImage: rook/ceph:v1.2.2
|
|
alm-examples: |-
|
|
[
|
|
{
|
|
"apiVersion": "ceph.rook.io/v1",
|
|
"kind": "CephCluster",
|
|
"metadata": {
|
|
"name": "my-rook-ceph",
|
|
"namespace": "my-rook-ceph"
|
|
},
|
|
"spec": {
|
|
"cephVersion": {
|
|
"image": "quay.io/ceph/ceph:v16.2.6"
|
|
},
|
|
"dataDirHostPath": "/var/lib/rook",
|
|
"mon": {
|
|
"count": 3
|
|
},
|
|
"dashboard": {
|
|
"enabled": true
|
|
},
|
|
"network": {
|
|
"hostNetwork": false
|
|
},
|
|
"rbdMirroring": {
|
|
"workers": 0
|
|
},
|
|
"storage": {
|
|
"useAllNodes": true,
|
|
"useAllDevices": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "ceph.rook.io/v1",
|
|
"kind": "CephBlockPool",
|
|
"metadata": {
|
|
"name": "replicapool",
|
|
"namespace": "my-rook-ceph"
|
|
},
|
|
"spec": {
|
|
"failureDomain": "host",
|
|
"replicated": {
|
|
"size": 3
|
|
},
|
|
"annotations": null
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "ceph.rook.io/v1",
|
|
"kind": "CephObjectStore",
|
|
"metadata": {
|
|
"name": "my-store",
|
|
"namespace": "my-rook-ceph"
|
|
},
|
|
"spec": {
|
|
"metadataPool": {
|
|
"failureDomain": "host",
|
|
"replicated": {
|
|
"size": 3
|
|
}
|
|
},
|
|
"dataPool": {
|
|
"failureDomain": "host",
|
|
"replicated": {
|
|
"size": 3
|
|
}
|
|
},
|
|
"gateway": {
|
|
"type": "s3",
|
|
"sslCertificateRef": null,
|
|
"port": 8080,
|
|
"securePort": null,
|
|
"instances": 1,
|
|
"placement": null,
|
|
"annotations": null,
|
|
"resources": null
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "ceph.rook.io/v1",
|
|
"kind": "CephObjectStoreUser",
|
|
"metadata": {
|
|
"name": "my-user",
|
|
"namespace": "my-rook-ceph"
|
|
},
|
|
"spec": {
|
|
"store": "my-store",
|
|
"displayName": "my display name"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "ceph.rook.io/v1",
|
|
"kind": "CephNFS",
|
|
"metadata": {
|
|
"name": "my-nfs",
|
|
"namespace": "rook-ceph"
|
|
},
|
|
"spec": {
|
|
"rados": {
|
|
"pool": "myfs-data0",
|
|
"namespace": "nfs-ns"
|
|
},
|
|
"server": {
|
|
"active": 3,
|
|
"placement": null,
|
|
"annotations": null,
|
|
"resources": null
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "ceph.rook.io/v1",
|
|
"kind": "CephClient",
|
|
"metadata": {
|
|
"name": "cinder",
|
|
"namespace": "rook-ceph"
|
|
},
|
|
"spec": {
|
|
"caps": {
|
|
"mon": "profile rbd",
|
|
"osd": "profile rbd pool=volumes, profile rbd pool=vms, profile rbd-read-only pool=images"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "ceph.rook.io/v1",
|
|
"kind": "CephFilesystem",
|
|
"metadata": {
|
|
"name": "myfs",
|
|
"namespace": "rook-ceph"
|
|
},
|
|
"spec": {
|
|
"dataPools": [
|
|
{
|
|
"compressionMode": "",
|
|
"crushRoot": "",
|
|
"deviceClass": "",
|
|
"erasureCoded": {
|
|
"algorithm": "",
|
|
"codingChunks": 0,
|
|
"dataChunks": 0
|
|
},
|
|
"failureDomain": "host",
|
|
"replicated": {
|
|
"requireSafeReplicaSize": false,
|
|
"size": 1,
|
|
"targetSizeRatio": 0.5
|
|
}
|
|
}
|
|
],
|
|
"metadataPool": {
|
|
"compressionMode": "",
|
|
"crushRoot": "",
|
|
"deviceClass": "",
|
|
"erasureCoded": {
|
|
"algorithm": "",
|
|
"codingChunks": 0,
|
|
"dataChunks": 0
|
|
},
|
|
"failureDomain": "",
|
|
"replicated": {
|
|
"requireSafeReplicaSize": false,
|
|
"size": 1,
|
|
"targetSizeRatio": 0
|
|
}
|
|
},
|
|
"metadataServer": {
|
|
"activeCount": 1,
|
|
"activeStandby": true,
|
|
"placement": {},
|
|
"resources": {}
|
|
},
|
|
"preservePoolsOnDelete": false,
|
|
"preserveFilesystemOnDelete": false
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "ceph.rook.io/v1",
|
|
"kind": "CephRBDMirror",
|
|
"metadata": {
|
|
"name": "my-rbd-mirror",
|
|
"namespace": "rook-ceph"
|
|
},
|
|
"spec": {
|
|
"annotations": null,
|
|
"count": 1,
|
|
"placement": {
|
|
"topologyKey": "kubernetes.io/hostname"
|
|
},
|
|
"resources": null
|
|
}
|
|
}
|
|
]
|