gitops-promoter

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2025 License: Apache-2.0

README

codecov

GitOps Promoter

GitOps Promoter facilitates environment promotion for config managed via GitOps.

Key Features

  • Drift-free promotion process
  • Robust promotion gating system
  • Complete integration with git and SCM tooling
  • No fragile automated changes to user-facing files

The main ideas behind the project are explained in "Space Age GitOps: The Rise of the Humble Pull Request".

A live demo is presented in "Space Age GitOps: Lifting off with Argo Promotions".

The promotion gating system is detailed in "No More Pipelines: Reconciling Environment Promotion Via Commit Statuses".

Example

apiVersion: promoter.argoproj.io/v1alpha1
kind: PromotionStrategy
metadata:
  name: example-promotion-strategy
spec:
  gitRepositoryRef:
    name: example-git-repo
  activeCommitStatuses:
    - key: argocd-app-health
  proposedCommitStatuses:
    - key: security-scan
  environments:
    - branch: environment/dev
    - branch: environment/test
    - branch: environment/prod
      autoMerge: false
      activeCommitStatuses:
      - key: performance-test
      proposedCommitStatuses:
      - key: deployment-freeze

Getting Started

The project is currently experimental, please use with caution. See the docs site for setup instructions.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the promoter v1alpha1 API group +kubebuilder:object:generate=true +groupName=promoter.argoproj.io
Package v1alpha1 contains API Schema definitions for the promoter v1alpha1 API group +kubebuilder:object:generate=true +groupName=promoter.argoproj.io
internal
git
types/argocd
+kubebuilder:skip
+kubebuilder:skip
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL