Add toolkit components docs
This commit is contained in:
BIN
docs/_files/kustomize-controller.png
Normal file
BIN
docs/_files/kustomize-controller.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
BIN
docs/_files/source-controller.png
Normal file
BIN
docs/_files/source-controller.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
23
docs/components/kustomize/controller.md
Normal file
23
docs/components/kustomize/controller.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Kustomize Controller
|
||||
|
||||
The kustomize-controller is a Kubernetes operator,
|
||||
specialized in running continuous delivery pipelines for infrastructure and
|
||||
workloads defined with Kubernetes manifests and assembled with Kustomize.
|
||||
|
||||

|
||||
|
||||
Features:
|
||||
|
||||
- Reconciles the cluster state from multiple sources (provided by source-controller)
|
||||
- Generates manifests with Kustomize (from plain Kubernetes yamls or Kustomize overlays)
|
||||
- Validates manifests against Kubernetes API
|
||||
- Impersonates service accounts (multi-tenancy RBAC)
|
||||
- Health assessment of the deployed workloads
|
||||
- Runs pipelines in a specific order (depends-on relationship)
|
||||
- Prunes objects removed from source (garbage collection)
|
||||
- Reports cluster state changes (Slack/Discord)
|
||||
|
||||
Links:
|
||||
|
||||
- Source code [fluxcd/kustomize-controller](https://github.com/fluxcd/kustomize-controller)
|
||||
- Specification [docs](https://github.com/fluxcd/kustomize-controller/tree/master/docs/spec)
|
||||
24
docs/components/source/controller.md
Normal file
24
docs/components/source/controller.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Source Controller
|
||||
|
||||
The main role of the source management component is to provide a common interface for artifacts acquisition.
|
||||
The source API defines a set of Kubernetes objects that cluster admins and various automated operators can
|
||||
interact with to offload the Git and Helm repositories operations to a dedicated controller.
|
||||
|
||||

|
||||
|
||||
Features:
|
||||
|
||||
- Validate source definitions
|
||||
- Authenticate to sources (SSH, user/password, API token)
|
||||
- Validate source authenticity (PGP)
|
||||
- Detect source changes based on update policies (semver)
|
||||
- Fetch resources on-demand and on-a-schedule
|
||||
- Package the fetched resources into a well-known format (tar.gz, yaml)
|
||||
- Make the artifacts addressable by their source identifier (sha, version, ts)
|
||||
- Make the artifacts available in-cluster to interested 3rd parties
|
||||
- Notify interested 3rd parties of source changes and availability (status conditions, events, hooks)
|
||||
|
||||
Links:
|
||||
|
||||
- Source code [fluxcd/source-controller](https://github.com/fluxcd/source-controller)
|
||||
- Specification [docs](https://github.com/fluxcd/source-controller/tree/master/docs/spec)
|
||||
@@ -9,12 +9,17 @@ cluster admins or by other automated tools.
|
||||
The GitOps Toolkit components interact with each other via Kubernetes
|
||||
events and are responsible for the reconciliation of their designated API objects.
|
||||
|
||||

|
||||
!!! hint "Work in Progress"
|
||||
We envision a feature where **Flux v2** and **Helm Operator v2** will be assembled from
|
||||
the GitOps Toolkit components. The Flux CD team is looking for feedback and help as
|
||||
the toolkit is in an active experimentation phase.
|
||||
If you wish to take part in this quest please reach out to us on Slack and GitHub.
|
||||
|
||||
Components:
|
||||
|
||||
- [Toolkit CLI](https://github.com/fluxcd/toolkit)
|
||||
- [Source Controller](https://github.com/fluxcd/source-controller)
|
||||
- [Kustomize Controller](https://github.com/fluxcd/kustomize-controller)
|
||||
- [Source Controller](components/source/controller.md)
|
||||
- [Kustomize Controller](components/kustomize/controller.md)
|
||||
|
||||
To get started with the toolkit please follow this [guide](get-started/index.md).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user