Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Commit

Permalink
Flux v1 end-of-life
Browse files Browse the repository at this point in the history
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
  • Loading branch information
stefanprodan committed Nov 1, 2022
1 parent ed41aad commit 643a9fc
Showing 1 changed file with 44 additions and 137 deletions.
181 changes: 44 additions & 137 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,137 +1,44 @@
# Flux

> **On Flux v2**
>
> This repository contains the source code of Flux Legacy, or Flux v1. It largely
> just receives security fixes at this point.
>
> Development has moved to [fluxcd/flux2](https://github.com/fluxcd/flux2) and its
> controllers entirely. If you consider using Flux, we **strongly recommend** you
> take a look at <https://fluxcd.io/flux/get-started> to get started, or if you are
> on Flux Legacy <https://fluxcd.io/flux/migration/> to migrate.
>
> Many of the long-requested features for Flux have been integrated into the new
> version of Flux, you will find it much more versatile.
>
> :warning: Read our announcement here:
> **[Flux v1 is in maintenance mode](https://github.com/fluxcd/flux/issues/3320)**.
We believe in GitOps:

- **You declaratively describe the entire desired state of your
system in git.** This includes the apps, config, dashboards,
monitoring and everything else.
- **What can be described can be automated.** Use YAMLs to enforce
conformance of the system. You don't need to run `kubectl`, all changes go
through git. Use diff tools to detect divergence between observed and
desired state and get notifications.
- **You push code not containers.** Everything is controlled through
pull requests. There is no learning curve for new devs, they just use
your standard git PR process. The history in git allows you to recover
from any snapshot as you have a sequence of transactions. It is much
more transparent to make operational changes by pull request, e.g.
fix a production issue via a pull request instead of making changes to
the running system.

Flux is a tool that automatically ensures that the state of a cluster
matches the config in git. It uses an operator in the cluster to trigger
deployments inside Kubernetes, which means you don't need a separate CD tool.
It monitors all relevant image repositories, detects new images, triggers
deployments and updates the desired running configuration based on that
(and a configurable policy).

The benefits are: you don't need to grant your CI access to the cluster, every
change is atomic and transactional, git has your audit log. Each transaction
either fails or succeeds cleanly. You're entirely code centric and don't need
new infrastructure.

![Deployment Pipeline](docs/_files/flux-cd-diagram.png)

[![CircleCI](https://circleci.com/gh/fluxcd/flux.svg?style=svg)](https://circleci.com/gh/fluxcd/flux)
[![GoDoc](https://godoc.org/github.com/fluxcd/flux?status.svg)](https://godoc.org/github.com/fluxcd/flux)
[![Documentation](https://img.shields.io/badge/latest-documentation-informational)](https://fluxcd.io/legacy/flux/)

## What Flux does

Flux is most useful when used as a deployment tool at the end of a
Continuous Delivery pipeline. Flux will make sure that your new
container images and config changes are propagated to the cluster.

### Who is using Flux in production

**Our list of production users has moved to <https://fluxcd.io/adopters/#flux-v1>**.

If you too are using Flux in production; please [submit a PR to add your organization](https://github.com/fluxcd/website/tree/main/adopters#readme) to the list!

### History

In the first years of its existence, the development of Flux was very
closely coupled to that of [Weave
Cloud](https://www.weave.works/product/cloud/). Over the years the community
around Flux grew, the numbers of [integrations](#integrations) grew and
the team started the process of generalising the code, so that more projects
could easily integrate.

## Get started with Flux

With the following tutorials:

- [Get started with Flux](https://fluxcd.io/legacy/flux/tutorials/get-started/)
- [Get started with Flux using Helm](https://fluxcd.io/legacy/flux/tutorials/get-started-helm/)

or just [browse through the documentation](https://fluxcd.io/legacy/flux/).

Do you want to release your Helm charts in a declarative way?
Take a look at the [`fluxcd/helm-operator`](https://github.com/fluxcd/helm-operator).

### Integrations

As Flux is Open Source, integrations are very straight-forward. Here are
a few popular ones you might want to check out:

- [Manage a multi-tenant cluster with Flux and Kustomize](https://github.com/fluxcd/multi-tenancy)
- [Managing Helm releases the GitOps way](https://github.com/fluxcd/helm-operator-get-started)
- [OpenFaaS GitOps workflow with Flux](https://github.com/stefanprodan/openfaas-flux)
- [GitOps for Istio Canary deployments](https://github.com/stefanprodan/gitops-istio)
- [Fluxcloud to receive events from Flux](https://github.com/topfreegames/fluxcloud)

## Community & Developer information

We welcome all kinds of contributions to Flux, be it code, issues you found,
documentation, external tools, help and support or anything else really.

The Flux project adheres to the [CNCF Code of
Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).

Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by contacting a _Flux_ project maintainer, or the CNCF
mediator, Mishi Choudhary <mishi@linux.com>.

To familiarise yourself with the project and how things work, you might
be interested in the following:

- [Our contributions guidelines](CONTRIBUTING.md)
- [Build documentation](https://fluxcd.io/legacy/flux/contributing/building/)
- [Release documentation](internal/docs/releasing.md)

## <a name="help"></a>Getting Help

Reminder that Flux v1 is in maintenance mode. If you have any questions about Flux v2 and future migrations, these are the best ways to stay informed:

- Read about the [GitOps Toolkit](https://toolkit.fluxcd.io/) (Flux v2 is built on the GitOps Toolkit).
- Ask questions and add suggestions in our [GitOps Toolkit Discussions](https://github.com/fluxcd/toolkit/discussions)
- Check out our **[events calendar](https://fluxcd.io/#calendar)**, both with upcoming talks, events and meetings you can attend.
- Or view the **[resources section](https://fluxcd.io/resources)** with past events videos you can watch.
- Join the Flux v2 / GitOps Toolkit [community meetings](https://fluxcd.io/community/#meetings)

If you have further questions about Flux or continuous delivery:

- Read [the Flux docs](https://fluxcd.io/legacy/flux/).
- Invite yourself to the <a href="https://slack.cncf.io" target="_blank">CNCF community</a>
slack and ask a question on the [#flux](https://cloud-native.slack.com/messages/flux/)
channel.
- To be part of the conversation about Flux's development, join the
[flux-dev mailing list](https://lists.cncf.io/g/cncf-flux-dev).
- [File an issue.](https://github.com/fluxcd/flux/issues/new/choose)

Your feedback is always welcome!
# Flux v1

This repository contains the source code of Flux Legacy (v1).

Flux v1 has reached **end of life** and has been replaced by [fluxcd/flux2](https://github.com/fluxcd/flux2)
and its controllers entirely.

If you consider using Flux, please take a look at <https://fluxcd.io/flux/get-started>
to get started with v2, or if you are on Flux Legacy, <https://fluxcd.io/flux/migration/> to migrate.

## History

Flux was initially developed by [Weaveworks](https://weave.works) and made open source in 2016.
Over the years the community around Flux & GitOps grew and in 2019 Weaveworks decided to donate
the project to [CNCF](https://cncf.io).

After joining CNCF, the Flux project has seen [massive adoption](https://fluxcd.io/adopters/)
by various organisations. With adoption came a wave of feature requests
that required a major overhaul of Flux monolithic code base and security stance.

In April 2020, the Flux team decided to redesign Flux from the ground up using modern
technologies such as Kubernetes controller runtime and Custom Resource Definitions.
The decision was made to break Flux functionally into specialised components and APIs
with a focus on extensibility, observability and security.
These components are now called the [GitOps Toolkit](https://fluxcd.io/flux/components/).

In 2021, the Flux team launched Flux v2 with many long-requested features like
support for multi-tenancy, support for syncing an arbitrary number of Git repositories,
better observability and a solid security stance. The new version made it possible
to extend Flux capabilities beyond its original GitOps design. The community rallied
around the new design, with an overwhelming number of early adopters and
new contributions, Flux v2 gained new features at a very rapid pace.

In 2022, Flux v2 underwent several security audits, and its code base and APIs became stable
and production ready. Having a dedicated UI for Flux was the most requested feature since we
started the project. For v2, Weaveworks launched a free and open source Web UI for Flux called
[Weave GitOps](https://github.com/weaveworks/weave-gitops) which made Flux more accessible.

Today Flux is an established continuous delivery solution for Kubernetes,
[trusted by organisations](https://fluxcd.io/adopters/) around the world.
Various vendors like Amazon AWS, Microsoft Azure, VMware, Weaveworks
and others offer [Flux as-a-service](https://fluxcd.io/ecosystem/) to their users.
The Flux team is very grateful to the community who supported us over the
years and made Flux what it is today.

0 comments on commit 643a9fc

Please sign in to comment.