Replace GitOps Toolkit in docs
This replaces most mentions of "GitOps Toolkit" and "toolkit" with "Flux". I have adopted the style of using "Flux v2" in the first mention, and thereafter just "Flux". Signed-off-by: Michael Bridgen <michael@weave.works>
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
The GitOps Toolkit is [Apache 2.0 licensed](https://github.com/fluxcd/flux2/blob/master/LICENSE)
|
Flux is [Apache 2.0
|
||||||
and accepts contributions via GitHub pull requests. This document outlines
|
licensed](https://github.com/fluxcd/flux2/blob/main/LICENSE) and
|
||||||
some of the conventions on to make it easier to get your contribution accepted.
|
accepts contributions via GitHub pull requests. This document outlines
|
||||||
|
some of the conventions on to make it easier to get your contribution
|
||||||
|
accepted.
|
||||||
|
|
||||||
We gratefully welcome improvements to issues and documentation as well as to
|
We gratefully welcome improvements to issues and documentation as well as to
|
||||||
code.
|
code.
|
||||||
@@ -31,9 +33,9 @@ to join the conversation (there you can also add calendar invites
|
|||||||
to your Google calendar for our [Flux
|
to your Google calendar for our [Flux
|
||||||
meeting](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/view)).
|
meeting](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/view)).
|
||||||
|
|
||||||
## Understanding the GitOps Toolkit
|
## Understanding Flux and the GitOps Toolkit
|
||||||
|
|
||||||
If you are entirely new to the GitOps Toolkit,
|
If you are entirely new to Flux and the GitOps Toolkit,
|
||||||
you might want to take a look at the [introductory talk and demo](https://www.youtube.com/watch?v=qQBtSkgl7tI).
|
you might want to take a look at the [introductory talk and demo](https://www.youtube.com/watch?v=qQBtSkgl7tI).
|
||||||
|
|
||||||
This project is composed of:
|
This project is composed of:
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ To get started with Flux, start [browsing the
|
|||||||
documentation](https://toolkit.fluxcd.io) or get started with one of
|
documentation](https://toolkit.fluxcd.io) or get started with one of
|
||||||
the following guides:
|
the following guides:
|
||||||
|
|
||||||
- [Get started with GitOps Toolkit (deep dive)](https://toolkit.fluxcd.io/get-started/)
|
- [Get started with Flux (deep dive)](https://toolkit.fluxcd.io/get-started/)
|
||||||
- [Installation](https://toolkit.fluxcd.io/guides/installation/)
|
- [Installation](https://toolkit.fluxcd.io/guides/installation/)
|
||||||
- [Manage Helm Releases](https://toolkit.fluxcd.io/guides/helmreleases/)
|
- [Manage Helm Releases](https://toolkit.fluxcd.io/guides/helmreleases/)
|
||||||
- [Setup Notifications](https://toolkit.fluxcd.io/guides/notifications/)
|
- [Setup Notifications](https://toolkit.fluxcd.io/guides/notifications/)
|
||||||
@@ -88,12 +88,12 @@ guides](https://toolkit.fluxcd.io/dev-guides/).
|
|||||||
|
|
||||||
## Community
|
## Community
|
||||||
|
|
||||||
The GitOps Toolkit is always looking for new contributors and there are a multitude of ways to get involved. Depending on what you want to do, some of the following bits might be your first steps:
|
The Flux project is always looking for new contributors and there are a multitude of ways to get involved. Depending on what you want to do, some of the following bits might be your first steps:
|
||||||
|
|
||||||
- Join our upcoming dev meetings ([meeting access and agenda](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/view))
|
- Join our upcoming dev meetings ([meeting access and agenda](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/view))
|
||||||
- Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/)
|
- Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/)
|
||||||
- Join the [planning discussions](https://github.com/fluxcd/flux2/discussions)
|
- Join the [planning discussions](https://github.com/fluxcd/flux2/discussions)
|
||||||
- And if you are completely new to the GitOps Toolkit, take a look at our [Get Started guide](https://toolkit.fluxcd.io/get-started/) and give us feedback
|
- And if you are completely new to Flux and the GitOps Toolkit, take a look at our [Get Started guide](https://toolkit.fluxcd.io/get-started/) and give us feedback
|
||||||
- To be part of the conversation about Flux's development, [join the flux-dev mailing list](https://lists.cncf.io/g/cncf-flux-dev).
|
- To be part of the conversation about Flux's development, [join the flux-dev mailing list](https://lists.cncf.io/g/cncf-flux-dev).
|
||||||
- Check out [how to contribute](CONTRIBUTING.md) to the project
|
- Check out [how to contribute](CONTRIBUTING.md) to the project
|
||||||
|
|
||||||
|
|||||||
@@ -2,38 +2,38 @@
|
|||||||
|
|
||||||
## General questions
|
## General questions
|
||||||
|
|
||||||
### What does the GitOps Toolkit mean for Flux?
|
### What does Flux v2 mean for Flux?
|
||||||
|
|
||||||
Flux v1 is a monolithic do-it-all operator; the GitOps Toolkit separates the functionalities into specialized controllers.
|
Flux v1 is a monolithic do-it-all operator; Flux v2 separates the functionalities into specialized controllers, collectively called the GitOps Toolkit.
|
||||||
|
|
||||||
Flux v2 will be a curated configuration of the GitOps Toolkit, which you can install and operate simply using the `flux` command. You can easily pick and choose the functionality you need and extend it to serve your own purposes.
|
You can install and operate Flux v2 simply using the `flux` command. You can easily pick and choose the functionality you need and extend it to serve your own purposes.
|
||||||
|
|
||||||
The timeline we are looking at right now is:
|
The timeline we are looking at right now is:
|
||||||
|
|
||||||
1. Put Flux v1 into maintenance mode (no new features being added; bugfixes and CVEs patched only).
|
1. Put Flux v1 into maintenance mode (no new features being added; bugfixes and CVEs patched only).
|
||||||
1. Continue work on [GitOps Toolkit roadmap](https://toolkit.fluxcd.io/roadmap/).
|
1. Continue work on the [Flux v2 roadmap](https://toolkit.fluxcd.io/roadmap/).
|
||||||
1. We will provide transition guides for specific user groups, e.g. users of Flux v1 in read-only mode, or of Helm Operator v1, etc. once the functionality is integrated in the GitOps Toolkit and it's deemed "ready".
|
1. We will provide transition guides for specific user groups, e.g. users of Flux v1 in read-only mode, or of Helm Operator v1, etc. once the functionality is integrated into Flux v2 and it's deemed "ready".
|
||||||
1. Once the use-cases of Flux v1 are covered, we will continue supporting Flux v1 for 6 months. This will be the transition period before it's considered unsupported.
|
1. Once the use-cases of Flux v1 are covered, we will continue supporting Flux v1 for 6 months. This will be the transition period before it's considered unsupported.
|
||||||
|
|
||||||
### Why did you rewrite Flux?
|
### Why did you rewrite Flux?
|
||||||
|
|
||||||
The GitOps Toolkit implements its functionality in individual controllers, which allowed us to address long-standing feature requests much more easily.
|
Flux v2 implements its functionality in individual controllers, which allowed us to address long-standing feature requests much more easily.
|
||||||
|
|
||||||
By basing these controllers on modern Kubernetes tooling (`controller-runtime` libraries), they can be dynamically configured with Kubernetes custom resources either by cluster admins or by other automated tools -- and you get greatly increased observability.
|
By basing these controllers on modern Kubernetes tooling (`controller-runtime` libraries), they can be dynamically configured with Kubernetes custom resources either by cluster admins or by other automated tools -- and you get greatly increased observability.
|
||||||
|
|
||||||
This gave us the opportunity to build the GitOps Toolkit with the top Flux feature requests in mind:
|
This gave us the opportunity to build Flux v2 with the top Flux v1 feature requests in mind:
|
||||||
|
|
||||||
- Supporting multiple source Git repositories
|
- Supporting multiple source Git repositories
|
||||||
- Operational insight through health checks, events and alerts
|
- Operational insight through health checks, events and alerts
|
||||||
- Multi-tenancy capabilities, like applying each source repository with its own set of permissions
|
- Multi-tenancy capabilities, like applying each source repository with its own set of permissions
|
||||||
|
|
||||||
On top of that, testing the GitOps Toolkit and understanding the codebase becomes a lot easier.
|
On top of that, testing the individual components and understanding the codebase becomes a lot easier.
|
||||||
|
|
||||||
### What are significant new differences between Flux v1 and the GitOps Toolkit?
|
### What are significant new differences between Flux v1 and Flux v2?
|
||||||
|
|
||||||
#### Reconciliation
|
#### Reconciliation
|
||||||
|
|
||||||
Flux v1 | Toolkit component driven "Flux v2"
|
Flux v1 | Flux v2
|
||||||
---------------------------------- | ----------------------------------
|
---------------------------------- | ----------------------------------
|
||||||
Limited to a single Git repository | Multiple Git repositories
|
Limited to a single Git repository | Multiple Git repositories
|
||||||
Declarative config via arguments in the Flux deployment | `GitRepository` custom resource, which produces an artifact which can be reconciled by other controllers
|
Declarative config via arguments in the Flux deployment | `GitRepository` custom resource, which produces an artifact which can be reconciled by other controllers
|
||||||
@@ -43,7 +43,7 @@ Credentials config via Arguments and/or Secret volume mounts in the Flux pod | C
|
|||||||
|
|
||||||
#### `kustomize` support
|
#### `kustomize` support
|
||||||
|
|
||||||
Flux v1 | Toolkit component driven "Flux v2"
|
Flux v1 | Flux v2
|
||||||
---------------------------------- | ----------------------------------
|
---------------------------------- | ----------------------------------
|
||||||
Declarative config through `.flux.yaml` files in the Git repository | Declarative config through a `Kustomization` custom resource, consuming the artifact from the GitRepository
|
Declarative config through `.flux.yaml` files in the Git repository | Declarative config through a `Kustomization` custom resource, consuming the artifact from the GitRepository
|
||||||
Manifests are generated via shell exec and then reconciled by `fluxd` | Generation, server-side validation, and reconciliation is handled by a specialised `kustomize-controller`
|
Manifests are generated via shell exec and then reconciled by `fluxd` | Generation, server-side validation, and reconciliation is handled by a specialised `kustomize-controller`
|
||||||
@@ -53,7 +53,7 @@ Support for custom commands and generators executed by fluxd in a POSIX shell |
|
|||||||
|
|
||||||
#### Helm integration
|
#### Helm integration
|
||||||
|
|
||||||
Flux v1 | Toolkit component driven "Flux v2"
|
Flux v1 | Flux v2
|
||||||
---------------------------------- | ----------------------------------
|
---------------------------------- | ----------------------------------
|
||||||
Declarative config in a single Helm custom resource | Declarative config through `HelmRepository`, `GitRepository`, `Bucket`, `HelmChart` and `HelmRelease` custom resources
|
Declarative config in a single Helm custom resource | Declarative config through `HelmRepository`, `GitRepository`, `Bucket`, `HelmChart` and `HelmRelease` custom resources
|
||||||
Chart synchronisation embedded in the operator | Extensive release configuration options, and a reconciliation interval per source
|
Chart synchronisation embedded in the operator | Extensive release configuration options, and a reconciliation interval per source
|
||||||
@@ -65,10 +65,10 @@ Chart changes from Git sources are determined from Git metadata | Chart changes
|
|||||||
|
|
||||||
#### Notifications, webhooks, observability
|
#### Notifications, webhooks, observability
|
||||||
|
|
||||||
Flux v1 | Toolkit component driven "Flux v2"
|
Flux v1 | Flux v2
|
||||||
---------------------------------- | ----------------------------------
|
---------------------------------- | ----------------------------------
|
||||||
Emits "custom Flux events" to a webhook endpoint | Emits Kubernetes events for all custom resources part of the Toolkit
|
Emits "custom Flux events" to a webhook endpoint | Emits Kubernetes events for included custom resources
|
||||||
RPC endpoint can be configured to a 3rd party solution like FluxCloud to be forwarded as notifications to e.g. Slack | Toolkit components can be configured to POST the events to a `notification-controller` endpoint. Selective forwarding of POSTed events as notifications using `Provider` and `Alert` custom resources.
|
RPC endpoint can be configured to a 3rd party solution like FluxCloud to be forwarded as notifications to e.g. Slack | Flux v2 components can be configured to POST the events to a `notification-controller` endpoint. Selective forwarding of POSTed events as notifications using `Provider` and `Alert` custom resources.
|
||||||
Webhook receiver is a side-project | Webhook receiver, handling a wide range of platforms, is included
|
Webhook receiver is a side-project | Webhook receiver, handling a wide range of platforms, is included
|
||||||
Unstructured logging | Structured logging for all components
|
Unstructured logging | Structured logging for all components
|
||||||
Custom Prometheus metrics | Generic / common `controller-runtime` Prometheus metrics
|
Custom Prometheus metrics | Generic / common `controller-runtime` Prometheus metrics
|
||||||
@@ -77,10 +77,10 @@ Custom Prometheus metrics | Generic / common `controller-runtime` Prometheus met
|
|||||||
|
|
||||||
There are a variety of ways and we look forward to having you on board building the future of GitOps together:
|
There are a variety of ways and we look forward to having you on board building the future of GitOps together:
|
||||||
|
|
||||||
- [Discuss the direction](https://github.com/fluxcd/flux2/discussions) of the GitOps Toolkit with us
|
- [Discuss the direction](https://github.com/fluxcd/flux2/discussions) of Flux v2 with us
|
||||||
- Join us in #flux-dev on the [CNCF Slack](https://slack.cncf.io)
|
- Join us in #flux-dev on the [CNCF Slack](https://slack.cncf.io)
|
||||||
- Check out our [contributor docs](https://toolkit.fluxcd.io/contributing/)
|
- Check out our [contributor docs](https://toolkit.fluxcd.io/contributing/)
|
||||||
- Take a look at the [roadmap of the GitOps Toolkit](https://toolkit.fluxcd.io/roadmap/)
|
- Take a look at the [roadmap for Flux v2](https://toolkit.fluxcd.io/roadmap/)
|
||||||
|
|
||||||
### Are there any breaking changes?
|
### Are there any breaking changes?
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Get started with GitOps Toolkit
|
# Get started with Flux v2
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
@@ -17,14 +17,13 @@ export GITHUB_TOKEN=<your-token>
|
|||||||
export GITHUB_USER=<your-username>
|
export GITHUB_USER=<your-username>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Install the toolkit CLI
|
## Install the Flux CLI
|
||||||
|
|
||||||
To install the latest `flux` release on MacOS and Linux using
|
To install the latest `flux` release on MacOS and Linux using
|
||||||
[Homebrew](https://brew.sh/) run:
|
[Homebrew](https://brew.sh/) run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
brew tap fluxcd/tap
|
brew install fluxcd/tap/flux
|
||||||
brew install flux
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Or install `flux` by downloading precompiled binaries using a Bash script:
|
Or install `flux` by downloading precompiled binaries using a Bash script:
|
||||||
@@ -38,7 +37,8 @@ The install script downloads the flux binary to `/usr/local/bin`.
|
|||||||
Binaries for **macOS**, **Windows** and **Linux** AMD64/ARM are available for download on the
|
Binaries for **macOS**, **Windows** and **Linux** AMD64/ARM are available for download on the
|
||||||
[release page](https://github.com/fluxcd/flux2/releases).
|
[release page](https://github.com/fluxcd/flux2/releases).
|
||||||
|
|
||||||
To configure your shell to load flux completions add to your Bash profile:
|
To configure your shell to load `flux` completions add to your Bash
|
||||||
|
profile:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# ~/.bashrc or ~/.bash_profile
|
# ~/.bashrc or ~/.bash_profile
|
||||||
@@ -52,7 +52,7 @@ To configure your shell to load flux completions add to your Bash profile:
|
|||||||
You'll be using a dedicated Git repository e.g. `fleet-infra` to manage one or more Kubernetes clusters.
|
You'll be using a dedicated Git repository e.g. `fleet-infra` to manage one or more Kubernetes clusters.
|
||||||
This guide assumes that you have two clusters, one for staging and one for production.
|
This guide assumes that you have two clusters, one for staging and one for production.
|
||||||
|
|
||||||
Using the toolkit CLI you'll do the following:
|
Using the Flux CLI you'll do the following:
|
||||||
|
|
||||||
- configure each cluster to synchronise with a directory inside the fleet repository
|
- configure each cluster to synchronise with a directory inside the fleet repository
|
||||||
- register app sources (git repositories) that contain plain Kubernetes manifests or Kustomize overlays
|
- register app sources (git repositories) that contain plain Kubernetes manifests or Kustomize overlays
|
||||||
@@ -93,8 +93,8 @@ flux bootstrap github \
|
|||||||
you can use `--arch=arm` for ARMv7 32-bit container images
|
you can use `--arch=arm` for ARMv7 32-bit container images
|
||||||
and `--arch=arm64` for ARMv8 64-bit container images.
|
and `--arch=arm64` for ARMv8 64-bit container images.
|
||||||
|
|
||||||
The bootstrap command creates a repository if one doesn't exist and
|
The bootstrap command creates a repository if one doesn't exist, and
|
||||||
commits the toolkit components manifests to the default branch at the specified path.
|
commits the manifests for the Flux components to the default branch at the specified path.
|
||||||
Then it configures the target cluster to synchronize with the specified path inside the repository.
|
Then it configures the target cluster to synchronize with the specified path inside the repository.
|
||||||
|
|
||||||
If you wish to create the repository under a GitHub organization:
|
If you wish to create the repository under a GitHub organization:
|
||||||
@@ -137,9 +137,9 @@ If you prefer GitLab, export `GITLAB_TOKEN` env var and use the command [flux bo
|
|||||||
|
|
||||||
!!! hint "Idempotency"
|
!!! hint "Idempotency"
|
||||||
It is safe to run the bootstrap command as many times as you want.
|
It is safe to run the bootstrap command as many times as you want.
|
||||||
If the toolkit components are present on the cluster,
|
If the Flux components are present on the cluster,
|
||||||
the bootstrap command will perform an upgrade if needed.
|
the bootstrap command will perform an upgrade if needed.
|
||||||
You can target a specific toolkit [version](https://github.com/fluxcd/flux2/releases)
|
You can target a specific Flux [version](https://github.com/fluxcd/flux2/releases)
|
||||||
with `flux bootstrap --version=<semver>`.
|
with `flux bootstrap --version=<semver>`.
|
||||||
|
|
||||||
## Staging workflow
|
## Staging workflow
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
This guide walks you through setting up the GitOps Toolkit
|
This guide walks you through setting up Flux v2 (hereafter: "Flux") to
|
||||||
to manage one or more Kubernetes clusters.
|
manage one or more Kubernetes clusters.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
You will need a Kubernetes cluster version **1.16** or newer
|
You will need a Kubernetes cluster version **1.16** or newer
|
||||||
and kubectl version **1.18** or newer.
|
and kubectl version **1.18** or newer.
|
||||||
|
|
||||||
## Install the toolkit CLI
|
## Install the Flux CLI
|
||||||
|
|
||||||
With Homebrew:
|
With Homebrew:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
brew tap fluxcd/tap
|
brew install fluxcd/tap/flux
|
||||||
brew install flux
|
|
||||||
```
|
```
|
||||||
|
|
||||||
With Bash:
|
With Bash:
|
||||||
@@ -40,17 +39,18 @@ flux check --pre
|
|||||||
|
|
||||||
## Bootstrap
|
## Bootstrap
|
||||||
|
|
||||||
Using the `flux bootstrap` command you can install the toolkit on a Kubernetes cluster
|
Using the `flux bootstrap` command you can install Flux on a
|
||||||
and configure it to manage itself from a Git repository.
|
Kubernetes cluster and configure it to manage itself from a Git
|
||||||
|
repository.
|
||||||
|
|
||||||
The bootstrap creates a Git repository if one doesn't exist and
|
The bootstrap creates a Git repository if one doesn't exist and
|
||||||
commits the toolkit components manifests to the main branch.
|
commits the Flux components manifests to the main branch. Then it
|
||||||
Then it configures the target cluster to synchronize with that
|
configures the target cluster to synchronize with that repository by
|
||||||
repository by setting up SSH deploy keys.
|
setting up SSH deploy keys.
|
||||||
|
|
||||||
If the toolkit components are present on the cluster,
|
If the Flux components are present on the cluster, the bootstrap
|
||||||
the bootstrap command will perform an upgrade if needed.
|
command will perform an upgrade if needed. The bootstrap is
|
||||||
The bootstrap is idempotent, it's safe to run the command as many times as you want.
|
idempotent, it's safe to run the command as many times as you want.
|
||||||
|
|
||||||
You can choose what components to install and for which cluster with:
|
You can choose what components to install and for which cluster with:
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ flux bootstrap <GIT-PROVIDER> \
|
|||||||
you can use `--arch=arm` for ARMv7 32-bit container images
|
you can use `--arch=arm` for ARMv7 32-bit container images
|
||||||
and `--arch=arm64` for ARMv8 64-bit container images.
|
and `--arch=arm64` for ARMv8 64-bit container images.
|
||||||
|
|
||||||
If you wish to install a specific version, use the toolkit
|
If you wish to install a specific version, use the Flux
|
||||||
[release tag](https://github.com/fluxcd/flux2/releases) e.g. `--version=v0.0.14`.
|
[release tag](https://github.com/fluxcd/flux2/releases) e.g. `--version=v0.0.14`.
|
||||||
|
|
||||||
With `--path` you can configure the directory which will be used to reconcile the target cluster.
|
With `--path` you can configure the directory which will be used to reconcile the target cluster.
|
||||||
@@ -208,7 +208,7 @@ Create a directory inside the repository:
|
|||||||
mkdir -p ./my-cluster/flux-system
|
mkdir -p ./my-cluster/flux-system
|
||||||
```
|
```
|
||||||
|
|
||||||
Generate the toolkit manifests with:
|
Generate the Flux manifests with:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
flux install --version=latest \
|
flux install --version=latest \
|
||||||
@@ -256,7 +256,7 @@ Apply the manifests on your cluster:
|
|||||||
kubectl apply -f ./my-cluster/flux-system/toolkit-components.yaml
|
kubectl apply -f ./my-cluster/flux-system/toolkit-components.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
Verify that the toolkit controllers have started:
|
Verify that the controllers have started:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
flux check
|
flux check
|
||||||
@@ -274,7 +274,7 @@ flux create source git flux-system \
|
|||||||
```
|
```
|
||||||
|
|
||||||
You will be prompted to add a deploy key to your repository.
|
You will be prompted to add a deploy key to your repository.
|
||||||
If you don't specify the SSH algorithm, then flux will generate an RSA 2048 bits key.
|
If you don't specify the SSH algorithm, then `flux` will generate an RSA 2048 bits key.
|
||||||
|
|
||||||
If your Git server supports basic auth, you can set the URL to HTTPS and specify the credentials with:
|
If your Git server supports basic auth, you can set the URL to HTTPS and specify the credentials with:
|
||||||
|
|
||||||
@@ -319,11 +319,11 @@ git add -A && git commit -m "update toolkit" && git push
|
|||||||
```
|
```
|
||||||
|
|
||||||
The source-controller will pull the changes on the cluster, then the kustomize-controller
|
The source-controller will pull the changes on the cluster, then the kustomize-controller
|
||||||
will perform a rolling update of all toolkit components including itself.
|
will perform a rolling update of all Flux components including itself.
|
||||||
|
|
||||||
## Dev install
|
## Dev install
|
||||||
|
|
||||||
For testing purposes you can install the toolkit without storing its manifests in a Git repository.
|
For testing purposes you can install Flux without storing its manifests in a Git repository.
|
||||||
|
|
||||||
Here is the equivalent to `fluxctl install`:
|
Here is the equivalent to `fluxctl install`:
|
||||||
|
|
||||||
@@ -375,18 +375,18 @@ flux create helmrelease sealed-secrets \
|
|||||||
|
|
||||||
## Monitoring with Prometheus and Grafana
|
## Monitoring with Prometheus and Grafana
|
||||||
|
|
||||||
The GitOps Toolkit comes with a monitoring stack composed of Prometheus and Grafana. The controllers expose
|
Flux comes with a monitoring stack composed of Prometheus and Grafana. The controllers expose
|
||||||
metrics that can be used to track the readiness of the cluster reconciliation process.
|
metrics that can be used to track the readiness of the cluster reconciliation process.
|
||||||
|
|
||||||
To install the monitoring stack please follow this [guide](monitoring.md).
|
To install the monitoring stack please follow this [guide](monitoring.md).
|
||||||
|
|
||||||
## Uninstall
|
## Uninstall
|
||||||
|
|
||||||
You can uninstall the toolkit components with:
|
You can uninstall the Flux components with:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
flux uninstall --crds
|
flux uninstall --crds
|
||||||
```
|
```
|
||||||
|
|
||||||
The above command will delete the toolkit custom resources definitions, the controllers
|
The above command will delete the custom resources definitions, the
|
||||||
and the namespace where they were installed.
|
controllers, and the namespace where they were installed.
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Monitoring
|
# Monitoring
|
||||||
|
|
||||||
This guide walks you through configuring monitoring for the GitOps Toolkit control plane.
|
This guide walks you through configuring monitoring for the Flux control plane.
|
||||||
|
|
||||||
The toolkit comes with a monitoring stack composed of:
|
Flux comes with a monitoring stack composed of:
|
||||||
|
|
||||||
* **Prometheus** server - collects metrics from the toolkit controllers and stores them for 2h
|
* **Prometheus** server - collects metrics from the toolkit controllers and stores them for 2h
|
||||||
* **Grafana** dashboards - displays the control plane resource usage and reconciliation stats
|
* **Grafana** dashboards - displays the control plane resource usage and reconciliation stats
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
# GitOps Toolkit
|
# Flux v2
|
||||||
|
|
||||||
The GitOps Toolkit is a set of composable APIs and specialized tools
|
Flux is a tool for keeping Kubernetes clusters in sync with sources of
|
||||||
that can be used to build a Continuous Delivery platform on top of Kubernetes.
|
configuration (like Git repositories), and automating updates to
|
||||||
|
configuration when there is new code to deploy.
|
||||||
|
|
||||||
These tools are build with Kubernetes controller-runtime libraries, and they
|
Flux version 2 ("Flux v2") is built from the ground up to use Kubernetes'
|
||||||
can be dynamically configured with Kubernetes custom resources either by
|
API extension system, and to integrate with Prometheus and other core
|
||||||
cluster admins or by other automated tools.
|
components of the Kubernetes ecosystem. In version 2, Flux supports
|
||||||
The GitOps Toolkit components interact with each other via Kubernetes
|
multi-tenancy and support for syncing an arbitrary number of Git
|
||||||
events and are responsible for the reconciliation of their designated API objects.
|
repositories, among other long-requested features.
|
||||||
|
|
||||||
!!! hint "Work in Progress"
|
Flux v2 is constructed with the [GitOps Toolkit](#gitops-toolkit), a
|
||||||
We envision a future where **Flux v2** and **Helm Operator v2** will be assembled from
|
set of composable APIs and specialized tools for building Continuous
|
||||||
the GitOps Toolkit components. The Flux CD team is looking for feedback and help as
|
Delivery on top of Kubernetes.
|
||||||
the toolkit is in an active experimentation phase.
|
|
||||||
If you wish to take part in this quest please reach out to us on Slack or GitHub.
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -35,7 +34,7 @@ Target features:
|
|||||||
|
|
||||||
Components:
|
Components:
|
||||||
|
|
||||||
- [Toolkit CLI](https://github.com/fluxcd/flux2)
|
- [Flux CLI](https://github.com/fluxcd/flux2)
|
||||||
- [Source Controller](components/source/controller.md)
|
- [Source Controller](components/source/controller.md)
|
||||||
- [GitRepository CRD](components/source/gitrepositories.md)
|
- [GitRepository CRD](components/source/gitrepositories.md)
|
||||||
- [HelmRepository CRD](components/source/helmrepositories.md)
|
- [HelmRepository CRD](components/source/helmrepositories.md)
|
||||||
@@ -52,17 +51,17 @@ Components:
|
|||||||
|
|
||||||
## Get Started
|
## Get Started
|
||||||
|
|
||||||
!!!hint "Get started with the GitOps Toolkit!"
|
!!!hint "Get started with Flux v2!"
|
||||||
Following this [guide](get-started/index.md) will just take a couple of minutes to complete: After installing the `flux` binary and running a couple of very simple commands, you will have a GitOps workflow setup which involves a staging and a production cluster.
|
Following this [guide](get-started/index.md) will just take a couple of minutes to complete: After installing the `flux` binary and running a couple of very simple commands, you will have a GitOps workflow setup which involves a staging and a production cluster.
|
||||||
|
|
||||||
## Community
|
## Community
|
||||||
|
|
||||||
The GitOps Toolkit is always looking for new contributors and there are a multitude of ways to get involved. Depending on what you want to do, some of the following bits might be your first steps:
|
The Flux project is always looking for new contributors and there are a multitude of ways to get involved. Depending on what you want to do, some of the following bits might be your first steps:
|
||||||
|
|
||||||
- Join our upcoming dev meetings ([meeting access and agenda](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/view))
|
- Join our upcoming dev meetings ([meeting access and agenda](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/view))
|
||||||
- Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/)
|
- Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/)
|
||||||
- Join the [planning discussions](https://github.com/fluxcd/flux2/discussions)
|
- Join the [planning discussions](https://github.com/fluxcd/flux2/discussions)
|
||||||
- And if you are completely new to the GitOps Toolkit, take a look at our [Get Started guide](get-started/index.md) and give us feedback
|
- And if you are completely new to Flux v2 and the GitOps Toolkit, take a look at our [Get Started guide](get-started/index.md) and give us feedback
|
||||||
- Check out [how to contribute](contributing/index.md) to the project
|
- Check out [how to contribute](contributing/index.md) to the project
|
||||||
|
|
||||||
## Featured Talks
|
## Featured Talks
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Roadmap
|
# Roadmap
|
||||||
|
|
||||||
In our planning discussions for the GitOps Toolkit we identified largely three areas of work:
|
In our planning discussions we identified broad three areas of work:
|
||||||
|
|
||||||
- Feature parity with Flux v1 in read-only mode
|
- Feature parity with Flux v1 in read-only mode
|
||||||
- Feature parity with the image-update functionality in Flux v1
|
- Feature parity with the image-update functionality in Flux v1
|
||||||
@@ -14,7 +14,7 @@ All of the above will constitute "Flux v2".
|
|||||||
|
|
||||||
[= 90% "90%"]
|
[= 90% "90%"]
|
||||||
|
|
||||||
This would be the first stepping stone: we want the GitOps Toolkit to be on-par with today's Flux in
|
This would be the first stepping stone: we want Flux v2 to be on-par with today's Flux in
|
||||||
[read-only mode](https://github.com/fluxcd/flux/blob/master/docs/faq.md#can-i-run-flux-with-readonly-git-access)
|
[read-only mode](https://github.com/fluxcd/flux/blob/master/docs/faq.md#can-i-run-flux-with-readonly-git-access)
|
||||||
and [FluxCloud](https://github.com/justinbarrick/fluxcloud) notifications.
|
and [FluxCloud](https://github.com/justinbarrick/fluxcloud) notifications.
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ Tasks
|
|||||||
- [ ] Implement an image scanning controller
|
- [ ] Implement an image scanning controller
|
||||||
- [x] <span style="color:grey">Design the automation component</span>
|
- [x] <span style="color:grey">Design the automation component</span>
|
||||||
- [ ] Implement the image scan/patch/push workflow
|
- [ ] Implement the image scan/patch/push workflow
|
||||||
- [ ] Integrate the new components in the toolkit assembler
|
- [ ] Integrate the new components in the Flux CLI
|
||||||
- [ ] Create a migration guide from Flux annotations
|
- [ ] Create a migration guide from Flux annotations
|
||||||
|
|
||||||
## The road to Helm Operator v2
|
## The road to Helm Operator v2
|
||||||
|
|||||||
Reference in New Issue
Block a user