Project

General

Profile

Documentation #36376

Updated by Ernesto Puerta over 5 years ago

This is a try to provide a comprehensive graphical depiction of the current architecture of the ceph-dashboard, including flows to/from other components. 

 Main goals are: 
 * Exposing the interaction with Ceph-Mgr and consumed API calls. No other than the exposed calls are consumed by Ceph-dashboard. 
 * Exposing the separation seperation of concerns: back-end layer running in cluster vs. front-end layer running in client-side browser. 
 * Enumerating (most of) the endpoints both at back-end (REST API) and front-end. 
 * Exposing interactions out of the Ceph-Mgr module API: RGW RestClient, auth session storage and Grafana integration. 
 * Serve as a base for non-functional assessments: bottleneck identification, performance and scale test planning, security audits, etc. 
 * Keep consistency with existing Ceph graphical assets (colours, typography, etc., have been taken from Inktank/Ceph branding guidelines). 

 Weak points/possible improvements: 
 * Lacks indication of protocols involved (HTTPS for front-end/back-end and RGW, HTTP for Grafana, Msgr for Ceph). 
 * Front-end becomes excessively redundant (e.g.: host/ -> HostService -> HostListComponent -> /hosts). 

 Open points: 
 * How to maintain this? Currently it's a LucidChart diagram. It can be easily exported to SVG. 
 * It covers HLD, but more detailed info is still missing (Swagger provides a complete description of back-end REST API - can be found at /docs endpoint): Python or Angular (http://tracker.ceph.com/issues/36243). 

 !https://www.lucidchart.com/publicSegments/view/d9e6aec8-d2f7-45e7-aed4-8bc0e13e6edc/image.png!

Back