Skip to main content

Multi-Tenant Architecture

LusterCMS supports a full multi-tenant SaaS architecture, allowing you to run a platform where multiple organizations share the same infrastructure while maintaining complete data isolation. This enterprise-grade architecture includes per-tenant databases, isolated object storage, and dedicated Kubernetes deployments for themes.

Hierarchy

SUPERADMIN (Platform Owner)

├── Partner Groups (optional grouping)

└── ADMIN / AGENCY (Supervisor/Reseller)

└── ORGANIZATION (End Customer)

├── Users (client_admin, editor, viewer)

└── Isolated Resources:
├── Database (tenant_{slug})
├── S3 Bucket (org-{id}-media)
└── K8s Theme Pod (theme-{id})

Roles

RoleDescriptionAccess
superadminPlatform ownerFull access to everything
admin / agency_adminAgency managing 1..N organizationsOwn org + all descendant clients
client_adminOrganization adminFull access to their own organization
editorContent editorContent management, no settings
viewerRead-only userView only

Access Rule: "Everything Down, Nothing Up" (Golden Rule)

Permissions, data, and credits flow downward only:

🔴 Superadmin                    → sees ALL organizations and data
🟡 Agency Admin (All Orgs view) → sees OWN org + ALL descendant clients
🟢 Regular User → sees ONLY own organization
  • Superadmins can see and manage all organizations and their admins
  • Agency admins can see their agency org + all client organizations they manage
  • Client admins see only their own organization
  • Credits are always scoped per organization and can be allocated downward, but never upward

This means a client_admin can never see data from other organizations, and an agency admin can never access other agencies or platform-level settings.

Key Features

1. Database Isolation

Each organization has its own separate PostgreSQL database.
No data is shared between organizations; superadmins and agency admins can switch contexts for management, but each org's data stays completely isolated.

This ensures:

  • Complete data separation
  • Individual backup/restore capability
  • Performance isolation
  • Compliance with data residency requirements

2. Media Storage Isolation (MinIO S3)

Enterprise-grade media storage with per-organization buckets:

MinIO S3 Storage
├── org-1-media/ # Organization 1's files
│ └── 2024/12/
├── org-2-media/ # Organization 2's files
│ └── 2024/12/
└── system-media/ # Platform-wide assets

Features:

  • Each organization gets isolated bucket: org-{id}-media
  • RBAC-aware file access (agency admins see their scope)
  • Cloudflare CDN for public asset delivery
  • Automatic bucket provisioning during registration

3. Theme Deployment (Kubernetes)

Per-organization theme deployments for complete isolation:

  • Each organization gets a dedicated Kubernetes pod
  • Resource tiers: Starter, Pro, Enterprise
  • Horizontal Pod Autoscaling (Pro/Enterprise)
  • Network policies prevent cross-tenant access
  • Automatic SSL via cert-manager

4. Registration Flow

Two registration paths based on account type:

ORGANIZATION (website or e-commerce):

  1. Customer submits registration form
  2. Selects project type: website or e-commerce
  3. Auto-provisioned immediately:
    • Database created
    • Theme assigned based on project type
    • Demo data seeded (optional, default ON)
    • Theme deployed to Kubernetes
  4. Email verification sent
  5. First-login loader + welcome tour

AGENCY (requires approval):

  1. Customer submits registration + agency survey
  2. Request enters approval queue
  3. Superadmin reviews and approves/rejects
  4. Upon approval: database, theme, K8s deployment
  5. Customer receives welcome email

5. Credit System

Credits flow from top to bottom:

  • Superadmin grants credits to Admins/Agencies
  • Admins set credit limits for their organizations
  • Organizations can also purchase credits directly via Stripe
  • Usage is tracked and limited automatically

Credits are always scoped per organization and can be allocated downward, but never upward.

6. Plugin Management

Each organization can have different plugins enabled based on project_type:

Project TypeDefault Plugins
WebsiteSEO Assistant
E-commerceE-commerce, SEO Assistant

Available plugins:

  • E-Commerce (shop, products, orders)
  • LinkedIn Publisher (scheduling)
  • Calendar (events)
  • Analytics
  • Forms
  • And more...

The sidebar automatically shows only enabled plugins.

7. Organization Context Switching

The admin panel header includes an organization switcher:

  • Superadmins: Can switch to any organization or "All Organizations"
  • Agency Admins: Can switch between their agency org and client organizations
  • Regular users: See only their own organization (no switcher)

8. Custom Domains

Organizations can use custom domains (e.g., shop.yourcompany.com) for white-label access:

  • Automatic SSL provisioning
  • DNS record instructions provided
  • Custom domains per tier limits

9. White-Label Branding

Admins can configure branding for their clients:

  • Custom logo
  • Brand colors
  • Custom app name
  • Footer text
  • Support contact

10. First-Login Experience

New users see a beautiful animated loader on first login:

  • Progress through setup steps
  • Followed by Intro.js welcome tour
  • Highlights key navigation areas