Skip to content

Commit

Permalink
Content edits to Docs Overview (#1394)
Browse files Browse the repository at this point in the history
## Description

- [x] - Made list formatting consistent with Docs Style Guide
- [x] - Added new feature to feature list ( Convert SBOM JSON file into
other formats (.xpdx or .cyclone.dx) to meet government compliance.)

## Related Issue

Fixes #1387 

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Other (security config, docs update, etc)

---------

Co-authored-by: Wayne Starr <[email protected]>
  • Loading branch information
Madeline-UX and Racer159 authored Mar 2, 2023
1 parent 30707e2 commit 6c8f417
Showing 1 changed file with 31 additions and 28 deletions.
59 changes: 31 additions & 28 deletions docs/0-zarf-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,16 @@ A typical Zarf deployment is made up of three parts:

1. The `zarf` binary:
- A statically compiled Go binary that can be run on any machine, server, or operating system with or without connectivity.
- Creates packages containing numerous software types/updates into a single distributable package (while on an internet-accessible network)
- Creates packages containing numerous software types/updates into a single distributable package (while on an internet-accessible network).
- Declaratively deploys package contents "into place" for use on production systems (while on an internet-isolated network).
2. A Zarf init package:
- A compressed tarball package that contains the configuration needed to instantiate an environment without connectivity
- Automatically seeds your cluster with a container registry
- Provide additional capabilities such as (logging, git server, and K8s cluster)
- A compressed tarball package that contains the configuration needed to instantiate an environment without connectivity.
- Automatically seeds your cluster with a container registry.
- Provide additional capabilities such as (logging, git server, and K8s cluster).
3. A Zarf Package:
- A compressed tarball package that contains all of the files, manifests, source repositories, and images needed to deploy your infrastructure, application, and resources in a disconnected environment.


:::note

For more technical information on how Zarf works and to view the Zarf architecture visit our [Nerd Notes page](./6-developer-guide/3-nerd-notes.md)
Expand All @@ -56,10 +57,11 @@ Given Zarf's being a "K8s cluster to serve _other_ k8s clusters", the following

- Container images: to serve images for the Zarf and downstream clusters to run containers from.
- Repositories: to serve as the git-based "source of truth" for downstream "GitOps"ed K8s clusters to watch.
- Pre-compiled binaries: to provide the software necessary to start and support the Zarf cluster.
- [Component actions](4-user-guide/7-github-action.md): to support scripts and commands that run at various stages of the Zarf [component lifecycle](4-user-guide/4-package-command-lifecycle.md)
- Helm charts, kustomizations, and other k8s manifests: to apply in a Kubernetes cluster
- [Data injections](../examples/data-injection/README.md): to declaratively inject data into running containers in a Kubernetes cluster
- Pre-compiled binaries: to provide the software necessary to start & support the Zarf cluster.
- [Component actions](4-user-guide/7-github-action.md): to support scripts and commands that run at various stages of the Zarf [component lifecycle](4-user-guide/4-package-command-lifecycle.md).
- Helm charts, kustomizations, and other k8s manifests: to apply in a Kubernetes cluster.
- [Data injections](../examples/data-injection/README.md): to declaratively inject data into running containers in a Kubernetes cluster.


## How To Use Zarf

Expand Down Expand Up @@ -87,9 +89,9 @@ When it comes to remote, constrained, independent, air-gapped systems, everyone'

Once your package has landed you will need to:

- install the binary onto the system,
- run the zarf init package
- deploy your package to your cluster.
1. install the binary onto the system,
2. run the zarf init package
3. deploy your package to your cluster.

## Cluster Configuration Options

Expand Down Expand Up @@ -122,29 +124,30 @@ In the more complex use case, your package consists of updates for many apps/sys

### 📦 Out of the Box Features

- Automates Kubernetes deployments in disconnected environments
- Automates [Software Bill of Materials (SBOM)](https://www.linuxfoundation.org/tools/the-state-of-software-bill-of-materials-sbom-and-cybersecurity-readiness/) generation
- Provides an [SBOM dashboard UI](dashboard-ui/sbom-dashboard)
- Deploys a new cluster while fully disconnected with [K3s](https://k3s.io/) or into any existing cluster using a [Kube config](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
- Built-in logging stack with [Loki](https://grafana.com/oss/loki/)
- Built-in git server with [Gitea](https://gitea.com/)
- Built-in docker registry
- Built-in [K9s Dashboard](https://k9scli.io/) for managing a cluster from the terminal
- [Mutating Webhook](adr/0005-mutating-webhook.md) to automatically update Kubernetes pod's image path and pull secrets as well as [Flux Git Repository](https://fluxcd.io/docs/components/source/gitrepositories/) URLs and secret references
- Built-in [command to find images](user-guide/the-zarf-cli/cli-commands/zarf_prepare_find-images) and resources from a helm chart
- Tunneling capability to [connect to Kubernetes resources](user-guide/the-zarf-cli/cli-commands/zarf_connect) without network routing, DNS, TLS, or Ingress configuration required
- Automates Kubernetes deployments in disconnected environments.
- Automates [Software Bill of Materials (SBOM)](https://www.linuxfoundation.org/tools/the-state-of-software-bill-of-materials-sbom-and-cybersecurity-readiness/) generation.
- Provides an [SBOM dashboard UI](dashboard-ui/sbom-dashboard).
- Convert SBOM JSON file into government compliant format (.xpdx or .cyclone.dx).
- Deploys a new cluster while fully disconnected with [K3s](https://k3s.io/) or into any existing cluster using a [Kube config](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/).
- Built-in logging stack with [Loki](https://grafana.com/oss/loki/).
- Built-in git server with [Gitea](https://gitea.com/).
- Built-in docker registry.
- Built-in [K9s Dashboard](https://k9scli.io/) for managing a cluster from the terminal.
- [Mutating Webhook](adr/0005-mutating-webhook.md) to automatically update Kubernetes pod's image path and pull secrets as well as [Flux Git Repository](https://fluxcd.io/docs/components/source/gitrepositories/) URLs and secret references.
- Built-in [command to find images](user-guide/the-zarf-cli/cli-commands/zarf_prepare_find-images) and resources from a helm chart.
- Tunneling capability to [connect to Kubernetes resources](user-guide/the-zarf-cli/cli-commands/zarf_connect) without network routing, DNS, TLS, or Ingress configuration required.

### 🛠️ Configurable Features

- Customizable [packages variables](examples/package-variables/README.md) with defaults and user prompting
- [Composable packages](user-guide/zarf-packages/zarf-components#composing-package-components) to include multiple sub-packages/components
- Filters to select the correct architectures/operating systems for packages
- Customizable [packages variables](examples/package-variables/README.md) with defaults and user prompting.
- [Composable packages](user-guide/zarf-packages/zarf-components#composing-package-components) to include multiple sub-packages/components.
- Filters to select the correct architectures/operating systems for packages.

## Quick Start

1. 💻 Select your system's OS below
2. ❗ Ensure you have the pre-requisite applications running
3. `$` Enter the commands into your terminal
1. 💻 Select your system's OS below.
2. ❗ Ensure you have the pre-requisite applications running.
3. `$` Enter the commands into your terminal.

<Tabs>
<TabItem value="Linux" label="Linux">
Expand Down

0 comments on commit 6c8f417

Please sign in to comment.