Multi-tenancy
Available on: Enterprise EditionCloud>= 0.13.0
Multi-tenancy allows you to manage multiple environments (e.g., dev, staging, prod) in a single Kestra instance.
What is multi-tenancy
Multi-tenancy is a software architecture in which a single instance of software serves multiple tenants. You can think of it as running multiple virtual instances in a single physical instance. You can use multi-tenancy to separate resources between business units, teams, or customers.
This feature requires a commercial license.
How does multi-tenancy work in Kestra
Starting from Kestra 0.23, multi-tenancy is enabled by default and required. All resources (such as flows, triggers, executions, RBAC, and more) are isolated by the tenant. This means that you can have a flow with the same identifier and the same namespace in multiple tenants at the same time.
Data stored inside the Internal Storage is also isolated by tenants.
End-users can use the tenant selection dropdown menu from the UI to see tenants they have access to. It allows users to switch between tenants easily. Each UI page also includes the tenant ID in the URL (e.g., https://demo.kestra.io/ui/yourTenantId/executions/namespace/flow/executionId
.)
Most of API endpoints also include the tenant identifier. The exception to that are instance-level endpoints such as /configs
, /license-info
or /banners
that require a Superadmin access.
For example, the URL of the API operation to list flows of the products
namespace is /api/v1/{your_tenant_id}/flows/products
. You can check the Enterprise Edition API Guide for more information.
Note that tenants must be created upfront, and a user needs to be granted access to use a specific tenant.
Was this page helpful?