Flamingo: Integrating Flux and Argo CD for Seamless GitOps on Kubernetes
This article explains how Flamingo, a Flux subsystem for Argo CD, combines the strengths of both tools to provide a modular, extensible GitOps solution for Kubernetes, covering platform‑engineering challenges, GitLab’s adoption of Flux, installation steps, and integration with Weave GitOps.
Flamingo Overview
Flux and Argo CD are popular Kubernetes application deployment tools with different workflows and scalability characteristics. This article demonstrates how users can leverage Flamingo (the Flux subsystem of Argo CD) to obtain the best of both worlds.
In the expanding DevOps and GitOps ecosystem, Flux and Argo CD have emerged as CNCF graduated projects with many enthusiastic users and case studies. However, as organizations grow and adopt diverse technologies, they often need a more generic GitOps solution to meet compliance, infrastructure‑as‑code, and signed OCI image requirements.
Flamingo Introduction
Flamingo is a plug‑and‑play, non‑intrusive component that integrates Flux into Argo CD, delivering a seamless GitOps experience on Kubernetes clusters. It can be added to any Argo CD installation today, and users may extend it with Weave GitOps Assured or Enterprise for additional dashboards, templates, and policy management.
Platform Engineering – Beyond Argo CD
Argo CD provides a strong application‑centric experience but its tightly coupled architecture can limit flexibility in platform engineering. Its UI, user store, and CD model are closely bound, making custom extensions or integrations—such as deploying signed OCI images via Kustomization or managing Terraform resources—challenging.
For example, many cloud‑native platform engineers want to deploy both Kubernetes manifests and Terraform components together, which Argo CD’s single‑application CRD does not natively support. The modular nature of Flux, with separate controllers for Kustomize, Helm, and even Terraform, addresses these gaps.
Developer Platform – Why GitLab Chose Flux
GitLab evaluated several GitOps tools and found Argo CD’s monolithic design and custom API dependencies less suitable for deep integration. Flux’s component‑based design offered better Kubernetes API compatibility, faster value delivery, and stronger community support, leading GitLab to adopt Flux for its GitOps features.
Kubernetes API compatibility: Flux uses standard APIs, simplifying UI integration.
Faster value delivery: Existing features and community backing accelerate delivery to GitLab customers.
How Flux Modularity Overcomes Argo CD Limitations
Flux consists of a set of controllers, each with a focused responsibility, allowing users to customize and extend the system. The modular architecture enables third‑party controllers such as the native Terraform controller (Weave GitOps Terraform Controller) to manage infrastructure‑as‑code under GitOps principles.
Flamingo is presented as a seamless extension that brings Flux capabilities into an existing Argo CD installation without requiring a full migration.
Flamingo: Flux and Argo CD Integration
Flamingo is a direct Argo CD extension that embeds Flux as a subsystem, offering the advantages of both tools with a single configuration and user‑friendly interface. It also supports the Weave GitOps Terraform controller for managing IaC.
For busy professionals already using Argo CD, Flamingo provides a low‑risk path to adopt Flux’s automation while preserving existing workflows.
Developer Platform: Weave GitOps & Flux
Weave GitOps is a free, open‑source dashboard for Flux that gives a comprehensive view of GitOps processes on Kubernetes clusters. It offers UI features for managing repositories, images, Helm releases, alerts, notifications, and policies, and an enterprise edition adds multi‑tenant and pipeline capabilities.
Getting Started with Flamingo: Installation and Configuration
Follow these steps to install and configure Flamingo.
brew install fluxcd/tap/flux
flux installSelect a compatible Flamingo version from the table below.
Flux Argo CD Image
v0.41 v2.6 v2.6.7-fl.4-main-c4ce7dcc
v0.41 v2.5 v2.5.16-fl.3-main-c4ce7dcc
v0.41 v2.4 v2.4.28-fl.3-main-c4ce7dcc
v0.38 v2.3 v2.3.13-fl.3-main-b0b6148f
v0.37 v2.2 v2.2.16-fl.3-main-2bba0ae6Choose one of the following installation options:
Option 1 – Upgrade Existing Argo CD
export VERSION=v2.6.7-fl.4-main-c4ce7dcc
kustomize build "https://github.com/flux-subsystem-argo/flamingo//release?ref=${VERSION}" \
| yq e '. | select(.kind=="Deployment" or .kind=="StatefulSet")' - \
| kubectl -n argocd apply -f -Option 2 – Replace Current Argo CD
export VERSION=v2.6.7-fl.4-main-c4ce7dcc
kubectl -n argocd apply -k https://github.com/flux-subsystem-argo/flamingo//release?ref=${VERSION}Option 3 – Fresh Install of Flamingo
export VERSION=v2.6.7-fl.4-main-c4ce7dcc
kubectl create ns argocd
kubectl -n argocd apply -k https://github.com/flux-subsystem-argo/flamingo//release?ref=${VERSION}What’s Next?
If you are an Argo CD user, consider downloading Flamingo and trying the open‑source Weave GitOps UI to extend your GitOps workflow with Terraform support. Enterprise teams needing multi‑tenant, notification, pipeline promotion, or policy engine features should contact [email protected] for a demo.
OpenShift GitOps users can also adopt Flamingo to combine the best of Argo CD and Flux, improving productivity and leveraging existing investments.
DevOps Cloud Academy
Exploring industry DevOps practices and technical expertise.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.