Tasks #47066
Updated by Ernesto Puerta over 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.