Skip to content

Commit da180c9

Browse files
bsctlltcbs
andauthored
feat(docs): document how to install helm kamaji-crds (#983)
* feat(docs): document how to install helm kamaji-crds * fix(docs): document how to install helm kamaji-crds --------- Co-authored-by: bsctl <[email protected]>
1 parent 4cced97 commit da180c9

File tree

3 files changed

+73
-0
lines changed

3 files changed

+73
-0
lines changed

docs/content/getting-started/kamaji-aws.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,17 @@ helm repo update
166166
helm install kamaji clastix/kamaji -n kamaji-system --create-namespace --version 0.0.0+latest
167167
```
168168

169+
!!! note "Alternative: Two-Step Installation"
170+
The kamaji chart includes CRDs. For separate CRD management (GitOps, policy requirements), install CRDs first:
171+
172+
```bash
173+
# Step 1: Install CRDs
174+
helm install kamaji-crds clastix/kamaji-crds -n kamaji-system --create-namespace --version 0.0.0+latest
175+
176+
# Step 2: Install Kamaji operator
177+
helm install kamaji clastix/kamaji -n kamaji-system --version 0.0.0+latest
178+
```
179+
169180
## Create Tenant Cluster
170181

171182
Now that our management cluster is up and running, we can create a Tenant Cluster. A Tenant Cluster is a Kubernetes cluster that is managed by Kamaji.

docs/content/getting-started/kamaji-generic.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,17 @@ helm install kamaji clastix/kamaji \
8686
--set image.tag=latest
8787
```
8888

89+
!!! note "Alternative: Two-Step Installation"
90+
The kamaji chart includes CRDs. For separate CRD management (GitOps, policy requirements), install CRDs first
91+
92+
```bash
93+
# Step 1: Install CRDs
94+
helm install kamaji-crds clastix/kamaji-crds -n kamaji-system --create-namespace --version 0.0.0+latest
95+
96+
# Step 2: Install Kamaji operator
97+
helm install kamaji clastix/kamaji -n kamaji-system --version 0.0.0+latest
98+
```
99+
89100
After installation, verify that Kamaji and its components are running:
90101

91102
```bash

docs/content/guides/gitops.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,57 @@ This guide describe a declarative way to deploy Kubernetes add-ons across multip
44

55
This way the tenant resources can be ensured from a single pane of glass, from the *Management Cluster*.
66

7+
## Installing Kamaji with GitOps
8+
9+
For GitOps workflows using tools like FluxCD or ArgoCD, the kamaji-crds chart enables separate CRD management:
10+
11+
```yaml
12+
# Step 1: HelmRelease for CRDs
13+
apiVersion: helm.toolkit.fluxcd.io/v2beta1
14+
kind: HelmRelease
15+
metadata:
16+
name: kamaji-crds
17+
namespace: kamaji-system
18+
spec:
19+
interval: 10m
20+
chart:
21+
spec:
22+
chart: kamaji-crds
23+
version: 0.0.0+latest
24+
sourceRef:
25+
kind: HelmRepository
26+
name: clastix
27+
namespace: flux-system
28+
---
29+
# Step 2: HelmRelease for operator
30+
apiVersion: helm.toolkit.fluxcd.io/v2beta1
31+
kind: HelmRelease
32+
metadata:
33+
name: kamaji
34+
namespace: kamaji-system
35+
spec:
36+
interval: 10m
37+
dependsOn:
38+
- name: kamaji-crds
39+
chart:
40+
spec:
41+
chart: kamaji
42+
version: 0.0.0+latest
43+
sourceRef:
44+
kind: HelmRepository
45+
name: clastix
46+
namespace: flux-system
47+
```
48+
49+
!!! note "CRD Management Options"
50+
The kamaji chart includes CRDs in its `crds/` directory. Using the separate kamaji-crds chart is optional and beneficial for:
51+
52+
- GitOps workflows requiring separate CRD lifecycle management
53+
- Organizations with policies requiring separate CRD approval
54+
- Scenarios where CRD updates must precede operator updates
55+
56+
For standard installations, using the kamaji chart alone is sufficient.
57+
758
## Flux as the GitOps operator
859

960
As GitOps ensures a constant reconciliation to a Git-versioned desired state, [Flux](https://fluxcd.io) can satisfy the requirement of those scenarios. In particular, the controllers that reconcile [resources](https://fluxcd.io/flux/concepts/#reconciliation) support communicating to external clusters.

0 commit comments

Comments
 (0)