TestbedOS Server API

The root of the REST API for the server can be found at /api/ on the servers url, the default is localhost:3355.

Ideally we would have OpenAPI schema generation, this is a TODO so the following is a brief introduction to the API endpoints. The POST/PUT variants accept a JSON payload to control specific actions on the server.

/api/config:

which is for editing the kvm-compose-config. This supports GET and POST, to get and update respectively.

/api/deployments:

which is for controlling the testbed deployments. This supports GET and POST, to get and update the deployments respectively.

/api/deployments/:name:

which is for controlling specific testbed deployments. The :name will be the name of the deployment. This supports GET, DELETE and PUT, to get, delete and update the specific deployment respectively.

/api/deployments/:name/action:

which is for applying commands to testbed deployments. This supports POST, to apply a specific testbed action such as generate-artefacts.

/api/deployments/:name/state:

which is for interacting with an existing state for the deployment. This supports GET, to get the state json file for the deployment.