zarf

command module
v0.23.0-rc7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

README

Zarf - DevSecOps for Air Gap

Latest Release Zarf Slack Channel Zarf Website Zarf Documentation Go version Build Status

zarf logo

Zarf eliminates the complexity of air gap software delivery for Kubernetes clusters and cloud native workloads using a declarative packaging strategy to support DevSecOps in offline and semi-connected environments.

📦 Out of the Box Features

🛠️ Configurable Features

  • Customizable packages variables with defaults and user prompting
  • Composable packages to include multiple sub-packages/components
  • Filters to select the correct architectures/operating systems for packages

Early Zarf research and prototypes were developed jointly with United States Naval Postgraduate School research you can read here.

Demo

preview

https://www.youtube.com/watch?v=WnOYlFVVKDE

Getting Started

To try Zarf out for yourself, visit the "Try It Now" section on our website, and if you want to learn more about Zarf and its use cases visit docs.zarf.dev.

From the docs you can learn more about installation, using the CLI, making packages, and the Zarf package schema.

Using Zarf in Github workflows? Checkout the setup-zarf action. Install any version of Zarf and it's init package with zero added dependencies.

Developing

To contribute, please see our Contributor Guide. Below is an architectural diagram showing the basics of how Zarf functions which you can read more about here.

Architecture Diagram

Source DrawIO

Special Thanks

We would also like to thank the following awesome libraries and projects without which Zarf would not be possible!

pterm/pterm mholt/archiver spf13/cobra go-git/go-git sigstore/cosign helm.sh/helm kubernetes

Documentation

Overview

Package main is the entrypoint for the zarf binary

Directories

Path Synopsis
cli module
src
cmd
Package cmd contains the CLI commands for zarf contains the CLI commands for zarf
Package cmd contains the CLI commands for zarf contains the CLI commands for zarf
config
Package config stores the global configuration and constants
Package config stores the global configuration and constants
config/lang
Package lang contains the language strings for english used by Zarf Alternative languages can be created by duplicating this file and changing the build tag to "//go:build alt_language && <language>"
Package lang contains the language strings for english used by Zarf Alternative languages can be created by duplicating this file and changing the build tag to "//go:build alt_language && <language>"
internal/agent
Package agent holds the mutating webhook server
Package agent holds the mutating webhook server
internal/agent/hooks
Package hooks contains the mutation hooks for the zarf agent
Package hooks contains the mutation hooks for the zarf agent
internal/agent/http
Package http provides a http server for the agent
Package http provides a http server for the agent
internal/agent/operations
Package operations provides functions for the mutating webhook
Package operations provides functions for the mutating webhook
internal/api
Package api provides the UI API server
Package api provides the UI API server
internal/api/auth
Package auth provides an endpoint for authenticating against the Zarf UI server
Package auth provides an endpoint for authenticating against the Zarf UI server
internal/api/cluster
Package cluster contains zarf-specific cluster management functions
Package cluster contains zarf-specific cluster management functions
internal/api/common
Package common provides common functions for the api
Package common provides common functions for the api
internal/api/components
Package components provides api functions for managing zarf components
Package components provides api functions for managing zarf components
internal/api/packages
Package packages provides api functions for managing zarf packages
Package packages provides api functions for managing zarf packages
internal/cluster
Package cluster contains zarf-specific cluster management functions
Package cluster contains zarf-specific cluster management functions
internal/packager/git
Package git contains functions for interacting with git repositories
Package git contains functions for interacting with git repositories
internal/packager/helm
Package helm contins operations for working with helm charts
Package helm contins operations for working with helm charts
internal/packager/images
Package images provides functions for building and pushing images
Package images provides functions for building and pushing images
internal/packager/kustomize
Package kustomize provides functions for building kustomizations
Package kustomize provides functions for building kustomizations
internal/packager/sbom
Package sbom contains tools for generating SBOMs
Package sbom contains tools for generating SBOMs
internal/packager/template
Package template provides functions for templating yaml files
Package template provides functions for templating yaml files
internal/packager/validate
Package validate provides zarf package validation functions
Package validate provides zarf package validation functions
pkg/k8s
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
pkg/message
Package message provides a rich set of functions for displaying messages to the user.
Package message provides a rich set of functions for displaying messages to the user.
pkg/packager
Package packager contains functions for interacting with, managing and deploying zarf packages
Package packager contains functions for interacting with, managing and deploying zarf packages
pkg/pki
Package pki provides a simple way to generate a CA and signed server keypair
Package pki provides a simple way to generate a CA and signed server keypair
pkg/utils
Package git contains functions for interacting with git repositories
Package git contains functions for interacting with git repositories
test/e2e
Package test provides e2e tests for zarf
Package test provides e2e tests for zarf
types
Package types contains all the types used by Zarf
Package types contains all the types used by Zarf
test
e2e Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL