This repository includes the EOEPCA Workspace API component
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
The EOEPCA Workspace API is an HTTP interface that allows workspace teams onboarded to an EOEPCA based platform—as well as other connected EOEPCA Building Blocks—to retrieve detailed information about their individual workspace(s).
For version 2, the API is extended to expose additional status information for all fields defined in the Workspace Kubernetes Custom Resource (Workspace CR) of the respective team. The Workspace API also allows users to manage key workspace characteristics such as connected storage buckets and team members, either via API or (soon) via the UI. See the corresponding [Workspace CRD] (https://eoepca.readthedocs.io/projects/workspace/en/latest/api/workspace/) for the full API contract.
Additionally, the API enables platform operators to create new workspaces or delete existing ones.
💡 EOEPCA Workspace API v2 is currently in development and is scheduled for release in autumn 2025!
For a broader context, refer to the Workspace BB, as the Workspace API serves as a thin layer on top, making workspace details more accessible to end users.
Some specific API details (mainly targeting v1 but still relvant) are outlined in the Wiki Pages
An OpenAPI specification is published as well — see https://workspace-api.apx.develop.eoepca.org/docs
To use the Workspace API, you need to run it against a cluster with the Workspace Building Block installed. The easiest way to get started is by connecting to the eoepca-demo
cluster with your KUBECONFIG
set up accordingly:
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
KUBECONFIG=~/.kube/config-eoepca-demo HARBOR_URL="" HARBOR_ADMIN_USERNAME="" HARBOR_ADMIN_PASSWORD="" PREFIX_FOR_NAME="ws" WORKSPACE_SECRET_NAME="workspace" uvicorn --reload --host=0.0.0.0 --port 5000 --log-level=info --reload workspace_api:app
💡 Relevant VS Code configuration files are included to support a streamlined, opinionated development setup.
For v2, a VUE.js-based UI is included with the API bundle. To build or update the UI distribution folder, run:
cd workspace_ui
npm install
npm run build
💡 The UI bundle is still under active development and disabled by default. Use
?devmode=true
to enable it.
If you're contributing, please base your work on the current main
branch and rebase your changes before opening a pull request.
Apache 2.0 (Apache License Version 2.0, January 2004) from https://www.apache.org/licenses/LICENSE-2.0