Multitenancy dispatcher best practice | Community
Skip to main content
Level 2
August 18, 2025
Solved

Multitenancy dispatcher best practice

  • August 18, 2025
  • 1 reply
  • 433 views

Hello all,
I know in a multi-tenant AEMaaCS setup, each tenant’s code can be included as a Git submodule within a main repository, and dispatcher configurations can be customized per tenant. However, I’m looking for best practices: How can I manage tenant-specific dispatcher configurations (like cache rules, filters, and vhosts) to ensure proper isolation between tenants while maintaining a shared deployment pipeline?

Best answer by SantoshSai

Hi @matthewda19,

You may need custom cache rules, filters, or vhosts for each tenant Since dispatcher configs are shared, the best practice is:

  1. Centralized dispatcher configuration repository:

    • Maintain a dedicated Git repository for all dispatcher configs.

    • Include tenant-specific configs as separate directories or submodules.

  2. Modular dispatcher configs:

    • Store each tenant’s config in separate files and include them via $include.

      /farms { $include "farm-tenantA.any" $include "farm-tenantB.any" $include "farm-common.any" }
  3. Automation & environment management:

    • Use CI/CD scripts to deploy tenant-specific configs automatically.

    • Maintain separate configs for dev, stage, and prod; use environment variables to adjust paths dynamically.

Reference for more details:

1 reply

SantoshSai
Community Advisor
SantoshSaiCommunity AdvisorAccepted solution
Community Advisor
August 18, 2025

Hi @matthewda19,

You may need custom cache rules, filters, or vhosts for each tenant Since dispatcher configs are shared, the best practice is:

  1. Centralized dispatcher configuration repository:

    • Maintain a dedicated Git repository for all dispatcher configs.

    • Include tenant-specific configs as separate directories or submodules.

  2. Modular dispatcher configs:

    • Store each tenant’s config in separate files and include them via $include.

      /farms { $include "farm-tenantA.any" $include "farm-tenantB.any" $include "farm-common.any" }
  3. Automation & environment management:

    • Use CI/CD scripts to deploy tenant-specific configs automatically.

    • Maintain separate configs for dev, stage, and prod; use environment variables to adjust paths dynamically.

Reference for more details:

Santosh Sai