beaker-project / beaker

Hardware integration testing system and lab automation for Fedora and RHEL
http://beaker-project.org/
GNU General Public License v2.0
80 stars 42 forks source link

[RFE] Create OpenAPI Spec #193

Open StykMartin opened 11 months ago

StykMartin commented 11 months ago

Is your feature request related to a problem? Please describe. The Beaker Server and Beaker Labcontroller API are not properly documented.

Describe the solution you'd like Create OpenAPI Spec for Beaker Server and Beaker Labcontroller. This will be the source of truth for implementation.

Endpoints currently exposed via XMLRPC and/or TurboGears will be removed as part of the transition to Python 3. There is no need to document them at all. They will be reintroduced as REST (we will need them to paint the UI, communicate with client, etc..)

Describe alternatives you've considered Avoid writing documentation, but I felt like people might not like it.

StykMartin commented 11 months ago

Based on the discussion we had, I think you might want to take a look at this @p3ck

mdujava commented 11 months ago

Some generated documentation can be accessed on http://lab-controller-fqdn:8000/server. It would be ideal to get openapi spec generated from xmlrpc/turbogears directly, but few minutes searching on web did not reveal any out-of-the-box tool for it.

StykMartin commented 11 months ago

The goal is to get rid of XMLRPC and Turbogears, so tooling is not necessary in this case.

StykMartin commented 11 months ago

But good point @mdujava, I updated the description to make that clear.

mdujava commented 11 months ago

Yeah, I would say when creating new REST api that would preserve functionality, would be easier and less problems would be introduced when existing API would be somehow defined (eg. list of all methods/endpoints).