Flagger is a progressive delivery Kubernetes operator

Flagger is a progressive delivery tool that automates the release process for applications running on Kubernetes. It reduces the risk of introducing a new software version in production by gradually shifting traffic to the new version while measuring metrics and running conformance tests.

Flagger implements several deployment strategies (Canary releases, A/B testing, Blue/Green mirroring) using a service mesh (App Mesh, Istio, Linkerd) or an ingress controller (Contour, Gloo, NGINX, Skipper, Traefik) for traffic routing. For release analysis, Flagger can query Prometheus, Datadog, New Relic, CloudWatch or Graphite and for alerting it uses Slack, MS Teams, Discord and Rocket.

Flagger overview diagram

Flagger can be configured with Kubernetes custom resources and is compatible with any CI/CD solutions made for Kubernetes. Since Flagger is declarative and reacts to Kubernetes events, it can be used in GitOps pipelines together with tools like Flux, JenkinsX, Carvel, Argo, etc.

Flagger is a Cloud Native Computing Foundation project and part of Flux family of GitOps tools.

Getting started

To get started with Flagger, choose one of the supported routing providers and install Flagger with Helm or Kustomize.

After installing Flagger, you can follow one of these tutorials to get started:

Service mesh tutorials

Ingress controller tutorials

Hands-on GitOps workshops