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