trackmcp
Back to directory
controlplaneio-fluxcd

flux-operator

View on GitHub

Flux Operator is a Kubernetes controller for managing the lifecycle of Flux CD for the Model Context Protocol. Enhance AI assistants with powerful integrations.

375 stars GoServers & Infrastructure Updated Nov 3, 2025
continuous-deliveryfluxcdgitopsmcp-server

Documentation

flux-operator

release
Artifact Hub
Operator Hub
test
license
SLSA 3

The Flux Operator is a Kubernetes CRD controller that manages

the lifecycle of CNCF Flux CD and the ControlPlane enterprise distribution.

The operator extends Flux with self-service capabilities, deployment windows,

and preview environments for GitHub, GitLab, Gitea and Azure DevOps pull requests testing.



Autopilot for Flux CD - The operator offers an alternative to the Flux Bootstrap procedure, it

removes the operational burden of managing Flux across fleets of clusters by fully automating the

installation, configuration, and upgrade of the Flux controllers based on a declarative API.

Advanced Configuration - The operator simplifies the configuration of Flux multi-tenancy lockdown,

sharding, horizontal and vertical scaling, persistent storage, and allows fine-tuning the Flux

controllers with Kustomize patches. The operator streamlines the transition from Git as the delivery

mechanism for the cluster desired state to OCI artifacts and S3-compatible storage.

Deep Insights - The operator provides deep insights into the delivery pipelines managed by Flux,

including detailed reports and Prometheus metrics about the Flux controllers

readiness status, reconcilers statistics, and cluster state synchronization.

The Flux Web UI offers a real-time view of the GitOps pipelines,

allowing you to monitor deployments, track reconciliation status, and troubleshoot issues.

Self-Service Environments - The operator ResourceSet API

enables platform teams to define their own application standard as a group of Flux and Kubernetes resources

that can be templated, parameterized and deployed as a single unit on self-service environments.

The ResourceSet API integrates with Git pull requests to create ephemeral environments

for testing and validation.

AI-Assisted GitOps - The Flux MCP Server connects

AI assistants to Kubernetes clusters running the operator, enabling seamless interaction

through natural language. It serves as a bridge between AI tools and GitOps pipelines,

allowing you to analyze deployment across environments, troubleshoot issues,

and perform operations using conversational prompts.

Enterprise Support - The operator is a key component of the ControlPlane

Enterprise offering, and is designed to automate the

rollout of new Flux versions, CVE patches and hotfixes to production environments in a secure and reliable way.

The operator is end-to-end tested along with the ControlPlane Flux distribution on

Red Hat OpenShift, Amazon EKS, Azure AKS and Google GKE.

Quickstart Guide

Install the Flux Operator

Install the Flux Operator in the `flux-system` namespace, for example using Helm:

shell
helm install flux-operator oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator \
  --namespace flux-system

> [!NOTE]

> The Flux Operator can be installed using Helm, Terraform, OperatorHub, kubectl and other methods.

> For more information, refer to the

> installation guide.

Install the Flux Controllers

Create a FluxInstance resource

named `flux` in the `flux-system` namespace to install the latest Flux stable version:

yaml
apiVersion: fluxcd.controlplane.io/v1
kind: FluxInstance
metadata:
  name: flux
  namespace: flux-system
  annotations:
    fluxcd.controlplane.io/reconcileEvery: "1h"
    fluxcd.controlplane.io/reconcileArtifactEvery: "10m"
    fluxcd.controlplane.io/reconcileTimeout: "5m"
spec:
  distribution:
    version: "2.x"
    registry: "ghcr.io/fluxcd"
    artifact: "oci://ghcr.io/controlplaneio-fluxcd/flux-operator-manifests"
  components:
    - source-controller
    - kustomize-controller
    - helm-controller
    - notification-controller
    - image-reflector-controller
    - image-automation-controller
  cluster:
    type: kubernetes
    size: medium
    multitenant: false
    networkPolicy: true
    domain: "cluster.local"
  kustomize:
    patches:
      - target:
          kind: Deployment
        patch: |
          - op: replace
            path: /spec/template/spec/nodeSelector
            value:
              kubernetes.io/os: linux
          - op: add
            path: /spec/template/spec/tolerations
            value:
              - key: "CriticalAddonsOnly"
                operator: "Exists"

> [!NOTE]

> The Flux instance can be customized in various ways.

> For more information, refer to the

> configuration guide.

Sync from a Git Repository

To sync the cluster state from a Git repository, add the following configuration to the `FluxInstance`:

yaml
apiVersion: fluxcd.controlplane.io/v1
kind: FluxInstance
metadata:
  name: flux
  namespace: flux-system
spec:
  sync:
    kind: GitRepository
    url: "https://github.com/my-org/my-fleet.git"
    ref: "refs/heads/main"
    path: "clusters/my-cluster"
    pullSecret: "flux-system"
  # distribution omitted for brevity

If the source repository is private, the Kubernetes secret must be created in the `flux-system` namespace

and should contain the credentials to clone the repository:

shell
flux create secret git flux-system \
  --url=https://github.com/my-org/my-fleet.git \
  --username=git \
  --password=$GITHUB_TOKEN

> [!NOTE]

> For more information on how to configure syncing from Git repositories,

> container registries and S3-compatible storage, refer to the

> cluster sync guide.

Monitor the Flux Installation

To monitor the Flux deployment status, check the

FluxReport

resource in the `flux-system` namespace:

shell
kubectl get fluxreport/flux -n flux-system -o yaml

The report is updated at regular intervals and contains information about the deployment

readiness status, the distribution details, reconcilers statistics, Flux CRDs versions,

the cluster sync status and more.

Access the Flux Web UI

To access the Flux Web UI,

you can port-forward the operator service:

shell
kubectl -n flux-system port-forward svc/flux-operator 9080:9080

Note that the Flux Web UI can be configured with Ingress

and Single Sign-On for secure external access.

ResourceSet APIs

The Flux Operator ResourceSet APIs

offer a high-level abstraction for defining and managing Flux resources and related Kubernetes

objects as a single unit.

The ResourceSet API is designed to reduce the complexity of GitOps workflows and to

enable self-service for developers and platform teams.

Guides:

Documentation

Contributing

We welcome contributions to the Flux Operator project via GitHub pull requests.

Please see the CONTRIBUTING

guide for details on how to set up your development environment and start contributing to the project.

License

The Flux Operator is an open-source project licensed under the

AGPL-3.0 license.

The project is developed by CNCF Flux core maintainers part of the ControlPlane team.

Frequently asked questions

What is flux-operator?

flux-operator is Flux Operator is a Kubernetes controller for managing the lifecycle of Flux CD for the Model Context Protocol. Enhance AI assistants with powerful integrations.

How do I install flux-operator?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is flux-operator open source?

Yes — it is hosted on GitHub at https://github.com/controlplaneio-fluxcd/flux-operator and has 375 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP