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:
Flux Beta or Flux v0.x
as the latest Flux Beta Release.Flux GA
as the latest Flux GA Release CandidateWeave Gitops
as the latest Weave Gitops Enterprise release
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
Flux GA release candidates have the same Kubernetes compatibility as Flux 0.41.2
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:
- EKS Anywhere
- Azure AKS Flux-Gitops extension
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.
- Upgrade to latest Weave Gitops
- Upgrade to Flux GA in
ClusterBootstrapConfig
s - Upgrade to Flux GA on your leaf clusters and management clusters
- Upgrade GitopsTemplates, GitopsSets and ClusterBootstrapConfigs
1. Upgrade to latest WGE
Use your regular WGE upgrade procedure to bring it to the latest
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
...
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.
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.