This document defines a high level roadmap for Rook development and upcoming releases. The features and themes included in each milestone are optimistic in the sense that many do not have clear owners yet. Community and contributor involvement is vital for successfully implementing all desired items for each release. We hope that the items listed below will inspire further engagement from the community to keep Rook progressing and shipping exciting and valuable features.
Any dates listed below and the specific issues that will ship in a given milestone are subject to change but should give a general idea of what we are planning. We use the milestone feature in Github so look there for the most up-to-date and issue plan.
- Ceph
- Remove support for Ceph Luminous
- Stable release of Ceph-CSI plug-in (feature parity with FlexVolume)
- Connect to an external Ceph cluster #2175
- Mon placement respects failure domains #2603
- User-modifiable configuration at runtime #2470
- Document a safe shutdown procedure #2517
- Support for dynamic provisioning of buckets #1705
- K8s upgrade support based on dynamic PDBs and MDBs #3577
- Upgrades will wait for healthy Ceph state before proceeding with each daemon restart #2889
- Run on arbitrary PVs (e.g. local storage) as an alternative to host path
- OSDs
- EdgeFS
- Graduate CRDs to stable v1 #3702
- Added support for useHostLocalTime option to synchronize time in service pods to host #3627
- Added support for Multi-homing networking to provide better storage backend security isolation #3576
- Allow users to define Kubernetes users to define ServiceType and NodePort via the service CRD spec #3516
- Added mgr pod liveness probes #3492
- Ability to add/remove nodes via EdgeFS cluster CRD #3462
- Support for device full name path spec i.e. /dev/disk/by-id/NAME #3374
- Rolling Upgrade support #2990
- Prevents multiple targets deployment on the same node #3181
- Enhance S3 compatibility support for S3X pods #3169
- Add K8S_NAMESPACE env to EdgeFS containers #3097
- Improved support for ISGW dynamicFetch configuring #3070
- OLM integration #3017
- YugabyteDB
- Create an operator to manage a YugabyteDB cluster. See the design doc
- Custom resource validation, progress, status #1539
- Integration testing improvements
- Support for dynamic provisioning of database #1704 storage types
- Update Rook controllers to build on the controller runtime #1981
- Wildcard support for disk selection spec #1744
- Cassandra
- Ceph
- CockroachDB
- EdgeFS
- Minio
- NFS
- YugabyteDB