Overview
Multiple Genesis instances can share a single Git repository as the source of truth for their blueprint catalog. Each instance discovers, runs, and contributes changes to the same set of blueprints, while every change still flows through the repository’s normal pull-request review onmain.
This page covers the hub-and-spoke topology: one shared repository, several
Genesis instances (“pods”). For per-field reference on the remote repository
form, glob-based include/exclude selectors, sync recovery toasts, and the
rename flow, see
Blueprint Library and Missions.
When to use this pattern: your organization runs more than one Genesis
instance — for example, one per team, environment, or business unit — and
you want them to share the same authored blueprints rather than maintaining
parallel copies.
What’s supported
GitLab is the most common shared-repo provider for this pattern. GitHub and
Bitbucket follow the same model where supported by Genesis’s managed-repo
connector for that provider.
Propagation model
Genesis can use user-present sync or optional scheduled sync. A merge on the shared repository is pulled into a given Genesis instance when one of these triggers fires on that instance:- At mission-run time (automatic). When a user starts a mission against a remote-backed blueprint, Genesis first attempts a best-effort refresh of the release copy and then runs the mission against the latest synced version. If the refresh fails, the mission can still start from the previously synced commit, and Genesis surfaces a warning that names the release Genesis used and how recently it was last synced. See Sync recovery and reauthorization for the toast behavior.
- Manual sync (on-demand). From Blueprint Library → Remote Repositories, use the Sync action on any configured repository to force an immediate refresh.
- Add or save edits to a repository source (on-demand). Adding a new remote repository, or saving an edit to an existing one, triggers an immediate sync.
- Scheduled managed-source auto-sync (optional). An administrator can opt a source in with Sync automatically on Config → Managed Sources. See Managed source automatic sync for the schedule settings and defaults.
Setup
Step 1 — Prepare the shared repository
- Create or pick a Git project to act as the shared blueprint repository.
- Configure a default-branch protection policy that requires pull requests into the default branch. Direct pushes to the default branch should be blocked.
-
Decide on the folder layout inside the repository. The Genesis convention is:
The top-level folder name (
blueprints) is configurable per Genesis instance via the Blueprint Root field. The per-blueprint subfolder and theblueprint_manifest.yamlfilename are fixed. -
Decide on an authentication mode for each Genesis instance:
- Personal Access Token (PAT) — a shared service-account token, configured once per instance as the Git connection. Simplest to set up.
- Per-user OAuth — each end user authorizes Genesis once. More secure because each pull request is attributed to its real author and revocation is per user, but requires the Git provider’s OAuth application to be registered and the Genesis OAuth callback configured for each instance’s hostname.
Step 2 — Register the repository on each Genesis instance
Repeat these steps on every Genesis instance that should share the repository:- Open Blueprint Library, then Remote Repositories from the header actions menu.
- Choose Add Repository. Genesis opens the Add Remote Repository form.
- Fill in the form:
- Genesis scans the repository at the chosen Release Ref and shows every discovered artifact in the Scanned Artifacts preview grid. Deselect any cards you want to add to the Exclude list before saving.
- Save the form. Genesis performs an initial sync and registers the discovered blueprints in the library on this instance.
Authoring flow
Once instances are registered, day-to-day authoring works like this:- A user with edit access opens a remote-backed blueprint inside Genesis and edits files in a working copy.
- The user clicks Open Pull Request. Genesis pushes a feature branch to the shared repository and opens a pull request.
- A reviewer merges the pull request in the Git provider’s normal review UI.
- On any other Genesis instance, the next sync trigger (mission start, manual sync, or save on the repository source) pulls the merged commit and updates the registered blueprint.
Limitations to plan for
- Per-instance access controls. Role assignments (RBAC) are stored per Genesis instance. When one instance picks up a blueprint authored on another instance, it applies its own default access grants. If you require identical access policy across instances, manage that policy out of band.
- No automatic rebase of in-flight working copies. When the default branch advances while a working copy is open, the working copy does not rebase automatically. Conflicts surface at pull-request merge time through the Git provider’s standard conflict UX.
- Concurrent edits across instances are arbitrated by the Git provider, by design. Two users on two different Genesis instances can open working copies on the same blueprint at the same time. Whichever pull request merges second resolves the conflict the same way any two developers resolve a conflicting pull request. Genesis does not add a separate cross-instance lock.

