mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-17 01:54:38 -06:00
Development/Test Deployment for a multi-tenacy setup
The docker compose files in this directory are derived from the opencloud-compose project and can be used to deploy a Development or Testing environment for a multi-tenancy setup of OpenCloud. It consists of the following services:
provisioning: The OpenCloud graph service deployed in a standalone mode. It is configured to provide the libregraph education API for managing tenants and users. Theldap-serverservice (see below) is used to store the tenants and users.ldap-server: An OpenLDAP server that is used by the provisioning service to store tenants and users. Used by the OpenCloud services as the user directory (for looking up users and searching for sharees).keycloak: The OpenID Connect Provider used for authenticating users. The pre-loaded realm is configured to addtenantidclaim into the identity and access tokens. It's also currently consuming user from theldap-server(this federation will likely go away in the future and is optional for future configurations).opencloud: The OpenCloud configured so that is hides users from different tenants from each other.
To deploy the setup, run:
docker compose -f docker-compose.yml -f keycloak.yml -f ldap-server.yml -f traefik.yml up
Once deployed you can use the initialize_users.go to create a couple of example
tenants and some users in each tenant:
- Tenant
Famous Coderswith usersdennisandgrace - Tenant
Scientistswith userseinsteinandmarie
The passwords for the users is set to demo in keycloak
> go run initialize_users.go
Created tenant: Famous Coders with id fc58e19a-3a2a-4afc-90ec-8f94986db340
Created user: Dennis Ritchie with id ee1e14e7-b00b-4eec-8b03-a6bf0e29c77c
Created user: Grace Hopper with id a29f3afd-e4a3-4552-91e8-cc99e26bffce
Created tenant: Scientists with id 18406c53-e2d6-4e83-98b6-a55880eef195
Created user: Albert Einstein with id 12023d37-d6ce-4f19-a318-b70866f265ba
Created user: Marie Curie with id 30c3c825-c37d-4e85-8195-0142e4884872
Setting password for user: grace
Setting password for user: marie
Setting password for user: dennis
Setting password for user: einstein