OpenAPI OAR
Jump to navigation
Jump to search
Objectif
Il s'agit de créer une REST API suivant la spécification OpenAPI pour le gestionaire de tâches et de ressources OAR. Cette spécification permet de produire et maintenir des services web robustes et bien définier. Par exemple l'orchestrateur de containers Kubernetes dispose d'une API suivant cette spécification https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-specification
Le logiciel OAR dispose déjà d'une Rest API qui servira de base de travail:
- Documentation REST API d'OAR http://oar.imag.fr/docs/latest/user/api.html
- http://oar.imag.fr/oar_3
- Code de la rest api version 3: https://github.com/oar-team/oar3/tree/master/oar/rest_api
Les contraintes technologigues
- https://flask-restx.readthedocs.io/en/latest/index.html (à considérer)
- https://github.com/OpenAPITools/openapi-generator
- https://openapi-generator.tech/
- Python 3
- Python Flask
Plan de travail et indications
- Prise en main de l'approche OpenAPI (modification de l'exemple Petstore et génération de du server)
- Utilisation d'un éditeur de specfication d'OpenAPI (https://github.com/swagger-api/swagger-editor ?)
- Generatoion d'un (mock) server Python Flash via le générateur openapi-generator
- étude problématique d'authentification, utilisation de la méthode HTTP patch
- étude le l'API / choix de Kubernetes