Cloud Native 13 min read

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.

DevOps Cloud Academy
DevOps Cloud Academy
DevOps Cloud Academy
Flamingo: Integrating Flux and Argo CD for Seamless GitOps on Kubernetes

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 install

Select 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-2bba0ae6

Choose 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.

kubernetesdevopsFluxGitOpsArgo CDFlamingoWeave GitOps
DevOps Cloud Academy
Written by

DevOps Cloud Academy

Exploring industry DevOps practices and technical expertise.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.