Skip to main content

Multi-Tenancy Patterns

Scopes are fundamental to implementing multi-tenancy in Mission Control. Here are common patterns for partitioning resources across different tenants, teams, or organizational units.

Environment Isolation​

Create separate Scopes for different environments to prevent accidental changes to production:

apiVersion: mission-control.flanksource.com/v1
kind: Scope
metadata:
name: production-resources
namespace: default
spec:
description: All production resources
targets:
- config:
tagSelector: 'env=production'
- component:
tagSelector: 'env=production'
- playbook:
tagSelector: 'env=production'

Grant developers read-only access to production resources and full access to development resources.

Team-Based Isolation​

Partition resources by team using namespace or agent:

apiVersion: mission-control.flanksource.com/v1
kind: Scope
metadata:
name: platform-team-resources
namespace: default
spec:
description: Resources managed by platform team
targets:
- config:
namespace: platform-team
- component:
namespace: platform-team

Each team gets their own namespace, and Scopes ensure teams can only access their designated resources.

Customer Isolation (SaaS)​

For SaaS scenarios, isolate customer resources by agent or tags:

apiVersion: mission-control.flanksource.com/v1
kind: Scope
metadata:
name: customer-acme-resources
namespace: default
spec:
description: All resources for ACME Corp
targets:
- config:
tagSelector: 'customer=acme'

You tag each customer's resources appropriately, and Scopes ensure customer data isolation.

Multi-Dimensional Isolation​

Combine multiple isolation dimensions (environment + team + region):

apiVersion: mission-control.flanksource.com/v1
kind: Scope
metadata:
name: team-a-prod-west
namespace: default
spec:
description: Team A production resources in west region
targets:
- config:
namespace: team-a
tagSelector: 'env=production,region=west'

This provides granular control for complex organizational structures.

Key Principles:

  • Use consistent tagging strategies across all resources
  • Document your tenant isolation model
  • Start with broader Scopes and refine as needed
  • Combine Scopes with ABAC policies for complete access control