There are several ways to use Zarf & the tooling needed depends on what you plan to do with it. Here are some of the most common use cases, along with what you'll need to install on your workstation to play along.
The simplest path to Zarf is to download a pre-built release and execute it on your shell (just like any other CLI tool). To do that:
-
brew tap defenseunicorns/tap
-
brew install zarf
-
Point your browser at the current list of Zarf releases.
-
Scroll to the version you want.
-
Download:
-
The zarf cluster initialization package:
zarf-init-<arch>.tar.zst
. -
The appropriate zarf binary for your system (choose one):
system binary Linux (64bit) zarf
Intel-based Mac zarf-mac-intel
Apple-based Mac zarf-mac-apple
-
(optional) The checksum file:
zarf.sha256
.
-
-
(optional) Verify integrity of the downloaded files by validating their hashes—more about that ( here / here ) if you're interested. From the directory holding your files, run:
shasum -c ./zarf.sha256 > zarf: OK # <-- you should see "OK"s, like this > zarf-init-amd64.tar.zst: OK > zarf-init-arm64.tar.zst: OK > zarf-mac-apple: OK > zarf-mac-intel: OK
Once you've got everything downloaded, you're ready to run commands directly against the zarf binary, like:
chmod +x ./zarf && ./zarf help
# substitute ./zarf-mac-intel or ./zarf-mac-apple above, as appropriate
If you're looking for an easy & low-risk way to evaluate Zarf, our recommendation is to pop into the examples
folder. Because the demos aren't intended to be long-lived and are expected to clean up after themselves they are a perfect way to kick the tires.
There are lots of ways to get a sandbox environment, here's two of them:
-
Install Docker. Other container engines will likely work as well but aren't actively tested by the Zarf team.
-
Install KinD. Other Kubernetes distros will work as well, but we'll be using KinD for this example since it is easy and tested frequently and thoroughly.
-
Run
kind create cluster
That's it! You should now have a Kubernetes cluster running in Docker for use. Run kind delete cluster
to clean up when you are done.
You'll need to install these tools to run the examples if you want to use Vagrant:
-
Virtualbox — The hypervisor we use to run our example VMs.
Take note
We do not use the VirtualBox Extension Pack as it is not free for general use. See ( here / here ) for details.
-
Vagrant — A CLI-based automation+workflow tool which greatly simplifies setup & use of VMs for development purposes.
-
Make — The tool used to build / test the zarf binaries & record / execute general-purpose, project specific development tasks.
-
Kustomize — Provides a template-free, patch-based mechanism for customizing Kubernetes configuration files.
Take note
Currently only used by the
big-bang
example but still required to start the singular example VM!
Once you've got everything installed you're ready to run some examples! We recommend giving the Get Started - game example a try!
During dev & test, Zarf gets its exercise the same way the examples do—inside a VM. Getting setup for development means that you'll need to install:
-
The demo/example sandbox prerequisites — the virtualization stack we use for execution isolation.
-
Go — the programming language / build tools we use to create the
zarf
(et al.) binary.Currently required version is
1.18.x
.
Once everything is installed, you're ready to build your own version of Zarf. Give it a try using the instructions here: Build Your First Zarf.