What is Kargo?
Kargo is an open-source continuous promotion tool for GitOps-based application delivery. It moves changes from one environment to the next using GitOps principles, without bespoke automation or over-leveraging on CI pipelines.
Continuous promotion means moving each new version of your application from one stage to the next — dev to staging to production — under rules you set, partly or fully automated, every time a change is ready to move.
New to the category? Our guide to continuous promotion covers the pattern and how to decide if you need it.
Kargo models promotion as four Kubernetes custom resources. Everything in the UI maps back to one of them.
Warehouse — subscribes to your Git repos, container image registries, and Helm chart repositories. Produces Freight whenever something new appears.
Freight — an immutable, versioned set of artifact references that travels through your pipeline as a single unit.
Stage — a target in your delivery flow. Stages link together to form a promotion pipeline.
Stage — a request to move a specific Freight into a Stage, running the promotion steps you define.
Kargo renders your delivery flow as a pipeline: every Stage, the Freight currently sitting on it, and what is eligible to move next. Promotion stops being an event you reconstruct from CI logs afterwards and becomes something you can watch.
What changes when Kargo Owns Promotion?
Today, promotion logic lives wherever there's room for it: inside CI jobs, shell scripts, manual pull requests, and ad hoc approvals. Kargo treats promotion as its own GitOps workflow and lets teams define promotion workflows declaratively, while promoted desired-state changes remain available to GitOps agents such as Argo CD.
Where promotion logic lives
CI jobs, scripts, manual PRs
Declarative Kargo resources in Git
What moves between stages
Whatever the script pushes
Immutable artifact references
Visibility into each stage
Often manual or tribal
Tracked per Stage in the UI
Approvals and verification
Bolted on, if present
Configurable into the pipline
Relationship to CI and CD
Blurred across both
A distinct layer after CI, before Argo CD
How Kargo works with CI and Argo CD
Kargo doesn’t replace your CI system or your GitOps agent. It sits between them and governs promotion — the decision about which version moves to the next stage, when, and under what rules.
CI builds and tests your artifacts — container images, manifests, and Helm charts — then publishes them.
Kargo governs which artifacts move to the next stage, when they move, and under what rules.
Argo CD — or Flux, or any agent that reconciles from Git — applies the desired state once Kargo promotes a change.
Demo
Watch Kargo in Action
This demo walks through Kargo's pipeline view: every Stage, the Freight currently sitting on it, and what is eligible to move next. See how promotion becomes something you can watch, not an event you reconstruct from CI logs afterward.
Teams running Kargo in production

Kargo at a glance
Current release
See the latest release on GitHub
License
Apache 2.0
First released
First public release: 2023
Maintained by
Akuity, "the team that created Argo CD"
Community
200+ contributors · 3.5M downloads · Discord
Requirements
A Kubernetes cluster, a GitOps agent such as Argo CD or Flux, and a CI pipeline publishing artifacts
Install
Helm chart — see the Kargo Quickstart
Source, issues, roadmap
github.com/akuity/kargo — all public
Get started
Get involved
Resources
Frequently asked questions
Is Kargo open source?
Yes. Kargo is an open-source project for continuous promotion, available under the Apache 2.0 license. An enterprise distribution, Kargo Enterprise, is available through Akuity for teams that need governance, support, and need to promote to deployment targets beyond Kubernetes, such as severless platforms, VMs, or cloud services.
Does Kargo replace Argo CD?
Does Kargo replace CI?
Does Kargo work with Flux?
Is Kargo production-ready?
