Camunda cockpit and large amounts of tenants

We want to run several (20) Camunda processes for a large amount of tenants (at least 400). Do we have to make a process archive in the processes.xml for each of the 400 tenants and for each process? In the Camunda cockpit you will get lost if you do it like this. We don’t want to see 8000 process definitions … So we are looking for some kind of “best practices” for handling a large amount of tenants.

Hi @Chris,

I would go with tenant identifiers: https://docs.camunda.org/manual/7.9/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers and shared definitions https://docs.camunda.org/manual/7.9/user-guide/process-engine/multi-tenancy/#shared-definitions-for-all-tenants

Hope this helps, Ingo

Hi, thank you Ingo. Yes, we tried this, but when starting a process via the REST API with “POST /process-definition/key/{key}/tenant-id/{tenant-id}/start” (see https://docs.camunda.org/manual/7.9/reference/rest/process-definition/ ) the server answers that there is no process definition for the combination of process-key / tenant. Starting the process without tenantId works, but then the process runs with TenantId “null” and I cannot find a way how to set the tenant information after starting the process.

Have a look how to start a process instance from a shared process definition in Java: https://docs.camunda.org/manual/7.9/user-guide/process-engine/multi-tenancy/#instantiate-a-shared-definition

I havn’t done it by myself, but if you have this SPI deployed, you should use the rest api with authentication to start a process instance.(https://docs.camunda.org/manual/7.9/reference/rest/overview/authentication/)

It will set the authenticated userid and the engine will get the tenant in the background.

Hope this helps, Ingo