How Namespaces Work
Every workflow run and step attempt is tagged with anamespaceId. Workers and
clients only see data in their namespace.
Default Namespace
If you don’t specify anamespaceId, the default is "default":
Use Cases
Environment Isolation
Run development, staging, and production in the same database:Multi-Tenancy
Isolate workflows per tenant:Testing
Use separate namespaces for test runs:SQLite Namespaces
Namespaces work the same way with SQLite:Data Visibility
Each namespace is completely isolated:| Namespace | Can See |
|---|---|
production | Only production workflows |
staging | Only staging workflows |
default | Only default workflows |
namespaceId: "production" will never pick up work from the
staging namespace.
Dashboard
The dashboard shows workflows for the namespace configured in your config file. To view a different namespace, update the config and restart the dashboard.Best Practices
- Use environment variables - Don’t hardcode namespace IDs
- Consistent naming - Use clear names like
production,staging,development - One namespace per worker pool - Don’t mix namespaces in the same worker process
- Clean up test namespaces - Periodically remove old test data