About flux-operator
flux-operator is a Kubernetes CRD controller that manages the lifecycle of CNCF Flux CD for platform teams running GitOps across many clusters. It automates Flux installation, configuration and upgrades, and adds ResourceSet-based self-service environments and a Flux Web UI. The Flux MCP Server lets AI assistants query and act on the clusters.
Key features
- 01Automated installation and upgrades of Flux controllers
- 02ResourceSet API for reusable application templates
- 03Ephemeral environments from Git pull requests
- 04FluxReport and Prometheus metrics for monitoring
- 05Flux Web UI for real-time pipeline views
Use cases
- 01Manage Flux installations and upgrades across a fleet of clusters
- 02Provide self-service deployment environments to developer teams
- 03Troubleshoot GitOps deployments through natural language prompts
MCP support
The Flux MCP Server connects AI assistants to Kubernetes clusters running the operator, so they can analyze deployments, troubleshoot issues and perform operations through conversational prompts.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEflux-operator
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:
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:
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:
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:
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:
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:
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:
- Using ResourceSets for Application Definitions
- Using ResourceSets for Time-Based Delivery
- Ephemeral Environments for GitHub Pull Requests
- Ephemeral Environments for GitLab Merge Requests
Documentation
- Installation
- Flux Configuration
- CRD references
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.