User Guide
Experience just how easy it is to go from zero to chainsaw-wielding hero (of the Kubernetes cluster) using Zarf!
This guide is intended for end users who are using Zarf in a disconnected environment, and contains information on how to use and configure Zarf's major features:
- Deploy Zarf Packages (Zpkg)
- Maintain Zarf Packages in the cluster
- A reference of all CLI commands
- Autogenerate and view a package SBOM
- Add logging to your cluster
- A list of supported Zarf packages
Overview of Zarf Workflow
Create a package

(0) - Identify software to-be-moved
Zarf doesn't build software; it helps you distribute software that already exists.
Zarf can pull from sources like Docker Hub, Iron Bank, GitHub, local filesystems, etc. but you have to make sure that Zarf has a clear path & appropriate access credentials. Be sure you know what you want to pack & how to access it before you Zarf.
Find out more about the types of software Zarf can move in the "What can be packaged?" section.
(1) - Preparation
To build a Zarf package, you need to prepare:
a "packaging" workstation which must have the
zarf
CLI tool installed, anda
zarf.yaml
file which tells Zarf what you need to package.
Find some detailed uses of the zarf.yaml
file in our examples.
(2) - Package
Making a Zarf package out of a zarf.yaml
file is a matter of calling a single, simple command: zarf package create
. You'll see a zarf-package-*.tar.zst
file pop into existence afterward. That's your package.
Find out more about that by calling the CLI for help, or check out an example package build in our game example.
Ship Package

What this activity looks like is very contextual to the target environment, so Zarf tries not to have an opinion. Transfer Zarf packages between production & operating locations using whatever mechanisms are appropriate.
Have to burn your package to disk & "sneakernet" it? That works.
Got an intermittent, super-secret satellite uplink you can use? Awesome.
Can you make a direct network connection? Even better.
Consider the art of the possible and use what you can. Zarf will work, regardless.
Deploy Package
Other Resources
If you are looking for more advanced information on how to operate and customize Zarf to your specific environment needs, check out these additional resources.
- For information on how to create a custom configuration of the Zarf CLI see the Operator Manual
- For information on how to create your own Zarf Packages see the Developer Guide
- To see some of the ways our community is using Zarf to deploy code onto AirGap systems see the Zarf Examples