Skip to content

Latest commit

 

History

History
127 lines (74 loc) · 4.93 KB

workstation.md

File metadata and controls

127 lines (74 loc) · 4.93 KB

Workstation Setup

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.

 

Just gimmie Zarf!

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:

Install

Install via Homebrew

  1. brew tap defenseunicorns/tap

  2. brew install zarf

Install via Web Browser

  1. Point your browser at the current list of Zarf releases.

  2. Scroll to the version you want.

  3. 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.

  4. (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

 

Try it out

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

 

I want a demo/example sandbox

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:

Kubernetes-In-Docker (KinD)

  1. Install Docker. Other container engines will likely work as well but aren't actively tested by the Zarf team.

  2. 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.

  3. 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.

Vagrant

You'll need to install these tools to run the examples if you want to use Vagrant:

  1. 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.

  2. Vagrant — A CLI-based automation+workflow tool which greatly simplifies setup & use of VMs for development purposes.

  3. Make — The tool used to build / test the zarf binaries & record / execute general-purpose, project specific development tasks.

  4. 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!

 

Try it out

Once you've got everything installed you're ready to run some examples! We recommend giving the Get Started - game example a try!

 

I need a dev machine

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:

  1. The demo/example sandbox prerequisites — the virtualization stack we use for execution isolation.

  2. Go — the programming language / build tools we use to create the zarf (et al.) binary.

    Currently required version is 1.18.x.

 

Try it out

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.