Skip to main content
Version: main

Upgrading

How to: Upgrade to Weave GitOps Enterprise#

BEFORE YOU START

Make sure the following software is installed before continuing with these instructions:

  • gitops >= 0.5.0-rc2. Use gitops version to check the currently installed version. If needed, download a newer version of Weave GitOps from the releases page.

Also GITHUB_TOKEN should be set as an environment variable in the current shell. It should have permissions to create Pull Requests against the cluster config repo.

Upgrading requires we:

  1. Have a cluster with Weave GitOps installed
  2. Install a CAPI provider
  3. Apply the entitlements secret
  4. Upgrade
  5. Check that Weave GitOps Enterprise has been installed
  6. Connect the management cluster up to itself

1. Install gitops on a new cluster#

We'll use kind here as an example.

  • The extraMounts are for the Docker CAPI provider (CAPD)
  • extraPortMappings are for easily accessing NATS and the UI
kind-config.yaml
kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:  - role: control-plane    extraMounts:      - hostPath: /var/run/docker.sock        containerPath: /var/run/docker.sock    extraPortMappings:      - containerPort: 30080        hostPort: 30080        listenAddress: "0.0.0.0" # Optional, defaults to "0.0.0.0"        protocol: tcp # Optional, defaults to tcp      - containerPort: 31490        hostPort: 31490        listenAddress: "0.0.0.0" # Optional, defaults to "0.0.0.0"        protocol: tcp # Optional, defaults to tcp

Fire up cluster

kind create cluster --config kind-config.yaml

Create a new repo

gh repo create my-management-cluster --private --confirmcd my-management-clusterecho "# my-management-cluster" > README.mdgit add README.mdgit commit --all --message "init commit"git push -u origin main

Install Weave Gitops

gitops install --app-config-url https://github.com/my-org/my-repo

2. Install a CAPI provider#

clusterctl versions

The example templates provided in this guide have been tested with clusterctl version 1.0.1. However you might need to use an older or newer version depending on the capi-providers you plan on using.

Download a specific version of clusterctl from the releases page.

In order to be able to provision Kubernetes clusters, a CAPI provider needs to be installed.

clusterctl init --infrastructure docker

3. Apply the entitlements secret#

Contact sales@weave.works for a valid entitlements secret. Then apply it to the cluster:

kubectl apply -f entitlements.yaml

4. Upgrade#

Run the upgrade command specifying the same --app-config-repo used in install and the desired version of Weave GitOps Enterprise.

gitops upgrade --app-config-url https://github.com/my-org/my-repo --version 0.0.16
note

You may need to add the --base flag to the above command to indicate your local branch name, if it is not set to main.

A Pull Request will be created against your cluster repository. Review and merge this pull request to upgrade to Weave GitOps Enterprise.

5. Checking that WGE is installed#

You should now be able to load the WGE UI:

kubectl port-forward --namespace wego-system deployments.apps/weave-gitops-enterprise-nginx-ingress-controller 8000:80

The WGE UI should now be accessible at http://localhost:8000.

6. Connect the management cluster up to itself#

Connecting a cluster installs the agent which is responsible for detecting new clusters and reporting their status to the UI. We need to install the agent on our newly created management cluster. Check out How to: Connect a cluster. The agent should be loaded onto our new management cluster, give it a name like Management and leave the Ingress URL blank.

Head over to Getting started to create your first CAPI Cluster.