mirror of https://github.com/fluxcd/website.git
commit
cfd16ae6a5
|
@ -59,7 +59,7 @@ choco install flux
|
||||||
To install the latest release on Linux, macOS or Windows WSL:
|
To install the latest release on Linux, macOS or Windows WSL:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s https://fluxcd.io/install.sh | sudo bash
|
curl -s https://fluxcd.io/install.sh | sudo FLUX_VERSION=2.0.0-rc.4 bash
|
||||||
```
|
```
|
||||||
|
|
||||||
The [install script](https://raw.githubusercontent.com/fluxcd/flux2/main/install/flux.sh) does the following:
|
The [install script](https://raw.githubusercontent.com/fluxcd/flux2/main/install/flux.sh) does the following:
|
||||||
|
@ -78,7 +78,7 @@ A container image with `kubectl` and `flux` is available on DockerHub and GitHub
|
||||||
Example usage:
|
Example usage:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ docker run -it --entrypoint=sh -v ~/.kube/config:/kubeconfig ghcr.io/fluxcd/flux-cli:v0.17.0
|
$ docker run -it --entrypoint=sh -v ~/.kube/config:/kubeconfig ghcr.io/fluxcd/flux-cli:v2.0.0-rc.4
|
||||||
/ # flux check --kubeconfig=kubeconfig
|
/ # flux check --kubeconfig=kubeconfig
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,8 @@ workloads defined with Kubernetes manifests and assembled with Kustomize.
|
||||||
Features:
|
Features:
|
||||||
|
|
||||||
- Reconciles the cluster state from multiple sources (provided by source-controller)
|
- Reconciles the cluster state from multiple sources (provided by source-controller)
|
||||||
- Generates manifests with Kustomize (from plain Kubernetes yamls or Kustomize overlays)
|
- Generates manifests with Kustomize (from plain Kubernetes YAMLs or Kustomize overlays)
|
||||||
|
- Decrypts Kubernetes secrets with Mozilla SOPS and KMS
|
||||||
- Validates manifests against Kubernetes API
|
- Validates manifests against Kubernetes API
|
||||||
- Impersonates service accounts (multi-tenancy RBAC)
|
- Impersonates service accounts (multi-tenancy RBAC)
|
||||||
- Health assessment of the deployed workloads
|
- Health assessment of the deployed workloads
|
||||||
|
|
|
@ -340,17 +340,16 @@ spec:
|
||||||
|
|
||||||
### What is the behavior of Kustomize used by Flux?
|
### What is the behavior of Kustomize used by Flux?
|
||||||
|
|
||||||
We referred to the **Kustomize v4** CLI flags here,
|
We referred to the **Kustomize v5** CLI flags here,
|
||||||
so that you can replicate the same behavior using `kustomize build`:
|
so that you can replicate the same behavior using `kustomize build`:
|
||||||
|
|
||||||
- `---enable-alpha-plugins` is disabled by default, so it uses only the built-in plugins.
|
- `---enable-alpha-plugins` is disabled by default, so it uses only the built-in plugins.
|
||||||
- `--load-restrictor` is set to `LoadRestrictionsNone`, so it allows loading files outside the dir containing `kustomization.yaml`.
|
- `--load-restrictor` is set to `LoadRestrictionsNone`, so it allows loading files outside the dir containing `kustomization.yaml`.
|
||||||
- `--reorder` is set to `legacy`, so the output will have namespaces and cluster roles/role bindings first, CRDs before CRs, and webhooks last.
|
|
||||||
|
|
||||||
To replicate the build and apply dry run locally:
|
To replicate the build and apply dry run locally:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
kustomize build --load-restrictor=LoadRestrictionsNone --reorder=legacy . \
|
kustomize build --load-restrictor=LoadRestrictionsNone . \
|
||||||
| kubectl apply --server-side --dry-run=server -f-
|
| kubectl apply --server-side --dry-run=server -f-
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -43,12 +43,12 @@ import sourcev1 "github.com/fluxcd/source-controller/api/v1"
|
||||||
|
|
||||||
API Types
|
API Types
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|---|---|
|
|------------------------------------------------------------|---------|
|
||||||
| [GitRepository](../components/source/gitrepositories.md) | v1 |
|
| [GitRepository](../components/source/gitrepositories.md) | v1 |
|
||||||
| [HelmRepository](../components/source/helmrepositories.md) | v1beta2 |
|
| [HelmRepository](../components/source/helmrepositories.md) | v1beta2 |
|
||||||
| [HelmChart](../components/source/helmcharts.md) | v1beta2 |
|
| [HelmChart](../components/source/helmcharts.md) | v1beta2 |
|
||||||
| [Bucket](../components/source/buckets.md) | v1beta2 |
|
| [Bucket](../components/source/buckets.md) | v1beta2 |
|
||||||
|
|
||||||
### kustomize.toolkit.fluxcd.io
|
### kustomize.toolkit.fluxcd.io
|
||||||
|
|
||||||
|
@ -66,9 +66,9 @@ import kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
|
||||||
|
|
||||||
API Types
|
API Types
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|---|---|
|
|-----------------------------------------------------------|---------|
|
||||||
| [Kustomization](../components/kustomize/kustomization.md) | v1 |
|
| [Kustomization](../components/kustomize/kustomization.md) | v1 |
|
||||||
|
|
||||||
### helm.toolkit.fluxcd.io
|
### helm.toolkit.fluxcd.io
|
||||||
|
|
||||||
|
@ -86,8 +86,8 @@ import helmv2 "github.com/fluxcd/helm-controller/api/v2beta1"
|
||||||
|
|
||||||
API Types
|
API Types
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|---|---|
|
|---------------------------------------------------|---------|
|
||||||
| [HelmRelease](../components/helm/helmreleases.md) | v2beta1 |
|
| [HelmRelease](../components/helm/helmreleases.md) | v2beta1 |
|
||||||
|
|
||||||
### notification.toolkit.fluxcd.io
|
### notification.toolkit.fluxcd.io
|
||||||
|
@ -112,11 +112,11 @@ import notificationv1 "github.com/fluxcd/notification-controller/api/v1"
|
||||||
|
|
||||||
API Types
|
API Types
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|---|---|
|
|----------------------------------------------------|---------|
|
||||||
| [Receiver](../components/notification/receiver.md) | v1 |
|
| [Receiver](../components/notification/receiver.md) | v1 |
|
||||||
| [Provider](../components/notification/provider.md) | v1beta2 |
|
| [Provider](../components/notification/provider.md) | v1beta2 |
|
||||||
| [Alert](../components/notification/alert.md) | v1beta2 |
|
| [Alert](../components/notification/alert.md) | v1beta2 |
|
||||||
|
|
||||||
### image.toolkit.fluxcd.io
|
### image.toolkit.fluxcd.io
|
||||||
|
|
||||||
|
@ -138,10 +138,10 @@ import (
|
||||||
|
|
||||||
API Types
|
API Types
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|---|---|
|
|------------------------------------------------------------------------|---------|
|
||||||
| [ImageRepository](../components/image/imagerepositories.md) | v1beta2 |
|
| [ImageRepository](../components/image/imagerepositories.md) | v1beta2 |
|
||||||
| [ImagePolicy](../components/image/imagepolicies.md) | v1beta2 |
|
| [ImagePolicy](../components/image/imagepolicies.md) | v1beta2 |
|
||||||
| [ImageUpdateAutomation](../components/image/imageupdateautomations.md) | v1beta1 |
|
| [ImageUpdateAutomation](../components/image/imageupdateautomations.md) | v1beta1 |
|
||||||
|
|
||||||
## CRUD Example
|
## CRUD Example
|
||||||
|
|
|
@ -309,7 +309,7 @@ our desired Namespace.
|
||||||
Create a directory in your control repository and save this `kustomization.yaml`:
|
Create a directory in your control repository and save this `kustomization.yaml`:
|
||||||
```yaml
|
```yaml
|
||||||
# kustomization.yaml
|
# kustomization.yaml
|
||||||
apiVersion: kustomize.config.k8s.io/v1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- https://github.com/fluxcd/flux2/manifests/integrations/registry-credentials-sync/azure?ref=main
|
- https://github.com/fluxcd/flux2/manifests/integrations/registry-credentials-sync/azure?ref=main
|
||||||
|
|
|
@ -349,7 +349,7 @@ spec:
|
||||||
Create a `kustomization.yaml` that generates the `ConfigMap` using our kustomize config:
|
Create a `kustomization.yaml` that generates the `ConfigMap` using our kustomize config:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: kustomize.config.k8s.io/v1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: podinfo
|
namespace: podinfo
|
||||||
resources:
|
resources:
|
||||||
|
@ -436,7 +436,7 @@ Kustomize configuration.
|
||||||
Create a `kustomization.yaml` that generates the `Secret`:
|
Create a `kustomization.yaml` that generates the `Secret`:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: kustomize.config.k8s.io/v1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: podinfo
|
namespace: podinfo
|
||||||
resources:
|
resources:
|
||||||
|
@ -553,23 +553,22 @@ release:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: notification.toolkit.fluxcd.io/v1beta2
|
apiVersion: notification.toolkit.fluxcd.io/v1beta2
|
||||||
kind: Alert
|
kind: Alert
|
||||||
metadata:
|
metadata:
|
||||||
generation: 2
|
name: helm-podinfo
|
||||||
name: helm-podinfo
|
namespace: flux-system
|
||||||
namespace: flux-system
|
spec:
|
||||||
spec:
|
providerRef:
|
||||||
providerRef:
|
name: slack
|
||||||
name: slack
|
eventSeverity: info
|
||||||
eventSeverity: info
|
eventSources:
|
||||||
eventSources:
|
- kind: HelmRepository
|
||||||
- kind: HelmRepository
|
name: podinfo
|
||||||
name: podinfo
|
- kind: HelmChart
|
||||||
- kind: HelmChart
|
name: default-podinfo
|
||||||
name: default-podinfo
|
- kind: HelmRelease
|
||||||
- kind: HelmRelease
|
name: podinfo
|
||||||
name: podinfo
|
namespace: default
|
||||||
namespace: default
|
|
||||||
```
|
```
|
||||||
|
|
||||||

|

|
||||||
|
|
|
@ -64,6 +64,8 @@ export GITHUB_USER=<your-username>
|
||||||
If you bootstrapped Flux before, you need to add
|
If you bootstrapped Flux before, you need to add
|
||||||
`--components-extra=image-reflector-controller,image-automation-controller` to your
|
`--components-extra=image-reflector-controller,image-automation-controller` to your
|
||||||
bootstrapping routine as image automation components are not installed by default.
|
bootstrapping routine as image automation components are not installed by default.
|
||||||
|
Please note that you need to delete the `flux-system` secret before rerunning bootstrap
|
||||||
|
to [rotate the deploy key](../installation.md#deploy-key-rotation).
|
||||||
{{% /alert %}}
|
{{% /alert %}}
|
||||||
|
|
||||||
Install Flux with the image automation components:
|
Install Flux with the image automation components:
|
||||||
|
@ -445,7 +447,7 @@ spec:
|
||||||
Kustomize config (`kustomization.yaml`) example:
|
Kustomize config (`kustomization.yaml`) example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: kustomize.config.k8s.io/v1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- deployment.yaml
|
- deployment.yaml
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
title: "Manage Kubernetes secrets with Mozilla SOPS"
|
title: "Manage Kubernetes secrets with Mozilla SOPS"
|
||||||
linkTitle: "Mozilla SOPS"
|
linkTitle: "Mozilla SOPS"
|
||||||
description: "Manage Kubernetes secrets with Mozilla SOPS, OpenPGP, Age and Cloud KMS."
|
description: "Manage Kubernetes secrets with Mozilla SOPS, OpenPGP, Age and Cloud KMS."
|
||||||
weight: 70
|
weight: 60
|
||||||
---
|
---
|
||||||
|
|
||||||
In order to store secrets safely in a public or private Git repository, you can use
|
In order to store secrets safely in a public or private Git repository, you can use
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
title: "Sealed Secrets"
|
title: "Sealed Secrets"
|
||||||
linkTitle: "Sealed Secrets"
|
linkTitle: "Sealed Secrets"
|
||||||
description: "Manage Kubernetes secrets with Bitnami sealed-secrets controller."
|
description: "Manage Kubernetes secrets with Bitnami sealed-secrets controller."
|
||||||
weight: 60
|
weight: 70
|
||||||
---
|
---
|
||||||
|
|
||||||
In order to store secrets safely in a public or private Git repository, you can use
|
In order to store secrets safely in a public or private Git repository, you can use
|
||||||
|
|
|
@ -13,13 +13,17 @@ You will need a Kubernetes cluster that matches one of the following versions:
|
||||||
|
|
||||||
| Kubernetes version | Minimum required |
|
| Kubernetes version | Minimum required |
|
||||||
|--------------------|------------------|
|
|--------------------|------------------|
|
||||||
| `v1.20` | `>= 1.20.6` |
|
| `v1.23` | `>= 1.23.0` |
|
||||||
| `v1.21` | `>= 1.21.0` |
|
| `v1.24` | `>= 1.24.0` |
|
||||||
| `v1.22` | `>= 1.22.0` |
|
| `v1.25` | `>= 1.25.0` |
|
||||||
| `v1.23` and later | `>= 1.23.0` |
|
| `v1.26` | `>= 1.26.0` |
|
||||||
|
| `v1.27` and later | `>= 1.27.1` |
|
||||||
|
|
||||||
Note that Flux may work on Kubernetes 1.19,
|
{{% alert color="info" title="Kubernetes EOL" %}}
|
||||||
but we don't recommend running EOL versions in production.
|
Note that Flux may work on older versions of Kubernetes e.g. 1.19,
|
||||||
|
but we don't recommend running [EOL versions](https://endoflife.date/kubernetes)
|
||||||
|
in production nor do we offer support for these versions.
|
||||||
|
{{% /alert %}}
|
||||||
|
|
||||||
## Install the Flux CLI
|
## Install the Flux CLI
|
||||||
|
|
||||||
|
@ -419,18 +423,18 @@ List all container images:
|
||||||
```sh
|
```sh
|
||||||
$ flux install --export | grep ghcr.io
|
$ flux install --export | grep ghcr.io
|
||||||
|
|
||||||
image: ghcr.io/fluxcd/helm-controller:v0.8.0
|
image: ghcr.io/fluxcd/helm-controller:v2.0.0-rc.4
|
||||||
image: ghcr.io/fluxcd/kustomize-controller:v0.9.0
|
image: ghcr.io/fluxcd/kustomize-controller:v2.0.0-rc.4
|
||||||
image: ghcr.io/fluxcd/notification-controller:v0.9.0
|
image: ghcr.io/fluxcd/notification-controller:v2.0.0-rc.4
|
||||||
image: ghcr.io/fluxcd/source-controller:v0.9.0
|
image: ghcr.io/fluxcd/source-controller:v2.0.0-rc.4
|
||||||
```
|
```
|
||||||
|
|
||||||
Pull the images locally and push them to your container registry:
|
Pull the images locally and push them to your container registry:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker pull ghcr.io/fluxcd/source-controller:v0.9.0
|
docker pull ghcr.io/fluxcd/source-controller:v2.0.0-rc.4
|
||||||
docker tag ghcr.io/fluxcd/source-controller:v0.9.0 registry.internal/fluxcd/source-controller:v0.9.0
|
docker tag ghcr.io/fluxcd/source-controller:v2.0.0-rc.4 registry.internal/fluxcd/source-controller:v2.0.0-rc.4
|
||||||
docker push registry.internal/fluxcd/source-controller:v0.9.0
|
docker push registry.internal/fluxcd/source-controller:v2.0.0-rc.4
|
||||||
```
|
```
|
||||||
|
|
||||||
Copy `flux` binary to a computer with access to your air-gapped cluster,
|
Copy `flux` binary to a computer with access to your air-gapped cluster,
|
||||||
|
@ -652,6 +656,7 @@ flux create helmrelease nginx \
|
||||||
|
|
||||||
There are several reasons you may want to rotate the deploy key:
|
There are several reasons you may want to rotate the deploy key:
|
||||||
|
|
||||||
|
- The token used to generate the key has expired.
|
||||||
- The key has been compromised.
|
- The key has been compromised.
|
||||||
- You want to change the scope of the key, e.g. to allow write access using the `--read-write-key` flag to `flux bootstrap`.
|
- You want to change the scope of the key, e.g. to allow write access using the `--read-write-key` flag to `flux bootstrap`.
|
||||||
|
|
||||||
|
@ -664,8 +669,6 @@ To rotate the SSH key generated at bootstrap, first delete the secret from the c
|
||||||
kubectl -n flux-system delete secret flux-system
|
kubectl -n flux-system delete secret flux-system
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Then you have two alternatives to generate a new key:
|
Then you have two alternatives to generate a new key:
|
||||||
|
|
||||||
1. Generate a new secret with
|
1. Generate a new secret with
|
||||||
|
|
|
@ -69,9 +69,9 @@ The completion of this milestone will be marked by the `v2.0.0` release of the F
|
||||||
- [x] `gitrepositories.source.toolkit.fluxcd.io` API specification
|
- [x] `gitrepositories.source.toolkit.fluxcd.io` API specification
|
||||||
- [x] `kustomizations.kustomize.toolkit.fluxcd.io` API specification
|
- [x] `kustomizations.kustomize.toolkit.fluxcd.io` API specification
|
||||||
|
|
||||||
- [ ] Kustomize v5 support
|
- [x] Kustomize v5 support
|
||||||
- [ ] [Update Flux controllers to Kustomize v5.0](https://github.com/fluxcd/flux2/issues/3564)
|
- [x] [Update Flux controllers to Kustomize v5.0](https://github.com/fluxcd/flux2/issues/3564)
|
||||||
- [ ] [Update Kubernetes to 1.27.2](https://github.com/fluxcd/pkg/pull/534)
|
- [x] [Update Kubernetes to 1.27.2](https://github.com/fluxcd/pkg/pull/534)
|
||||||
|
|
||||||
### Flux Helm GA (Q3 2023)
|
### Flux Helm GA (Q3 2023)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue