| AI2 AI Agent | `oop` | Natural language interface backed by Groq |
| Portal | `oop` | Developer portal: web UI and its backend (login, OEG and AI2 proxy, API clients) |
| Data Lab | `oop` | Dataspace metadata catalogue: piveau hub and search, Virtuoso, Elasticsearch, the Data Lab UI and API. Off by default, see [Data Lab](#data-lab) |
---
@@ -149,6 +150,42 @@ reach the portal or OEG can deploy workloads on the cluster.
---
## Data Lab
`charts/datalab` deploys the [Data Lab](https://labs.etsi.org/rep/oop/code/data-lab) catalogue: piveau
hub-repo and hub-search, one Virtuoso (it also holds the hub's metrics and history), a single-node
Elasticsearch, and the Data Lab UI and API. The UI is the only public entry
(`http://<publicHost>:30083`, NodePort `global.nodePorts.datalab`); it forwards `/api/` to the API.
Users log in through realm `dataspace` of the platform Keycloak (`keycloak.realms.dataspace`), whose client
secrets are generated into `keycloak-credentials`. The Data Lab needs login: with `global.auth.enabled=false`
it is not deployed.
It is off by default. Turning it on takes two settings, because the Data Lab and its realm live in different
subcharts: `datalab.enabled` deploys the Data Lab, `keycloak.realms.dataspace.enabled` creates realm `dataspace`
in Keycloak. Set both: with only the first, nobody can log in to the Data Lab and its pods wait for a realm that
never comes; with only the second, the realm exists with nothing using it.