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.Fileandfile.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.
| Property | Required | Description |
|---|---|---|
name | Yes | Name of the CI |
url | Yes | Git repository URL. Currently, only HTTPS is supported |
username | Yes | Git account username |
password | Yes | Personal 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.
| Property | Required | Description |
|---|---|---|
name | Yes | Name of the CI |
branch | Yes | Git branch to use |
gitRepositoryPath | Yes | Path to the folder within the Git repository |
infrastructureSourceDir | No | Source directory under Infrastructure (for export). For example, Infrastructure/dev |
environmentSourceDir | No | Source directory under Environments (for export). For example, Environments/dev |