Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards.
SOLVED

Multitenancy dispatcher best practice

Avatar

Level 2

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?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

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

AEM BlogsLinkedIn


View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

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

AEM BlogsLinkedIn