@ -10,8 +10,8 @@ components of the Kubernetes ecosystem. In version 2, Flux supports
multi-tenancy and support for syncing an arbitrary number of Git
multi-tenancy and support for syncing an arbitrary number of Git
repositories, among other long-requested features.
repositories, among other long-requested features.
Flux v2 is constructed with the [GitOps Toolkit ](#gitops-toolkit), a
Flux v2 is constructed with the [GitOps Toolkit ](dev-guides/index.md),
set of composable APIs and specialized tools for building Continuous
a set of composable APIs and specialized tools for building Continuous
Delivery on top of Kubernetes.
Delivery on top of Kubernetes.
## Who is Flux for?
## Who is Flux for?
@ -22,62 +22,55 @@ Flux helps
- **platform engineers** who build continuous delivery for developer teams;
- **platform engineers** who build continuous delivery for developer teams;
- **app developers** who rely on continuous delivery to get their code live.
- **app developers** who rely on continuous delivery to get their code live.
The [GitOps Toolkit ](#gitops-toolkit) is for **platform engineers**
The [GitOps Toolkit ](dev-guides/index.md) is for **platform
who want to make their own continuous delivery system, and have
engineers** who want to make their own continuous delivery system, and
requirements not covered by Flux.
have requirements not covered by Flux.
Features:
## What can I do with Flux?
- Source management (Git and Helm repositories, S3 compatible buckets)
Flux is based on a set of Kubernetes API extensions ("custom
- Kustomize and Helm support
resources"), which control how git repositories and other sources of
- Event-based and on-a-schedule reconciliation
configuration are applied into the cluster ("synced").
- Role-based reconciliation (multi-tenancy)
For example, you create a `GitRepository` object to mirror
- Health assessment (clusters and workloads)
configuration from a Git repository, then a `Kustomization` object to
- Dependency management (infra and workloads)
sync that configuration.
- Alerting to external systems (webhook senders)
- External events handling (webhook receivers)
- Source write-back (automated patching)
- Policy driven validation (OPA, admission controllers)
- Seamless integration with Git providers (GitHub, GitLab, Bitbucket)
- Interoperability with workflow providers (GitHub Actions, Tekton, Argo)
- Interoperability with CAPI providers
## GitOps Toolkit
Flux works with Kubernetes' role-based access control (RBAC), so you
can lock down what any particular sync can change. It can send
notifications to Slack and other like systems when configuration is
synced and ready, and receive webhooks to tell it when to sync.
The GitOps Toolkit is the set of APIs and controllers that make up the
The `flux` command-line tool is a convenient way to bootstrap the
runtime for Flux v2. The APIs comprise Kubernetes custom resources,
system in a cluster, and to access the custom resources that make up
which can be created and updated by a cluster user, or by other
the API.
automation tooling.


You can use the toolkit to extend Flux, or to build your own systems
## Where do I start?
for continuous delivery -- see [the developer
guides](https://toolkit.fluxcd.io/dev-guides/source-watcher/).
Components:
- [Source Controller ](components/source/controller.md )
- [GitRepository CRD ](components/source/gitrepositories.md )
- [HelmRepository CRD ](components/source/helmrepositories.md )
- [HelmChart CRD ](components/source/helmcharts.md )
- [Bucket CRD ](components/source/buckets.md )
- [Kustomize Controller ](components/kustomize/controller.md )
- [Kustomization CRD ](components/kustomize/kustomization.md )
- [Helm Controller ](components/helm/controller.md )
- [HelmRelease CRD ](components/helm/helmreleases.md )
- [Notification Controller ](components/notification/controller.md )
- [Provider CRD ](components/notification/provider.md )
- [Alert CRD ](components/notification/alert.md )
- [Receiver CRD ](components/notification/receiver.md )
## Get Started
!!!hint "Get started with Flux v2!"
!!!hint "Get started with Flux v2!"
Following this [guide ](get-started/index.md ) will just take a couple of minutes to complete:
Following this [guide ](get-started/index.md ) will just take a couple of minutes to complete:
After installing the `flux` CLI and running a couple of very simple commands,
After installing the `flux` CLI and running a couple of very simple commands,
you will have a GitOps workflow setup which involves a staging and a production cluster.
you will have a GitOps workflow setup which involves a staging and a production cluster.
## More detail on what's in Flux
Features:
- Source management (Git and Helm repositories, S3 compatible buckets)
- Kustomize and Helm support
- Event-triggered and periodic reconciliation
- Integration with Kubernetes RBAC
- Health assessment (clusters and workloads)
- Dependency management (infrastructure and workloads)
- Alerting to external systems (webhook senders)
- External events handling (webhook receivers)
- Configuration update automation (automated patching)
- Policy-driven validation (OPA, admission controllers)
- Seamless integration with Git providers (GitHub, GitLab, Bitbucket)
- Interoperability with workflow providers (GitHub Actions, Tekton, Argo)
- Interoperability with Cluster API (CAPI) providers
## Community
## Community
The Flux project is always looking for new contributors and there are a multitude of ways to get involved.
The Flux project is always looking for new contributors and there are a multitude of ways to get involved.