opencloud icon indicating copy to clipboard operation
opencloud copied to clipboard

Re-vive the existing Education API

Open db-ot opened this issue 2 months ago • 2 comments

Userstory

As a developer, I want the existing Education API implementation to be revived and run as a separate service so that it can be maintained and scaled independently.

Description

The current Education API implementation should be reactivated and deployed as its own standalone service. This separation improves maintainability, allows independent scaling, and prepares the service for future extensions.

Acceptance Criteria

  • Existing Education API implementation is restored and functional
  • Education API runs as a separate service
  • Documentation updated on how to run and access the service
  • Create docker compose ( OC DEV Tools )

Information Details

here are information about API and provisioning etc.

https://github.com/opencloud-eu/opencloud/blob/main/docs/adr/0002-use-education-api-for-multitenant-user-provisioning.md

In order to make the API easier to understand we should probably make a few attributes optional that only have a meaning in the School Context:

  • Schools/Tenants: We likely won't need the schoolNumber attribute, which in our current implemenation is required . In MS Graph itself it optional.
  • EducationUsers:
    • The primaryRole attribute is currently required, we don't need that for the MultiTenant use case.
    • The identities attribute is supposed to contain the sub and issuer claim of the user. We/The provider might not even know those when users are provisioned. Those should be optional as well. (At least when an externalId (https://github.com/opencloud-eu/opencloud/issues/1599) is set in the request)

db-ot avatar Oct 02 '25 10:10 db-ot

https://github.com/opencloud-eu/opencloud-charts/pull/69#issue-3410757290

micbar avatar Oct 09 '25 09:10 micbar

@dragonchaser @fschade

Here's a PR with a compose setup deploying OpenCloud, keycloak, OpenLDAP and the provisioning API for testing and development purposes:

https://github.com/opencloud-eu/opencloud/pull/1637

rhafer avatar Oct 14 '25 11:10 rhafer