Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs/130 zarf components #135

Merged
merged 14 commits into from
Oct 29, 2021
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ Zarf runs on [a bunch of operating systems](./docs/supported-oses.md) and aims t
# This block is about expected USECASES & ADMIN of Zarf (in production)
##########
-->
## For *setup & usage instructions*, have a look at...
## To understand *the different modes of use*, have a look at...

<table>
<tbody>
Expand Down Expand Up @@ -282,7 +282,7 @@ Zarf runs on [a bunch of operating systems](./docs/supported-oses.md) and aims t
</td>
<td>

Coming Soon!
[Read](./docs/components.md)

</td>
</tr>
Expand Down
42 changes: 42 additions & 0 deletions docs/components.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Zarf Components

While Zarf is fairly unopinionated regarding what runs in your cluster, that is not to say that it's completely indifferent. It has _distinct_ opinions, for example, about how to meet many common production application functionality needs&mdash;we call these opinions **components**.

Think of components as something like named capabilities.

They're intended to fill in the space _around_ your apps; to do things that must be done but which aren't your core concern&mdash;things like running application logging & monitoring services, or installing pre-configured cluster management software.

Backed by tooling you already know (and love) & structured to fill the gaps you don't want to have to worry over, Zarf's components tie together common software sets and give you an easy, _named_ way to get them into your clusters.

&nbsp;


## Mandatory components

Zarf's work necessitates that some components are "always on" (a.k.a. required & cannot be disabled). Those include:

| |Description|
|--- |---|
|k3s |Installs a lightweight Kubernetes Cluster on the local host&mdash;[k3s](https://k3s.io/)&mdash;and configures it to start up on boot.|
btlghrants marked this conversation as resolved.
Show resolved Hide resolved
|container-registry |Adds a container registry service&mdash;[docker registry](https://docs.docker.com/registry/)&mdash;into the cluster.|

&nbsp;


## Additional components

In addition to those that are always installed, Zarf's optional components provide additional functionality and can be enabled as & when you need them.

These optional components are listed below along with the "magic strings" you pass to `zarf init --components` to pull them in:

|--components |Description|
|--- |---|
|management |Installs tools for managing the Zarf cluster from the local host, including: [k9s](https://k9scli.io/).|
|logging |Adds a log monitoring stack&mdash;[promtail / loki / graphana (a.k.a. PLG)](https://github.com/grafana/loki)&mdash;into the cluster.|
|gitops-service |Adds a [GitOps](https://www.cloudbees.com/gitops/what-is-gitops)-compatible source control service&mdash;[Gitea](https://gitea.io/en-us/)&mdash;into the cluster.|

&nbsp;

## Further reading

For more detail&mdash;like which components are on/off by default&mdash;there's no better place to check than the source: [zarf.yaml](../zarf.yaml).