Overview
The K8s Scheduler implements a sophisticated multi-tenancy model that supports white-label clients, organizations, teams, and individual users with role-based access control at each level.Hierarchy Structure
Tenancy Levels
Platform Level
The top-level instance of K8s Scheduler that hosts all clients and organizations.Client Level (Optional)
White-label clients enable you to provide branded experiences to different customers:- Custom domains - Each client can have their own domain
- Custom branding - Logo, colors, and styling per client
- Billing plans - Client-specific subscription tiers
- Isolation - Clients cannot see each other’s data
- SaaS providers offering white-label deployment platforms
- Managed service providers serving multiple enterprise customers
- Platform companies with multiple product brands
Organization Level
Organizations are the primary tenant unit:- Owned by users - Each organization has an owner
- Contains teams - Organizations can create multiple teams
- Billing entity - Subscriptions are tied to organizations
- Resource limits - Deployment and team limits based on subscription tier
Team Level
Teams provide granular access control within organizations:- Project isolation - Deployments are scoped to teams
- Member management - Add/remove members with specific roles
- Invitation system - Email-based invites with role assignment
- Template sharing - Team-level templates visible to all members
Access Patterns
With White-Label Client
Direct Organization Access
Data Isolation
Database Level
All data is filtered by client and organization context:Kubernetes Level
Each user gets isolated namespaces:Namespace naming follows the pattern
sandbox-{userId} by default. This can be configured via the KUBERNETES_NAMESPACE environment variable.Network Level
NetworkPolicies enforce isolation between tenants:Multi-Tenancy Features
Tenant Visibility
What can users see?
What can users see?
- Their own organizations (where they are members)
- Teams they belong to
- Deployments within their teams
- Templates shared at their visibility level
- Secrets they have created or have access to
What can organization admins see?
What can organization admins see?
- All teams in their organization
- All members across teams
- Organization-level templates
- Organization billing and subscription details
What can team admins see?
What can team admins see?
- All team members
- All team deployments
- Team-level templates
- Team invitations and pending members
Resource Quotas
Subscription tiers control resource limits:| Feature | Free | Business | Enterprise |
|---|---|---|---|
| Deployments | 1 | 5 | Unlimited |
| Team Members | 1 | 10 | Unlimited |
| Templates | System only | + Custom | + Org-wide |
| Network Isolation | Shared | Namespace | Dedicated |
| Support | Community | Dedicated |
Tier limits are enforced at the API level before resources are created. Exceeding limits returns a
403 Forbidden response.Creating Organizations
Organizations are automatically created when a user first signs up:Creating Teams
Organization admins can create teams:Managing Team Members
Inviting Members
Team admins can invite users via email:Invited users receive an email with a signup link. Once they authenticate, they’re automatically added to the team.
Changing Roles
Update a member’s role:Removing Members
White-Label Configuration
Creating a Client
Platform administrators can create white-label clients:Client-Specific Routing
The server identifies clients by domain:Best Practices
Use Teams for Projects
Create separate teams for different projects or applications to maintain clear boundaries and access control.
Assign Appropriate Roles
Follow the principle of least privilege. Grant users only the permissions they need.
Regular Audits
Periodically review team memberships and remove inactive users to maintain security.
Document Team Purpose
Use team descriptions to clarify the purpose and scope of each team for new members.
Related Documentation
RBAC
Learn about role-based access control and permissions
Templates
Understand template visibility and sharing
API - Organizations
Organization and team management API reference
Configuration
Environment variables and configuration options