Skip to main content

Create a Zarf Package

Zarf enables you to consolidate portions of the internet into a single package that can be conveniently installed at a later time. A Zarf Package is a single tarball file that includes all of the resources and instructions required for efficiently managing a system or capability, even when entirely disconnected from the internet. In this context, a disconnected system refers to a system that either consistently operates in an offline mode or occasionally disconnects from the network.

Once defined, a Zarf Package contains comprehensive instructions on assembling various software components that are to be deployed onto the targeted system. The instructions are fully "declarative", meaning that all components are represented by code and automated, eliminating the need for manual intervention.

Additional Resources

To learn more about creating a Zarf package, you can check out the following resources:

Typical Creation Workflow:

The general flow of a Zarf package deployment on an existing initialized cluster is as follows:

# Before creating your package you can lint your zarf.yaml
$ zarf prepare lint <directory>

# To create a package run the following:
$ zarf package create <directory>
# - Enter any package templates that have not yet been defined
# - Type "y" to confirm package creation or "N" to cancel

# Once the creation finishes you can interact with the built package
$ zarf inspect <package-name>.tar.zst
# - You should see the specified package's zarf.yaml
# - You can also see the sbom information with `zarf inspect <package-name>.tar.zst --sbom`