Refactor flux uninstall command
- deletes Flux components (deployments and services) - deletes Flux RBAC (service accounts, cluster roles and cluster role bindings) - removes the Kubernetes finalizers from Flux custom resources - deletes Flux custom resource definitions and custom resources - deletes the namespace where Flux was installed - preserves the Kubernetes objects and Helm releases that were reconciled on the cluster by Flux Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
@@ -12,7 +12,7 @@ Command line utility for assembling Kubernetes CD pipelines the GitOps way.
|
||||
# Check prerequisites
|
||||
flux check --pre
|
||||
|
||||
# Install the latest version of the toolkit
|
||||
# Install the latest version of Flux
|
||||
flux install --version=master
|
||||
|
||||
# Create a source from a public Git repository
|
||||
@@ -59,8 +59,8 @@ Command line utility for assembling Kubernetes CD pipelines the GitOps way.
|
||||
# Delete a GitRepository source
|
||||
flux delete source git webapp-latest
|
||||
|
||||
# Uninstall the toolkit and delete CRDs
|
||||
flux uninstall --crds
|
||||
# Uninstall Flux and delete CRDs
|
||||
flux uninstall
|
||||
|
||||
```
|
||||
|
||||
@@ -88,5 +88,5 @@ Command line utility for assembling Kubernetes CD pipelines the GitOps way.
|
||||
* [flux reconcile](flux_reconcile.md) - Reconcile sources and resources
|
||||
* [flux resume](flux_resume.md) - Resume suspended resources
|
||||
* [flux suspend](flux_suspend.md) - Suspend resources
|
||||
* [flux uninstall](flux_uninstall.md) - Uninstall the toolkit components
|
||||
* [flux uninstall](flux_uninstall.md) - Uninstall Flux and its custom resource definitions
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
## flux uninstall
|
||||
|
||||
Uninstall the toolkit components
|
||||
Uninstall Flux and its custom resource definitions
|
||||
|
||||
### Synopsis
|
||||
|
||||
The uninstall command removes the namespace, cluster roles, cluster role bindings and CRDs from the cluster.
|
||||
The uninstall command removes the Flux components and the toolkit.fluxcd.io resources from the cluster.
|
||||
|
||||
```
|
||||
flux uninstall [flags]
|
||||
@@ -13,22 +13,20 @@ flux uninstall [flags]
|
||||
### Examples
|
||||
|
||||
```
|
||||
# Dry-run uninstall of all components
|
||||
flux uninstall --dry-run --namespace=flux-system
|
||||
# Uninstall Flux components, its custom resources and namespace
|
||||
flux uninstall --namespace=flux-system
|
||||
|
||||
# Uninstall all components and delete custom resource definitions
|
||||
flux uninstall --resources --crds --namespace=flux-system
|
||||
# Uninstall Flux but keep the namespace
|
||||
flux uninstall --namespace=infra --keep-namespace=true
|
||||
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
```
|
||||
--crds removes all CRDs previously installed
|
||||
--dry-run only print the object that would be deleted
|
||||
-h, --help help for uninstall
|
||||
--resources removes custom resources such as Kustomizations, GitRepositories and HelmRepositories (default true)
|
||||
-s, --silent delete components without asking for confirmation
|
||||
-h, --help help for uninstall
|
||||
--keep-namespace skip namespace deletion
|
||||
-s, --silent delete components without asking for confirmation
|
||||
```
|
||||
|
||||
### Options inherited from parent commands
|
||||
|
||||
@@ -608,11 +608,27 @@ kustomize build https://github.com/fluxcd/flux2/manifests/install?ref=main | kub
|
||||
|
||||
## Uninstall
|
||||
|
||||
You can uninstall the Flux components with:
|
||||
You can uninstall Flux with:
|
||||
|
||||
```sh
|
||||
flux uninstall --crds
|
||||
flux uninstall --namespace=flux-system
|
||||
```
|
||||
|
||||
The above command will delete the custom resources definitions, the
|
||||
controllers, and the namespace where they were installed.
|
||||
The above command performs the following operations:
|
||||
|
||||
- deletes Flux components (deployments and services)
|
||||
- deletes Flux RBAC (service accounts, cluster roles and cluster role bindings)
|
||||
- removes the Kubernetes finalizers from Flux custom resources
|
||||
- deletes Flux custom resource definitions and custom resources
|
||||
- deletes the namespace where Flux was installed
|
||||
|
||||
If you've installed Flux in a namespace that you wish to preserve, you
|
||||
can skip the namespace deletion with:
|
||||
|
||||
```sh
|
||||
flux uninstall --namespace=infra --keep-namespace
|
||||
```
|
||||
|
||||
!!! hint
|
||||
Note that the `uninstall` command will not remove any Kubernetes objects
|
||||
or Helm releases that were reconciled on the cluster by Flux.
|
||||
|
||||
Reference in New Issue
Block a user