Argo CD: Three Absorbed Engineers and the Default Engine of Kubernetes Delivery
Built inside Intuit after it silently absorbed Applatix, Argo CD turned a multi-cluster management gap into the de facto GitOps standard for Kubernetes.
Sources
- argoproj/argo-cd repository
- First commit a67038ae2e — 'Initial project structure' (2018-02-15)
- Why We Created the Argo Project — Hong Wang, Akuity
- Intuit: Welcome Applatix to the Intuit Team (2018-01-29)
- CNCF announces Argo has graduated (2022-12-06)
- CNCF project page — Argo (incubating 2020-03-26, graduated 2022-12-06)
- TechCrunch: Akuity raises $20M (2022-05-16)
- Octopus Deploy acquires Codefresh (2024-02-27)
- PR #8621: remove ksonnet from codebase (2022-03-02)
- GHSA-r642-gv9p-2wjj / CVE-2022-29165 — JWT trust with anonymous access
- Argo maintainers roster (argoproj/argoproj)
- Ada Logics: Argo fuzzing security audit 2022
- CNCF 2025 Argo CD End User Survey (2025-07-24)
- argoproj/applicationset (archived; merged into Argo CD)
Every GitOps tool has a founding myth. Argo CD's is unusually well-documented, because its authors wrote it down, committed it, and kept the receipts. It starts with a startup that bet on the wrong orchestrator, corrected course to Kubernetes, got quietly absorbed into a tax-software company, and turned the acquirer's internal pain into the delivery layer that the 2025 CNCF End User Survey now finds running in nearly 60% of Kubernetes clusters used for application delivery.
The Origin: A Wrong Bet, a Pivot, and a Silent Absorption
Applatix, 2016 — the Mesosphere mistake
Hong Wang, Jesse Suen, and Alexander Matyushentsev were founding engineers at Applatix, a startup building what CEO-to-be Hong Wang later described as "a full DevOps solution — think better-than-Jenkins experience but with containers and on a public cloud." Their first container-orchestrator bet was Mesosphere, not Kubernetes. Wang's own account is blunt: "We started with Mesosphere and had so many issues with it that when we learned about Kubernetes we knew that our solution had to be Kubernetes-native."
The Kubernetes gap they picked: workflows. Kubernetes had no workflow primitive — the community had discussed
one and shelved it as too complex (artifact passing, DAGs, data handling). Applatix open-sourced its answer,
Argo Workflows, in 2017. The GitHub repository argoproj/argo
(now argoproj/argo-workflows) was created on ,
and the first commit in the history is unambiguous:
# Deepest page of argoproj/argo-workflows commit history (page 69 of 69):
$ gh api "repos/argoproj/argo-workflows/commits?sha=main&per_page=100&page=69"
DATE SHA AUTHOR MESSAGE
2017-10-17 3ed1dfeb07 Jesse Suen Initial project structure. CLI and Workflow CRD skeleton
2017-10-17 37b7de8008 Jesse Suen Add apiserver skeleton
2017-10-18 74baac7175 Jesse Suen Introduce Argo errors package
2017-10-19 8137021adc Jesse Suen Reorganize all CLIs into a separate dir...
2017-10-21 67f8353a04 Jesse Suen Initial workflow operator logic
...
# Author email domain on every one of those commits: applatix.com
That single domain — jesse@applatix.com — is the archaeology in one line. Argo did not
start as an Intuit project or a community skunkworks. It was a startup's product bet, open-sourced to iterate
faster, sixteen days after the first commit.
Then came the absorption. Intuit met the team at KubeCon 2017 while looking for help moving its product portfolio onto Kubernetes, and on announced the acquisition in a blog post titled "Welcome Applatix to the Intuit Team." The trade press characterized it accurately as a silent absorption: Applatix as a company effectively evaporated; its three-engineer kernel stayed. What did not evaporate was the problem Intuit had just bought the answer to — hundreds of Kubernetes clusters, thousands of namespaces, and no open-source tool in 2018 that could manage multi-cluster deployment from a single control plane.
February 2018 — Argo CD is born at Intuit
The repository argoproj/argo-cd was created on
. Six days later the first commit landed:
The paper trail: commit a67038ae2e — "Initial project structure" —
authored by Jesse Suen on
(email domain: intuit.com). The very next day, PR #1 from
Alexander Matyushentsev added the Application CRD definition. PR #2 implemented the
application controller boilerplate; within ten days the pair had gRPC stubs, cluster CRUD, a repository
service, and — the detail that dates the whole design — a ksonnet comparator
("Add an implementation for the ksonnet comparator", 797c88b3a6, February 27, 2018).
The founding bet nobody talks about: Argo CD's rendering engine was built around ksonnet, Heptio's Kubernetes configuration framework. ksonnet was archived in — but the code that depended on it stayed in Argo CD for another three years, until PR #8621 ripped it out on March 2, 2022. The project that now defines "multi-tool rendering" for Kubernetes started life as a single-format comparator for a format that was about to die.
Version 0.1.0 shipped on — under five weeks from first commit to first release. v1.0.0 followed on .
The Timeline: From Side Project to Graduated Standard
- 2016 — Applatix founded around a containerized DevOps platform. First orchestrator bet: Mesosphere. It fails badly enough that the team re-platforms to Kubernetes before writing the product that matters.
- 2017-08-21 / 2017-10-17 —
argoproj/argorepo created; first Argo Workflows commit3ed1dfeb07by Jesse Suen (applatix.com). Argo Workflows open-sourced as a container-native workflow engine for Kubernetes. - 2018-01-29 — Intuit announces the Applatix acquisition. The startup disappears; its three engineers surface inside Intuit with a mandate to move a Fortune-1000 product portfolio onto Kubernetes.
- 2018-02-09 / 2018-02-15 —
argoproj/argo-cdrepo created; first commita67038ae2e("Initial project structure") by Jesse Suen (intuit.com). PR #1 (Alexander Matyushentsev) adds the Application CRD the next day. - 2018-03-13 — v0.1.0 released, five weeks after the first commit. The first comparator is ksonnet-only; Helm and Kustomize are later additions.
- 2019-05-16 — v1.0.0. Argo CD graduates from Intuit's internal tool to a production-stamped 1.0 with a UI, an API server, and the application controller triad that still defines its architecture.
- 2019-09-27 — The reconciliation core is extracted into
argoproj/gitops-engine("Democratizing GitOps"), intended as a shared library so other CD tools could build on Argo's diff logic. It never attracts an outside ecosystem and is eventually archived — an honest monument to an abstraction that nobody else wanted. - 2020-03-26 — The Argo project (Workflows, CD, Rollouts, Events) accepted into CNCF Incubating. Governance moves from Intuit's de facto stewardship to a foundation.
- 2020-05-05 — Jesse Suen pushes the first ApplicationSet commits ("Initial ApplicationSet examples"). The multi-cluster/monorepo generator problem gets its own repo, with Red Hat (Jonathan West, Chetan Banavikalmutt), Omer Kahani, and Devan Goodwin contributing within weeks.
- 2020-12-09 — v1.8.0 introduces controller sharding: the application controller finally scales horizontally, one instance managing thousands of applications across hundreds of clusters. This is the release that makes Argo CD a fleet tool instead of a team tool.
- 2021-04-07 — v2.0.0. ApplicationSet v0.1.0 ships alongside it. Kustomize v3.9.4 and gitops-engine v0.3.1 land in the same release.
- October 2021 — Hong Wang and Jesse Suen leave Intuit and found Akuity, the commercial company for Argo. The project's founders formally separate from its original corporate home.
- 2022-02-07 → 2022-03-24 — The security reckoning begins. CVE-2022-24348 (path traversal, high) is followed by three repo-server advisories on March 24 — CVE-2022-24730, CVE-2022-24731, and the critical CVE-2022-24768 (admin privilege escalation via improper access control). The repo-server, Argo CD's manifest-rendering workhorse, becomes the project's most audited component.
- 2022-03-02 — PR #8621 removes ksonnet from the codebase. The original rendering engine is finally dead, three years after ksonnet itself was archived.
- 2022-03-06 — v2.3.0 merges the ApplicationSet controller into core Argo CD (the standalone repo is archived). Multi-cluster generation stops being an add-on and becomes the product.
- 2022-04-04 — Alexander Matyushentsev joins Akuity as Chief Architect. All three Applatix founders are back on the same payroll — but Akuity's, not Intuit's.
- 2022-05-16 — Akuity announces a $20M Series A led by Lead Edge Capital and Decibel Partners.
- 2022-05-24 → 2022-07-13 — CVE-2022-29165 (critical): with anonymous access enabled, Argo CD blindly trusts crafted JWT claims — any user could impersonate admin (patched in 2.3.4/2.2.9/2.1.15). June 21 brings a four-advisory batch (CVE-2022-31034/31035/31036/31016, including a critical external-URLs XSS), and July 13 adds CVE-2022-1025 (high, admin escalation). The response: a professional fuzzing audit by Ada Logics — 41 fuzzers across Argo CD, Workflows, Events, Rollouts and gitops-engine, 10 bugs found and fixed, continuous fuzzing via OSS-Fuzz from then on.
- 2022-09-19 — First ArgoCon (Mountain View, CNCF-organized). The project now has its own conference.
- 2022-12-06 — CNCF announces Argo has Graduated — the same maturity tier as Kubernetes and Prometheus, roughly 57 months after the first Workflows commit.
- 2024-02-27 — Octopus Deploy acquires Codefresh, one of the two major commercial Argo companies and a significant maintainer source (Pasha Kostohrys, Dan Garfield, Kostis Kapelonis). Argo's commercial ecosystem consolidates from three vendors toward two.
- 2025-05-06 — v3.0.0: cosign-signed releases and SLSA Level 3 provenance become standard — the supply-chain hardening that a graduated project with a security history is expected to ship.
- 2025-07-24 — CNCF's 2025 Argo CD End User Survey: running in ~60% of Kubernetes clusters used for application delivery, 97% of respondents in production (up from 93% in 2023), NPS 79, and 42% of users managing 500+ applications per instance (up from 15% in 2023).
- 2025-09-04 → 2026-05-13 — The security treadmill keeps turning: CVE-2025-55190 (critical — project API tokens expose repository credentials; patched v3.1.2/v3.0.14/v2.14.16/v2.13.9), then CVE-2026-42880 (critical — Kubernetes secret extraction via ServerSideDiff; patched 3.3.9/3.2.11) and CVE-2026-45737, the same class recurring within weeks. ServerSideDiff, added to make diffs accurate, becomes the attack surface.
- 2026-08-04 — v3.5.0 ships the ApplicationSet UI, closing a request opened in 2021 that had accumulated 189 upvotes — a four-year gap between the community's ask and the merge.
- 2026-09-14 — v3.5.3 (current stable); v3.6.0-rc1 is tagged, with progressive-sync metrics for ApplicationSets. ~24,200 GitHub stars, ~7,900 forks, and a commit log where the top committer is a dependency bot.
Architecture: What the Reconciliation Loop Actually Looks Like
Strip away the UI and Argo CD is three workloads plus a cache, all watching one another. The design that Jesse Suen sketched in February 2018 survives essentially intact — which is either admirable stability or a sign that the fundamental trade-offs were correctly identified at birth:
flowchart LR
subgraph SRC["Git / Helm / Kustomize sources"]
HELM["Helm charts"]
KUST["Kustomize overlays"]
YAML["Plain YAML"]
end
RS["argocd-repo-server\nrender + manifest generation"]
API["argocd-api-server\nUI + gRPC/REST + SSO"]
CTRL["argocd-application-controller\nreconcile loop + diff"]
REDIS["Redis\nephemeral state cache"]
K8S["Kubernetes API\nlive state"]
SRC --> RS
RS --> CTRL
API <--> REDIS
CTRL <--> REDIS
API <--> CTRL
CTRL <--> K8S
- The repo-server is the security story. Nearly every severe advisory in the project's history — the 2022 path traversals, symlink leaks, the 2026 ServerSideDiff secret extraction — lives in manifest rendering. The component that must read arbitrary repos and render arbitrary manifests is by construction the attack surface.
- Redis is the load-bearing wall nobody budgets for. The reconciliation cache (and the 2024 CVE-2024-31989 crypto advisory) live here. In HA installs, Redis availability is Argo CD availability.
- The application controller was the bottleneck until v1.8 (December 2020). Sharding fixed horizontal scale; the price was shard-rebalance operational toil that fleet operators still feel today.
Crisis Points: The Three Times Argo CD Almost Broke
1. The ksonnet inheritance (2018–2022)
The project's rendering core was built around a framework that archived in February 2019. For three years Argo CD carried a dead dependency at its center while Helm and Kustomize support accreted around it. The removal (PR #8621, March 2022) was a breaking change hidden inside a maintenance release window — and a lesson in how founding bets outlive the technologies that inspired them.
2. The 2022 security reckoning
Between February and July 2022 the project absorbed eleven published advisories, including four criticals: admin escalation via improper access control (CVE-2022-24768), JWT impersonation under anonymous access (CVE-2022-29165), and external-URL JavaScript injection (CVE-2022-31035). For a project six months from CNCF graduation, this was an existential reputational moment. The durable response wasn't the patches — it was institutionalizing fuzzing: Ada Logics' audit put 41 fuzzers into OSS-Fuzz continuous integration, and the project's security.md, security advisories pipeline, and 2025's SLSA L3 signed releases all trace back to this year.
3. ServerSideDiff and the 2026 secret-extraction class
Server-side diffing was added to make Argo CD's diffs truthful for CRDs with defaulting webhooks — the controller asks the live cluster what the object would look like instead of guessing. But that means asking the API server to render objects that may contain secrets, and in May 2026 CVE-2026-42880 showed users with read access could extract Kubernetes secrets through it, with CVE-2026-45737 extending the same class via sensitive annotations. The lesson is structural: every feature that increases diff fidelity also increases what the API surface can be coerced to return.
Community Engine: Who Actually Built It
The contributor data tells a story that the marketing copy doesn't. The top committer in Argo CD's history is dependabot (1,876 commits) — dependency automation outworks every human. The humans beneath it map directly onto the corporate history:
CONTRIBUTIONS LOGIN AFFILIATION (from the Argo maintainers roster)
711 crenshaw-dev Intuit (Michael Crenshaw — Argo CD Lead)
486 alexmt Akuity (Alexander Matyushentsev — co-creator)
397 jessesuen Akuity (Jesse Suen — co-creator)
279 jannfis Red Hat (Jann Fischer)
273 alexec Intuit (Alex Collins)
162 pasha-codefresh Octopus Deploy (ex-Codefresh)
138 agaudreault Intuit
134 blakepettersson independent
100 leoluz Akuity
96 mayzhang2000 Intuit
The maintainers roster (82 listed maintainers across the four Argo projects) reads like a corporate atlas: Intuit remains the single largest block (the Argo CD lead, Michael Crenshaw, is an Intuit engineer — the project's top corporate sponsor never left), Akuity holds the co-creators and the CD lead mantle alongside Intuit, Red Hat (three approvers), Octopus Deploy (four maintainers post-Codefresh), plus Adobe, Databricks, Amadeus, GetYourGuide, Pipekit, Verkada, Hyundai Autoever, and Sage Intacct. That is what a healthy graduated CNCF project looks like: no single company can kill it, and no single company can steer it alone — but note that every one of those companies is steering because Argo sits in their revenue path, not out of charity.
The founder migration is the quiet governance story. Applatix → Intuit → Akuity: the people who created the project left the company that hosts its largest maintainer block and built a competitor-adjacent steward. Meanwhile the two big commercial Argo platforms collapsed into one when Octopus swallowed Codefresh in February 2024 — with Codefresh's maintainers crossing over intact. The ecosystem consolidated exactly the way VC-backed open-core ecosystems do: quietly, in a press release, with the maintainers' commit emails changing domain and nothing else.
Current Trajectory: The Verdict
- The numbers are unambiguous. ~60% of application-delivery clusters in the 2025 CNCF survey, 97% production use, NPS 79, 42% of installs managing 500+ applications (15% in 2023), 25% connecting to 20+ clusters. Argo CD is not "a" GitOps tool; it is the default one.
- The security tax is permanent. Three criticals in 2025–2026 alone, with the ServerSideDiff class recurring. Budget for the upgrade cadence: the project patches fast (v3.5.3, September 2026), but you must actually take the patches, and upgrade-skipping installations are the ones in the incident reports.
- UI debt is real but being paid down. The ApplicationSet UI shipped in v3.5.0 (August 2026), four years after the request. The pattern is consistent: engine features ship fast, human-facing surfaces ship late.
- Watch where the founders' energy goes. Akuity's newest bet, Kargo (July 2022, ~3,700 stars, Apache-2.0, Akuity-stewarded, not CNCF), is a promotion-orchestration layer explicitly designed to sit on top of Argo CD. When the co-creators start building the thing that fixes Argo CD's workflow gaps externally, read it as a roadmap statement: reconciliation is table stakes, promotion is the frontier.
- gitops-engine's archive is the honest footnote. The 2019 attempt to give away Argo's diff engine found no takers, and the abstraction was eventually retired. Not every extraction is a Kubernetes — sometimes the community just wants the whole product.
Who should skip Argo CD: teams not primarily on Kubernetes (its diff engine has no meaningful non-K8s target), teams whose entire delivery story is push-from-CI and who will never accept pull-based reconciliation, and small single-cluster shops where the operational weight of a stateful API server + controller + Redis stack exceeds the drift protection it buys.
Final verdict: Argo CD is what happens when a corporate absorption goes right. Intuit bought a team, gave it a real problem at real scale, and eight years later the side project runs delivery for a majority of the surveyed Kubernetes world under foundation governance — with its founders enriched, its acquirer still its largest maintainer source, and its security treadmill spinning faster than ever. Adopt it as the default with eyes open: the engine is proven, the community is genuinely plural, and the cost of running it is measured in Redis, repo-server audits, and the discipline to patch within the week a critical drops.