GitOps gave us great deployment automation. It left promotion as an afterthought. ⏭️🤨
Radagast the Brown 2026-05-12 19:04:00 +04
Argo CD reconciles desired state from Git. But how does that state actually move from dev to prod?
Teams historically answered this with CI scripts, Argo Workflows DAGs or Argo CD Image Updater. Each works, but none were built for the job.
Argo Workflows is a general-purpose workflow engine. You can build promotion pipelines with it - clone repos, update manifests, push, repeat. But CI engines are synchronous and task-oriented. Promotions are asynchronous and state-oriented. Using Workflows for promotion means building your own bespoke system on an engine designed for batch jobs. It works. It also accumulates drift, snowflake logic and ownership debt over time.
Argo CD Image Updater solves one specific problem: auto-update image tags in Argo CD Applications. It watches registries and writes back to Git. It is purpose-built and simple. But it has no concept of environments, staging, verification gates or rollback policies. It updates images everywhere at once or not at all.

Kargo (v1.0 GA October 2024, now v1.10) fills the gap between these two.🪢
Built by Akuity - the same team behind Argo - Kargo is a continuous promotion platform. Its model: Warehouses discover artifacts (images, Helm charts, Git commits) and package them as Freight. Stages consume Freight in a DAG pipeline with verification gates at each hop. Every promotion writes to Git. Full audit trail. Multi-stage rollout with guardrails.👌

The architecture is agent-based - distributed controllers phone home to a centralized control plane. More secure than hub-and-spoke, more observable than per-cluster setups. A practical middle ground learned from years of running Argo CD at scale.
Kargo is not trivial. The conceptual model (Freight, Warehouses, Stages) takes a session to learn.🤔 Distributed deployments need ServiceAccount management. But the problem - multi-stage promotion without CI pipeline leakage - is real and gets expensive as environments multiply.
The ecosystem now has tools for distinct jobs: Workflows for CI, Image Updater for auto-updates, Argo CD for deployment, Keptn for SLO-based quality validation. Imagine coupling Kargo’s promotion pipeline with Keptn’s quality gates - Keptn validates the release against SLIs in staging and only when it passes does Kargo promote the Freight to production. That is a separation of concerns worth adopting.
Checkout a sample Helm project: https://github.com/akuity/kargo-helm