/flux2

Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.

Primary LanguageGoApache License 2.0Apache-2.0

Flux version 2

CII Best Practices e2e report license release

Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy.

Flux version 2 ("v2") is built from the ground up to use Kubernetes' API extension system, and to integrate with Prometheus and other core components of the Kubernetes ecosystem. In version 2, Flux supports multi-tenancy and support for syncing an arbitrary number of Git repositories, among other long-requested features.

Flux v2 is constructed with the GitOps Toolkit, a set of composable APIs and specialized tools for building Continuous Delivery on top of Kubernetes.

Flux installation

With Homebrew for macOS and Linux:

brew install fluxcd/tap/flux

With GoFish for Windows, macOS and Linux:

gofish install flux

With Bash for macOS and Linux:

curl -s https://fluxcd.io/install.sh | sudo bash

# enable completions in ~/.bash_profile
. <(flux completion bash)

Arch Linux (AUR) packages:

  • flux-bin: install the latest stable version using a pre-build binary (recommended)
  • flux-go: build the latest stable version from source code
  • flux-scm: build the latest (unstable) version from source code from our git main branch

Binaries for macOS AMD64/ARM64, Linux AMD64/ARM/ARM64 and Windows are available to download on the release page.

A multi-arch container image with kubectl and flux is available on Docker Hub and GitHub:

  • docker.io/fluxcd/flux-cli:<version>
  • ghcr.io/fluxcd/flux-cli:<version>

Verify that your cluster satisfies the prerequisites with:

flux check --pre

Get started

To get started with Flux, start browsing the documentation or get started with one of the following guides:

If you need help, please refer to our Support page.

GitOps Toolkit

The GitOps Toolkit is the set of APIs and controllers that make up the runtime for Flux v2. The APIs comprise Kubernetes custom resources, which can be created and updated by a cluster user, or by other automation tooling.

overview

You can use the toolkit to extend Flux, or to build your own systems for continuous delivery -- see the developer guides.

Components

Community

Need help or want to contribute? Please see the links below. The Flux project is always looking for new contributors and there are a multitude of ways to get involved.

Events

Check out our events calendar, both with upcoming talks you can attend or past events videos you can watch.

We look forward to seeing you with us!