BARRYBARRY
Documentation

Git integration

Config-as-code and promotion between environments.

The Git integration version-controls your configuration as name-based YAML in a Git repository. It lets you (1) keep a history of your configuration, (2) author a transport entirely in YAML, and (3) deploy configuration from one instance to another through Git — for example, test pulls selected objects from dev.

The database stays the live operational store: runs read their configuration from the database exactly as before. Git is an additive layer on top — it never changes the run path, and it does not block runs.

What is versioned

  • Transports, Connections, Output Formats, Triggers, Alerts.
  • Clients are not versioned — a client-placed connection references its client by name.

Objects are keyed by portable names, so the same YAML moves cleanly between instances even though each instance tracks the object under its own identity.

Enabling

Configure the repository under Settings → Runtime (the Git integration section): provider, repository URL, branch, authentication / credential, an optional path prefix, and the commit author. A Test connection button verifies the repository is reachable before you commit to it. Turn the master switch on and a Git entry appears in the sidebar (Admin-only) — immediately after you save, with no page reload.

The topology is one repository, one branch per environment (e.g. dev, test, prod).

The Git page

The page is organised into tabs:

  • Pending changes — a side-by-side diff of the database versus the branch (rendered with Monaco). Review and commit the selected objects.
  • Secret readiness — exporting requires that every secret is an @kv(...) reference. A connection holding a literal secret is a readiness violation and blocks export until you move it to the vault.
  • Status — the current repository / branch state.
  • Branch graph — a Mermaid gitGraph of the environment branches.
  • Pull from upstream — selectively cherry-pick objects from another branch (e.g. pull a transport from dev into test) with a diff review before they are reconciled into the database by name.
  • Author YAML — write a transport directly in YAML, optionally as a single self-contained document that embeds its connections, output format, and triggers inline.

See also Secrets & Vault, Connections, and Transports.