Project

General

Profile

Tasks #47066

Updated by Ernesto Puerta about 3 years ago

The Ceph Dashboard REST API backend has gathered a significant amount of functionality compared to the original @restful@ module. We would like to phase out the restful module post-pacific, so it should be marked as "deprecated" now, pointing to the Ceph Dashboard REST API (to be renamed "Ceph REST API") as its replacement.

A comparison between the "RESTful module endpoints and capabilities":https://docs.ceph.com/en/latest/mgr/restful/#available-methods, and the ones provided by Ceph-Dashboard RESTful API:

|_.RESTful Resource |_.Dashboard API Resource |_.Description |_.Restful Capabilities |_.Dashboard API Capabilities|
| @/config/cluster@ | "@/api/cluster_conf@":https://docs.ceph.com/en/latest/mgr/ceph_api/#clusterconfiguration | Ceph cluster configuration | READ | CRUD |
| @/config/osd@ | "@/api/osd/flags@":https://docs.ceph.com/en/latest/mgr/ceph_api/#get--api-osd-flags | OSD flags | READ-UPDATE | READ-UPDATE |
| @/crush/rule@ | "@/api/crush_rule@":https://docs.ceph.com/en/latest/mgr/ceph_api/#crushrule | CRUSH Rule | READ | CRUD |
| @/mon@ | "@/api/monitor@":https://docs.ceph.com/en/latest/mgr/ceph_api/#monitor | Monitor Config | READ | READ |
| @/osd@ | "@/api/osd@":https://docs.ceph.com/en/latest/mgr/ceph_api/#osd | OSD management | READ | CRUD |
| @/pool@ | "@/api/pool@":https://docs.ceph.com/en/latest/mgr/ceph_api/#pool | Pool management | CRUD | CRUD |
| @/server@ | "@/api/host@":https://docs.ceph.com/en/latest/mgr/ceph_api/#host | Host-Daemon management | READ | CRUD |
| "@/request@":https://docs.ceph.com/en/latest/mgr/restful/#the-request-endpoint | Unsupported (see note below) | Pass-through endpoint | | |

Additionally, Ceph-Dashboard supports:
* *RBD management*: incl. namespaces, snapshots, QoS, trash and mirroring.
* *iSCSI*.
* *RGW management*: incl. daemons, users, buckets, quotas, and some S3 advanced operations (MFA deletions, object locks, ...).
* *CephFS management*: incl. clients, quotas, snapshots, tree operations.
* *NFS exports*
* *Orchestrator management*
* *Other Ceph-related features*: Ceph cluster/audit logs, daemon monitoring/perf-counters.
* *Access management*: multi-user, RBAC, SAML2 SSO, security account policies.
* *OpenAPI 3.0 specification*. OpenAPI specification.

Note on @/request@ endpoint: Dashboard doesn't intentionally support a pass-through endpoint as it's considered not "RESTful":https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm by design (it essentially provides an HTTP gateway to the Ceph CLI). Instead, Ceph-Dashboard API provides a more comprehensive coverage of the Ceph command set by means of RESTful Resources, not requiring a regular access to the CLI.

Back