# rook/rook

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rook-rook).**

13,553 stars · 2,828 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/rook/rook
- Homepage: https://rook.io
- awesome-repositories: https://awesome-repositories.com/repository/rook-rook.md

## Topics

`ceph` `cloud-native` `cncf` `docker` `etcd` `kubernetes` `storage` `storage-cluster`

## Description

Rook is a Kubernetes storage orchestrator and distributed storage operator that automates the deployment and management of storage clusters. It serves as a multi-protocol storage provider, offering block, file, and object storage capabilities to containerized workloads.

The system focuses on providing a self-healing storage cluster that replicates data across hardware nodes to maintain availability and recover from failures. It uses an operator-led model to handle the installation, scaling, and upgrades of storage nodes and daemons.

The orchestrator covers a broad range of provisioning services, including high-performance read-write-once block volumes, scalable object stores, and shared network filesystems. It also includes administrative tools for cluster state troubleshooting and metrics collection to monitor storage health.

## Tags

### DevOps & Infrastructure

- [Kubernetes Storage Orchestration](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management/multi-cluster-orchestrators/kubernetes-storage-orchestration.md) — Automates the deployment and management of distributed storage clusters within Kubernetes to provide self-healing data services.
- [Multi-Protocol Storage Orchestration](https://awesome-repositories.com/f/devops-infrastructure/multi-protocol-storage-orchestration.md) — Provides a unified orchestrator for deploying and managing block, file, and object storage across large scale production environments. ([source](https://cdn.jsdelivr.net/gh/rook/rook@master/README.md))
- [Cluster Lifecycle Managers](https://awesome-repositories.com/f/devops-infrastructure/cluster-lifecycle-managers.md) — Manages the full software lifecycle of storage clusters, including installation, scaling, and version upgrades.
- [Cluster State Reconciliation](https://awesome-repositories.com/f/devops-infrastructure/cluster-state-reconciliation.md) — Continuously aligns the actual state of the storage cluster with the desired configuration to recover from failures.
- [Self-Healing Infrastructure](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/workload-scheduling-scaling/self-healing-infrastructure.md) — Creates a distributed storage system that replicates data across nodes to ensure automatic recovery from hardware failures.
- [Distributed Daemon Orchestration](https://awesome-repositories.com/f/devops-infrastructure/daemon-management/distributed-daemon-orchestration.md) — Manages the deployment and scaling of storage daemons across nodes to ensure high availability and redundancy.
- [Operator-Based Lifecycles](https://awesome-repositories.com/f/devops-infrastructure/deployment-lifecycle-managers/operator-based-lifecycles.md) — Uses the Kubernetes Operator pattern to automate the full lifecycle of storage cluster deployment and configuration.
- [Storage Node Automation](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/infrastructure-as-code/management/infrastructure-orchestration/production-cluster-deployers/storage-cluster-deployment/storage-node-automation.md) — Automates the setup of storage nodes and manages the lifecycle of monitors, managers, and storage daemons. ([source](https://rook.io/docs/rook/latest-release/Getting-Started/quickstart/))
- [Kubernetes Orchestration](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-orchestration.md) — Provides a system for automating the deployment and management of distributed storage clusters within Kubernetes.
- [Storage Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/storage-orchestrators.md) — Automates the management, provisioning, and upgrading of storage resources within a container orchestration environment. ([source](https://cdn.jsdelivr.net/gh/rook/rook@master/README.md))
- [Storage Provisioning](https://awesome-repositories.com/f/devops-infrastructure/storage-provisioning.md) — Provides automated allocation and management of block, file, and object storage volumes for containerized workloads.
- [Object](https://awesome-repositories.com/f/devops-infrastructure/storage-provisioning/object.md) — Creates scalable object stores accessible via standard endpoints for data retrieval inside and outside the cluster. ([source](https://rook.io/docs/rook/latest-release/Getting-Started/quickstart/))
- [Custom Resource Mappings](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/custom-resource-mappings.md) — Translates Kubernetes Custom Resource specifications into low-level configurations for distributed storage clusters.

### Artificial Intelligence & ML

- [Storage Service Self-Healing](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-automation-frameworks/operational-self-healing/storage-service-self-healing.md) — Provides self-healing capabilities for block, file, and object storage services through automated redeployment and configuration. ([source](https://cdn.jsdelivr.net/gh/rook/rook@master/README.md))

### Data & Databases

- [Block Storage](https://awesome-repositories.com/f/data-databases/block-storage.md) — Implements high-performance read-write-once block volumes for persistent disk access by single pods.
- [Distributed Data Replication](https://awesome-repositories.com/f/data-databases/client-server-data-synchronization/core-data-sync-servers/distributed-data-replication.md) — Replicates data across multiple hardware nodes to ensure consistency and prevent data loss during failures. ([source](https://rook.io))
- [Storage Lifecycle Operators](https://awesome-repositories.com/f/data-databases/distributed-storage/storage-lifecycle-operators.md) — Implements a distributed storage operator to manage the lifecycle, scaling, and upgrades of block, file, and object storage.
- [Multi-Protocol Storage Providers](https://awesome-repositories.com/f/data-databases/multi-protocol-storage-providers.md) — Offers a multi-protocol storage solution delivering block, file, and object storage capabilities to containerized workloads.
- [Object Storage Services](https://awesome-repositories.com/f/data-databases/object-storage-services.md) — Deploys scalable object stores accessible via standard endpoints for data retrieval inside and outside the cluster.

### Operating Systems & Systems Programming

- [Shared Network](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-provisioning/shared-network.md) — Sets up network filesystems that allow multiple pods to read and write data simultaneously across a cluster. ([source](https://rook.io/docs/rook/latest-release/Getting-Started/quickstart/))

### Mobile Development

- [Cluster Debugging Commands](https://awesome-repositories.com/f/mobile-development/build-and-tooling/debugging-tools/custom-debugging-commands/cluster-debugging-commands.md) — Provides command-line plugins and tools for diagnosing the state and health of distributed storage cluster nodes. ([source](https://rook.io/docs/rook/latest-release/Getting-Started/quickstart/))

### System Administration & Monitoring

- [Cluster Troubleshooting Tools](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/infrastructure-diagnostic-tools/cluster-troubleshooting-tools.md) — Provides administrative client tools and plugins for inspecting the health and troubleshooting the storage orchestrator. ([source](https://rook.github.io/docs/rook/latest-release/Getting-Started/quickstart))
- [Metrics Exporters](https://awesome-repositories.com/f/system-administration-monitoring/metrics-exporters.md) — Exposes internal storage health data and performance metrics via a standard interface for external monitoring.
- [Storage Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/storage-monitoring.md) — Provides tools for tracking and visualizing storage capacity, usage statistics, and health metrics. ([source](https://rook.io/docs/rook/latest-release/Getting-Started/quickstart/))
