Skip to main content
Version: Deploy Next

GitOps Plugin

The GitOps Plugin is a bundled plugin in the Deploy task engine that enables Git-based automation for managing Configuration Items (CIs). It provides configuration types that connect Deploy to Git repositories, allowing you to import and export configuration, infrastructure, environment, and application definitions as YAML files.

For a complete walkthrough of GitOps workflows, see GitOps in Deploy.

Features​

The GitOps Plugin provides the following features:

  • Establish secure connections to Git repositories using personal access token (PAT) authentication from your Git provider such as GitHub, GitLab, Azure DevOps, or Bitbucket
  • Verify Git repository connectivity using Check Connection
  • Import configuration, infrastructure, environment, and application CIs from YAML files in Git into Deploy
  • Export configuration, infrastructure, environment, and application CIs from Deploy to YAML files in Git
  • Export and import applications with file artifacts (file.File and file.Folder) across all artifact storage backends
  • Apply directory-level permissions during import using kind: Permissions
  • Keep secret values out of Git. Exported YAML contains placeholders, while actual values are stored in the Deploy database. Admin users can optionally include secrets in an export
  • Honor the Export as Secret flag on sensitive external plugin properties, such as certificates and keys
  • Manage GitOps CIs from the dedicated GitOps menu under Operations in the left navigation pane

Configuration Types​

The plugin introduces the following configuration item types:

git.GitSource​

Defines the connection to a Git repository.

PropertyRequiredDescription
nameYesName of the CI
urlYesGit repository URL. Currently, only HTTPS is supported
usernameYesGit account username
passwordYesPersonal Access Token (PAT) generated from your Git provider. Both classic and fine-grained tokens are supported

git.GitDirectory​

A Git Directory is a CI in Deploy that maps a folder in Git by defining its branch and repository path. It must be created under a git.GitSource. Using a Git Directory, you can import and export CIs as YAML.

PropertyRequiredDescription
nameYesName of the CI
branchYesGit branch to use
gitRepositoryPathYesPath to the folder within the Git repository
infrastructureSourceDirNoSource directory under Infrastructure (for export). For example, Infrastructure/dev
environmentSourceDirNoSource directory under Environments (for export). For example, Environments/dev