Installing | Upgrading | Downgrading | Uninstalling Weave GitopsSets Controller on Workload/Leaf Clusters
Summary
If you are reading this it is likely because you wish to take advantage of the GitOpsSets Controller as a component of a Workload (or Leaf) Cluster. This will allow tenants to deploy GitOpsSets to manage their workloads directly on their clusters without requiring external intervention from the management cluster.
Prerequisites
A kubernetes cluster of the appropriate distribution/release as that against which Weave GitOps is tested. Please see https://docs.gitops.weave.works/docs/open-source/getting-started/install-OSS/#check-your-clusters-kubernetes-version
Process: Installation
Please see https://docs.gitops.weave.works/docs/gitopssets/installation/#installing-the-gitopssets-controller for the canonical method to install.
If you wish to manage the specifics of the controller you will need to review the values using these can be retrieved from the chart by running:
- helm repo add age https://artifacts.wge.dev.weave.works/dev/charts
- helm show values age/weave-gitops-controller
The referenced helmrepository/helmrelease will need to be installed as part of a workload clusters application manifests.
Process: Upgrade/Downgrade
If you need to upgrade/downgrade the GitOpsSets controller for any reason you can configure the controller version separately from the installation by adding the below configuration to the workload clusters application manifest directory. Please choose a version from https://docs.gitops.weave.works/docs/gitopssets/releases/:
Amend the Helmrelease 'spec.chart.spec.version' value to the desired version to upgrade/downgrade to:
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: gitopssets-controller
namespace: flux-system
spec:
chart:
spec:
...
version: 0.6.2
Follow you normal process to reconcile and update the installation.
Process: Uninstall
To uninstall the GitopsSets controller you can simply remove HelmRelease manifest from the workload clusters application directory.
NOTE: Removing the controller will not remove reconciled workloads. There may be numerous resources which these would remove and we would advise to see all resources with the below labels:
app.kubernetes.io/part-of: gitopssets-controller
app.kubernetes.io/created-by: gitopssets-controller
using a query such as `kubectl get all --selector-key app.kubernetes.io/created-by:=gitopssets-controller`
We recommend that in the event you wish to remove all managed/reconciled workloads that prior to uninstalling you remove all gitopsset custom resources from the cluster whilst the CRD which these reference is still intact. This will ensure the GitopsSets controller removes the managed resources without the need for manual intervention.