Skip to content

GitOps

Sources: Defining GitOps - GitHub

Technology pattern

The desired state of a GitOps managed system must be:

A system managed by GitOps must have its desired state expressed* declaratively.

  • Desired state is stored in a way that enforces immutability, versioning and retains a complete version history.
  • Can be audited
  • Any version control system can be used, git, Kubernetes are not requirements.

Software agents automatically pull the desired state declarations from the source.

Software agents continuously *observe actual system state and try to apply through reconciliation the desired state.

  • Kubernetes
  • Flux
  • ArgoCD
  • Jenkins
  • GitHub actions
  • Terraform, Nomad
  • Open Container Initiative