Tenant Synchronization

What It Is

Tenant synchronization is Jetstack's implementation package export, preview, merge, and apply system. It moves implementation state between tenants or environments while preserving structure and providing reviewable previews.

Why It Matters

This is the platform's main lifecycle mechanism for:

  • promoting implementation changes
  • comparing tenant states
  • reconciling differences
  • reviewing merge conflicts

What Is Included

The sync manager models dependencies across implementation surfaces such as:

  • modules
  • views
  • queries
  • roles
  • groups
  • roots
  • canvases
  • automations
  • email templates
  • scheduler definitions
  • legal grounds
  • purposes

It also handles structured payloads such as:

  • object actions
  • top navigation
  • custom query parameter definitions
  • view actions

What Is Not The Same As Sync

Tenant synchronization is not a general-purpose full tenant snapshot of all runtime behavior. Some state is intentionally excluded, including some operator-managed runtime state like folder state or tag state.

Preview And Merge Model

Sync supports:

  • package export
  • preview
  • deployment-style apply
  • merge-oriented apply
  • conflict resolution through selectors
flowchart LR
    A[Export package] --> B[Load preview]
    B --> C{Conflicts?}
    C -- No --> D[Apply]
    C -- Yes --> E[Resolve merge selectors]
    E --> D

Why Merge Strategy Matters

Merge mode changes how the platform interprets differences between source and target. This is one of the highest-impact operator choices in rollout workflows because it determines whether the target tenant is treated like:

  • a deployment target
  • a merge participant

Best Practices

  • always review the preview summary
  • document conflict resolutions when they reflect intentional business choices
  • keep sync activity aligned with version publication
  • avoid treating sync as a substitute for release discipline