Flyte supports multi-tenancy through two concepts: projects and domains. Together, they provide a namespace for all Flyte resources — tasks, workflows, launch plans, and executions.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/flyteorg/flyte/llms.txt
Use this file to discover all available pages before exploring further.
Projects
A project is a logical namespace that groups related workflows, tasks, and resources together. Think of a project as a team or application boundary:recommendation-enginefraud-detectiondata-ingestion
Domains
A domain represents an execution environment within a project. Flyte ships with three default domains:| Domain | Purpose |
|---|---|
development | For iterating on workflows during development. Lower resource quotas, less strict access controls. |
staging | For pre-production validation and integration testing. Mirrors production configuration. |
production | For live, mission-critical workloads. Full resource quotas, stricter controls. |
production domain instead of development.
How they work together
Every Flyte resource — task, workflow, launch plan, execution — is identified by a four-part key:abc123) can exist in both development and production within the same project. Executions in each domain are fully isolated from each other.
Using projects and domains with pyflyte
When registering workflows to a cluster, specify the project and domain with flags:Using projects and domains with FlyteRemote
Set the default project and domain when creating aFlyteRemote object:
Resource isolation
Domains can be configured with different resource quotas, Kubernetes namespaces, and access controls. This means:- A runaway workflow in
developmentcannot consume resources allocated toproduction. - Service accounts and IAM roles can differ between domains, giving
productionaccess to production data sources whiledevelopmentuses sandboxed data. - Notifications and alerting can be scoped to
productiononly, reducing noise from development runs.
Managing projects with flytectl
Create a new project:Dev-to-production workflow
A typical promotion flow in Flyte:Develop in the development domain
Register and run workflows with
--domain development. Iterate quickly, use smaller datasets, and lower resource requests.Validate in the staging domain
Once the workflow looks correct, register it to
staging for integration testing against production-like data and infrastructure.