Upgrading Zarf
Optimally the version of Zarf performing the package create
and package deploy
operations aligns to the version of Init Package that is installed within the cluster.
Follow CLI Installation steps for installing updates to the version of binary installed on the machine executing zarf commands.
Upgrading the init package is a bit different from upgrading a regular application package because it establishes your cluster’s foundational infrastructure. Follow these steps to upgrade your init package:
-
Default Package: If you’re using the default package, run the following command to fetch the latest init package (if it’s not already present locally):
Terminal window zarf tools download-init- Validate: This will download the associated init package to your current working directory unless
--output-directory
is specified.
- Validate: This will download the associated init package to your current working directory unless
-
Manual: The Init Package can also be manually downloaded from the Github releases to a storage location of your choice.
Terminal window VERSION="<target version>"; ARCH="<target architecture>"; curl -LO https://github.com/zarf-dev/zarf/releases/download/${VERSION}/zarf-init-${ARCH}-${VERSION}.tar.zst
-
Init: The init process can be executed to upgrade a cluster from one version to another.
Terminal window zarf init --confirm -
Deploy: Init Packages can also be deployed directly with
package deploy
- allowing for explicit deployment specification and the use of custom init packages.Terminal window zarf package deploy <zarf-init-package tarball> --confirmNote: The use of package deploy for zarf init operations will not expose any configuration for external git/registry options.
-
Validate: Ensure the following zarf resources are healthy:
- Registry (if deployed)
- Agent pods
- Git server (if deployed)
Terminal window zarf tools kubectl get pods -n zarf
After the original zarf init
has taken place - any following initialize actions will use the values in the zarf-state
secret in the zarf
namespace to obtain information for Zarf infrastructure such as the registry. For example, the --registry-pull-password
flag is ignored on subsequent runs.
See the init command for reference.
In order to update any configuration passed into the zarf init
command, you will need to run zarf tools update-creds with the information necessary.