Feature #46501
Feature #40907: mgr/dashboard: REST API improvements
mgr/dashboard: evaluate FastAPI
Status:
New
Priority:
Normal
Assignee:
-
Category:
General - Back-end
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:
Description
This recent framework, FastAPI, could well suit all the needs we have for Ceph API:
- Typed (Python hints from Pydantic)
- OpenAPI spec generation from Python type hints.
- Lightweight.
- Fully asynchronous (ASGI), vs. Synchronous Cherrypy (WSGI). It nativelly supports Websockets too.
- Similar syntax to our custom implementation (Flask-like).
- Most distros don't package it or its major dependencies (Pydantic, Starlette).
- A containerized deployment could work, but that would first require to change the way of interacting between ceph-mgr and mgr modules (containers IPC/shared memory?).
Related issues
History
#1 Updated by Ernesto Puerta over 3 years ago
- Related to Feature #46423: mgr/dashboard: Python runtime typechecking framework added
#2 Updated by Ernesto Puerta over 3 years ago
- Parent task set to #40907
#3 Updated by Ernesto Puerta almost 3 years ago
- Project changed from mgr to Dashboard
- Category changed from 146 to General - Back-end