Skip to content

Commit 4c60784

Browse files
committed
Update proposal with selected design approaches and examples
Signed-off-by: Atanas Dinov <atanas.dinov@suse.com>
1 parent 0ff5608 commit 4c60784

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

design-proposals/helm-chart.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,11 @@ The CDI project has the same `CRD-Operator-CR` setup so all of the above applies
169169
Note that the file structures above are purely for illustrative purposes.
170170
Different Kubernetes resources (e.g. `rbac`) could be extracted as separate templates (files) in order to keep the charts cleaner and easier to navigate.
171171

172+
### Decision
173+
174+
After careful evaluation of all the different options by the community, [Approach 2](#approach-2-one-crd-chart-and-one-cr--operator-chart)
175+
is by far the most favoured one taking into account popularity, maintainability, as well as extensibility.
176+
172177
## Chart Management
173178

174179
The second problem which needs to be addressed is how Helm charts are going to be created and modified.
@@ -204,10 +209,14 @@ but it should be stable and both manifests and charts would be released simultan
204209
however, we need to keep in mind that the complete manifests are not version controlled.
205210
This would also mean that updated Helm charts are released separately from the manifests.
206211

207-
Unfortunately, I'm still very new to KubeVirt so feedback in this section would be more than welcome.
208-
209212
I'm not familiar with CDI's current manifest creation flow yet, but I *believe* it is similar.
210213

214+
### Decision
215+
216+
[Approach 2](#approach-2-manually-curate-a-helm-chart) is the preferred option by the community.
217+
The Helm charts will be created based on the KubeVirt (and CDI) manifests that are published
218+
with each KubeVirt (and CDI) release and will be hosted in a separate GitHub repository (e.g. `kubevirt/charts`).
219+
211220
## Helm repository
212221

213222
Chart repository is a location where packaged charts can be stored and shared.
@@ -231,18 +240,36 @@ We should be able to use Quay OCI considering all other artefacts are already st
231240

232241
## API Examples
233242

234-
Working with Helm charts is fairly straightforward. Users should be able to manage the applications by:
243+
Working with Helm charts is fairly straightforward. Users should be able to manage the applications via Helm CLI.
244+
245+
### Add Chart Repository
235246

236247
```shell
237248
$ helm repo add kubevirt <repo-url>
249+
```
250+
251+
Note that this is not necessary if we use OCI registry as opposed to a standard HTTP(s) repository.
252+
253+
### Install Charts
254+
255+
```shell
256+
$ helm install kubevirt-crd kubevirt/kubevirt-crd --version <version>
238257
$ helm install kubevirt kubevirt/kubevirt --version <version> \
239258
# additional configuration
259+
$ helm install cdi-crd kubevirt/cdi-crd --version <version>
240260
$ helm install cdi kubevirt/cdi --version <version> \
241261
# additional configuration
262+
```
263+
264+
### Uninstall Charts
265+
266+
```shell
242267
$ helm uninstall kubevirt
243268
$ helm uninstall cdi
244269
```
245270

271+
Note that it is a good practice to also uninstall the CRD charts (following the same example) in order not to have unused CRDs on the cluster.
272+
246273
## Scalability
247274

248275
N/A

0 commit comments

Comments
 (0)