Skip to content

Allow for retrieval of know--to the orchestrator--agents and execution environments

Current situation

There is no way to get the list of available execution environments.

Cf https://gitlab.com/opentestfactory/tools/-/issues/11

Desired outcome

A endpoint to query this information.

Analysis

The observer is probably the good place to host this. Channel providers should publish the set of tags they can handle regularly, as we are eventbus-based, not eventstore-based..

We need, per channel, the offered tags, and a status (busy/idle). The consumers of those notifications will manage their own 'last seen' state.

GET /channels
{
  "apiVersion": "v1",
  "kind": "Status",
  "metadata": {},
  "status": "Success",
  "message": "Available channels",
  "reason": "OK",
  "details": {
    "channelproviders": {
      "ae213...": { ... },
      "99123...": { ... }
    },
    "items": [
      {
        "tags": ["windows", "robotframework", "foobar" ],
        "lastSeen": "2022-03-29...",
        "status": "busy",
        "channelprovider_id": "ae123...",
        "namespace": "default"
      },
      {
        "tags": ["windows", "robotframework", "foobar" ],
        "lastSeen": "2022-03-29...",
        "status": "idle",
        "channelprovider_id": "99123...",
        "namespace": "foobar"
      },
      ...
    ],
   }
Edited by Martin Lafaix