rook

module
v1.14.2 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: Apache-2.0

README

Rook

CNCF Status GitHub release Docker Pulls Go Report Card CII Best Practices Security scanning Slack Twitter Follow

What is Rook?

Rook is an open source cloud-native storage orchestrator for Kubernetes, providing the platform, framework, and support for Ceph storage to natively integrate with Kubernetes.

Ceph is a distributed storage system that provides file, block and object storage and is deployed in large scale production clusters.

Rook automates deployment and management of Ceph to provide self-managing, self-scaling, and self-healing storage services. The Rook operator does this by building on Kubernetes resources to deploy, configure, provision, scale, upgrade, and monitor Ceph.

The status of the Ceph storage provider is Stable. Features and improvements will be planned for many future versions. Upgrades between versions are provided to ensure backward compatibility between releases.

Rook is hosted by the Cloud Native Computing Foundation (CNCF) as a graduated level project. If you are a company that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Rook plays a role, read the CNCF announcement.

Getting Started and Documentation

For installation, deployment, and administration, see our Documentation and QuickStart Guide.

Contributing

We welcome contributions. See Contributing to get started.

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please open an issue.

Reporting Security Vulnerabilities

If you find a vulnerability or a potential vulnerability in Rook please let us know immediately at cncf-rook-security@lists.cncf.io. We'll send a confirmation email to acknowledge your report, and we'll send an additional email when we've identified the issues positively or negatively.

For further details, please see the complete security release process.

Contact

Please use the following to reach members of the community:

Community Meeting

A regular community meeting takes place every other Tuesday at 9:00 AM PT (Pacific Time). Convert to your local timezone.

Any changes to the meeting schedule will be added to the agenda doc and posted to Slack #announcements.

Anyone who wants to discuss the direction of the project, design and implementation reviews, or general questions with the broader community is welcome and encouraged to join.

Official Releases

Official releases of Rook can be found on the releases page. Please note that it is strongly recommended that you use official releases of Rook, as unreleased versions from the master branch are subject to changes and incompatibilities that will not be supported in the official releases. Builds from the master branch can have functionality changed and even removed at any time without compatibility support and without prior notice.

Licensing

Rook is under the Apache 2.0 license.

FOSSA Status

Directories

Path Synopsis
Documentation
gen-crd-api-reference-docs/template
Placeholder file to make Go vendor this directory properly.
Placeholder file to make Go vendor this directory properly.
cmd
rook/userfacing
contains user facing commands, separated to a subdir for convenience
contains user facing commands, separated to a subdir for convenience
rook/util
Package util contains top-level utility commands which are neither storage backends nor associated with a particular storage backend.
Package util contains top-level utility commands which are neither storage backends nor associated with a particular storage backend.
pkg
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/ceph.rook.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/ceph.rook.io/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
daemon/discover
Package discover to discover unused devices.
Package discover to discover unused devices.
operator/ceph
Package operator to manage Kubernetes storage.
Package operator to manage Kubernetes storage.
operator/ceph/client
Package client to manage a rook client.
Package client to manage a rook client.
operator/ceph/cluster
Package cluster to manage Kubernetes storage.
Package cluster to manage Kubernetes storage.
operator/ceph/cluster/mgr
Package mgr for the Ceph manager.
Package mgr for the Ceph manager.
operator/ceph/cluster/mon
Package mon provides methods for creating clusters of Ceph mons in Kubernetes, for monitoring the cluster's status, for taking corrective actions if the status is non-ideal, and for reporting mon cluster failures.
Package mon provides methods for creating clusters of Ceph mons in Kubernetes, for monitoring the cluster's status, for taking corrective actions if the status is non-ideal, and for reporting mon cluster failures.
operator/ceph/cluster/osd
Package osd for the Ceph OSDs.
Package osd for the Ceph OSDs.
operator/ceph/cluster/osd/config
Package config for OSD config managed by the operator
Package config for OSD config managed by the operator
operator/ceph/cluster/osd/topology
Package config provides methods for generating the Ceph config for a Ceph cluster and for producing a "ceph.conf" compatible file from the config as well as Ceph command line-compatible flags.
Package config provides methods for generating the Ceph config for a Ceph cluster and for producing a "ceph.conf" compatible file from the config as well as Ceph command line-compatible flags.
operator/ceph/cluster/rbd
Package rbd for mirroring
Package rbd for mirroring
operator/ceph/cluster/telemetry
Package telemetry codifies the Rook telemetry spec used to record Rook information for Ceph telemetry.
Package telemetry codifies the Rook telemetry spec used to record Rook information for Ceph telemetry.
operator/ceph/config
Package config provides methods for generating the Ceph config for a Ceph cluster and for producing a "ceph.conf" compatible file from the config as well as Ceph command line-compatible flags.
Package config provides methods for generating the Ceph config for a Ceph cluster and for producing a "ceph.conf" compatible file from the config as well as Ceph command line-compatible flags.
operator/ceph/config/keyring
Package keyring provides methods for accessing keyrings for Ceph daemons stored securely in Kubernetes secrets.
Package keyring provides methods for accessing keyrings for Ceph daemons stored securely in Kubernetes secrets.
operator/ceph/disruption/clusterdisruption
Package clusterdisruption implements the controller for ensuring that drains occurs in a safe manner.
Package clusterdisruption implements the controller for ensuring that drains occurs in a safe manner.
operator/ceph/file
Package file manages a CephFS filesystem and the required daemons.
Package file manages a CephFS filesystem and the required daemons.
operator/ceph/file/mds
Package mds provides methods for managing a Ceph mds cluster.
Package mds provides methods for managing a Ceph mds cluster.
operator/ceph/file/mirror
Package mirror for mirroring
Package mirror for mirroring
operator/ceph/file/subvolumegroup
Package subvolumegroup to manage CephFS subvolume groups
Package subvolumegroup to manage CephFS subvolume groups
operator/ceph/nfs
Package nfs manages NFS ganesha servers for Ceph
Package nfs manages NFS ganesha servers for Ceph
operator/ceph/object
Package object for the Ceph object store.
Package object for the Ceph object store.
operator/ceph/object/cosi
Package cosi implements the controller for the Ceph COSI Driver.
Package cosi implements the controller for the Ceph COSI Driver.
operator/ceph/object/notification
Package notification to manage a rook bucket notifications.
Package notification to manage a rook bucket notifications.
operator/ceph/object/realm
Package objectrealm to manage a rook object realm.
Package objectrealm to manage a rook object realm.
operator/ceph/object/topic
Package topic to manage a rook bucket topics.
Package topic to manage a rook bucket topics.
operator/ceph/object/user
Package objectuser to manage a rook object store user.
Package objectuser to manage a rook object store user.
operator/ceph/object/zone
Package zone to manage a rook object zone.
Package zone to manage a rook object zone.
operator/ceph/object/zonegroup
Package objectzonegroup to manage a rook object zonegroup.
Package objectzonegroup to manage a rook object zonegroup.
operator/ceph/pool
Package pool to manage a rook pool.
Package pool to manage a rook pool.
operator/ceph/pool/radosnamespace
Package radosnamespace to manage rbd pool namespaces
Package radosnamespace to manage rbd pool namespaces
operator/ceph/reporting
Reporting focuses on reporting Events, Status Conditions, and the like to users.
Reporting focuses on reporting Events, Status Conditions, and the like to users.
operator/ceph/test
Package test provides common resources useful for testing many Ceph daemons.
Package test provides common resources useful for testing many Ceph daemons.
operator/discover
Package discover to discover devices on storage nodes.
Package discover to discover devices on storage nodes.
operator/k8sutil
Package kit for Kubernetes operators
Package kit for Kubernetes operators
util/exec
Package exec embeds Rook's exec logic
Package exec embeds Rook's exec logic
apis Module
tests

Jump to

Keyboard shortcuts

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