Skip to main content
Version: 0.24.0

Upgrade to Flux GA

We are very excited for the release of the Flux GA!

This guide aims to answer some common questions before starting the upgrade, as well as providing step-by-step instructions for the upgrade.

Before Starting

Here there are some useful terms that are used in this guide:

Important events during this period

Dates for these events are not finalized and will depend on when the releases are made

  • The release of a version of Weave Gitops OSS/EE that will require Flux GA be installed (in the weeks after Flux GA is released).
  • The release of a version of Flux GA that will drop support for < v1 Custom Resources (~6-12 months after Flux GA is released).

You can take steps today to address both these events.

FAQ

Here you could find the most common questions around upgrading.

Why upgrade to Flux GA

Flux Beta APIs have been stable and used in production for quite some time now. However, with Flux GA there is big reason to move to v1: it is the main supported API version for new features and developments. Features like horizontal scaling are only available in Flux GA. Also, have into consideration that beta APIs will be removed after 6 months.

For more information about the Flux GA roadmap see here

Can I use Weave Gitops with Flux GA Release Candidates?

Yes, since Weave Gitops v0.22.0, you could use it with Flux GA Release Candidates. It is recommended you use the latest available release for the best experience.

Can I use Weave Gitops Enterprise with Flux GA Release Candidates?

Yes, since Weave Gitops Enterprise v0.22.0, you could use it with Flux GA Release Candidates. It is recommended you use the latest available release for the best experience.

The following limitations are knowns by version:

v0.23.0 onwards

No limitations

v0.22.0

If you are using gitopssets we can upgrade that component to gitopssets v0.10.0 for Flux GA compatibility. Update the Weave Gitops Enterprise HelmRelease values to use the new version.

gitopssets-controller:
controllerManager:
manager:
image:
tag: v0.10.0

I am using Weave Gitops v0.22 (or later) with Flux Beta, what is the impact?

Latest Weave Gitops is compatible with Flux Beta so no impact is expected.

I am using Weave Gitops EE v0.22 (or later) with Flux Beta, what is the impact?

Latest Weave Gitops Enterprise is compatible with Flux Beta so no impact is expected.

What is the support strategy and timelines?

Weave Gitops currently supports both Flux Beta and Flux GA v2.0.0 release candidates. It means that features, bugs and security patches are compatible with both API versions.

We expect this to change once Flux GA v2.0.0 is released. At that moment only Flux GA will be fully supported. Flux Beta support will be deprecated, only releasing patches for CVEs impacting Weave Gitops for Flux Beta.

Looking to timelines, we expect Flux Beta deprecation right after Flux GA is released.

When support for Flux Beta will be dropped?

Once Flux GA is released. A concrete date will be given after that event that we expect to be in the range of weeks after the release.

Will be able to use Flux Beta once Flux GA is released?

It is encouraged you to plan upgrading to Flux GA using its release candidates train. However, if for reasons you are not able to, you will be able to use Weave Gitops with Flux Beta, but we expect you could find increasing limitations as new features would design with Flux GA APIs in mind.

Upgrade

Note

Flux GA release candidates have the same Kubernetes compatibility as Flux 0.41.2

Hosted flux?

If you are using a hosted Flux version, please check with your provider if they support Flux GA before upgrading following this guide. Known hosted flux providers:

As of writing they do not yet support the new version so please wait before upgrading to Flux GA.

Below, we'll take you through the multiple steps required to migrate to your system to Flux GA. After each step the cluster will be in a working state, so you can take your time to complete the migration.

  1. Upgrade to latest Weave Gitops
  2. Upgrade to Flux GA in ClusterBootstrapConfigs
  3. Upgrade to Flux GA on your leaf clusters and management clusters
  4. Upgrade GitopsTemplates, GitopsSets and ClusterBootstrapConfigs

1. Upgrade to latest WGE

Use your regular WGE upgrade procedure to bring it to the latest

upgrading to Flux GA with WGE v0.22.0?

Ensure that you address this

At this stage you have Weave Gitops running Flux Beta.

2. Upgrade to Flux GA in ClusterBootstrapConfigs

First we ensure any new clusters are bootstrapped with Flux GA, then we'll upgrade the existing clusters.

ClusterBootstrapConfig will most often contain an invocation of flux bootstrap, make sure the image is using v2.

Expand to see an example
diff --git a/tools/dev-resources/user-guide/cluster-bootstrap-config.yaml b/tools/dev-resources/user-guide/cluster-bootstrap-config.yaml
index bd41ec036..1b21df860 100644
--- a/tools/dev-resources/user-guide/cluster-bootstrap-config.yaml
+++ b/tools/dev-resources/user-guide/cluster-bootstrap-config.yaml
@@ -1,34 +1,34 @@
apiVersion: capi.weave.works/v1alpha1
kind: ClusterBootstrapConfig
metadata:
name: capi-gitops
namespace: default
spec:
clusterSelector:
matchLabels:
weave.works/capi: bootstrap
jobTemplate:
generateName: "run-gitops-{{ .ObjectMeta.Name }}"
spec:
containers:
- - image: ghcr.io/fluxcd/flux-cli:v0.34.0
+ - image: ghcr.io/fluxcd/flux-cli:v2
name: flux-bootstrap
...
At this stage, your new bootstrapped clusters will run Flux GA.

3. Upgrade to Flux GA on your existing leaf clusters and management clusters

Follow the upgrade instructions from the Flux v2.0.0-rc.1 release notes.

At minimum, you'll need to rerun the flux bootstrap command on your leaf clusters and management clusters.

You'll also need to bump APIs version in your manifests to v1 as described in the flux upgrade instructions:

Bumping the APIs version in manifests can be done gradually. It is advised to not delay this procedure as the beta versions will be removed after 6 months.

At this stage all clusters are running Flux GA.

4. Upgrade GitopsTemplates, GitopsSets and ClusterBootstrapConfigs

Bumping the APIs version in manifests can be done gradually. It is advised to not delay this procedure as the beta versions will be removed after 6 months.

GitopsTemplate and CAPITemplate

Update GitRepository and Kustomization CRs in the spec.resourcetemplates to v1 as described in the flux upgrade instructions.

GitopsSets

Update GitRepository and Kustomization CRs in the spec.template of your GitopsSet resources to v1 as described in the flux upgrade instructions.

5. Future steps

At this stage all clusters are running Flux GA. This will allow you to seamlessly upgrade to the upcoming release of Weave Gitops that will drop support for Flux Beta.

If you have updated your Kustomization and GitRepository resources to v1 you will also be able to upgrade to the future release of Flux that will drop support for < v1 apis.

info

Weave Gitops Enterprise 0.23.0 generates v1beta2 Kustomization Custom Resources when using the Add app and Cluster Template features.

This is to support installations still using Flux Beta.

After upgrading to the release of Weave Gitops that drops support for Flux Beta, Weave Gitops Enterprise will create v1 Resources. However, you will have to manually update any Kustomization resources that have been created to v1.

Contact us

In case you find any issue, please let us know via support.