diff --git a/README.md b/README.md index 2c405c7c34..89c3fb00c4 100644 --- a/README.md +++ b/README.md @@ -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... @@ -282,7 +282,7 @@ Zarf runs on [a bunch of operating systems](./docs/supported-oses.md) and aims t diff --git a/docs/components.md b/docs/components.md new file mode 100644 index 0000000000..868362d972 --- /dev/null +++ b/docs/components.md @@ -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—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—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. + +  + + +## 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—[k3s](https://k3s.io/)—and configures it to start up on boot.| +|container-registry |Adds a container registry service—[docker registry](https://docs.docker.com/registry/)—into the cluster.| + +  + + +## 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—[promtail / loki / graphana (a.k.a. PLG)](https://github.com/grafana/loki)—into the cluster.| +|gitops-service |Adds a [GitOps](https://www.cloudbees.com/gitops/what-is-gitops)-compatible source control service—[Gitea](https://gitea.io/en-us/)—into the cluster.| + +  + +## Further reading + +For more detail—like which components are on/off by default—there's no better place to check than the source: [zarf.yaml](../zarf.yaml). \ No newline at end of file
- Coming Soon! + [Read](./docs/components.md)