The Theodolite Helm chart with all its dependencies can be installed via:
```sh
```sh
helm dependencies update .
helm dependencies update .
helm install theodolite .
helm install theodolite .
```
```
This chart installs requirements to execute benchmarks with Theodolite.
## Customize Installation
Dependencies and subcharts:
As usual, the installation with Helm can be configured by passing a values YAML file:
- Prometheus Operator
```
- Prometheus
helm install theodolite . -f <your-config.yaml>
- Grafana (incl. dashboard and data source configuration)
- Kafka
- Zookeeper
- A Kafka client pod
## Test
Test the installation:
```sh
helm test theodolite
```
```
Our test files are located [here](templates/../../theodolite-chart/templates/tests). Many subcharts have their own tests, these are also executed and are placed in the respective /templates folders.
We provide a minimal configuration, especially suited for development environments, with the `preconfigs/minimal.yaml`
file.
Please note: If a test fails, Helm will stop testing.
It is possible that the tests are not running successfully at the moment. This is because the Helm tests of the subchart cp-confluent receive a timeout exception. There is an [issue](https://github.com/confluentinc/cp-helm-charts/issues/318) for this problem on GitHub.
Per default, Helm installs the Theodolite CRDs used for the operator. If Theodolite will not be used as operator or if
the CRDs are already installed, you can skip their installation by adding the flag `--skip-crds`.
## Configuration
## Test Installation
In development environments Kubernetes resources are often low. To reduce resource consumption, we provide an `one-broker-value.yaml` file. This file can be used with:
Our test files are located [here](templates/tests). Many subcharts have their own tests, which are also executed.
Please note: If a test fails, Helm will stop testing.
## Uninstall this Chart
## Uninstall this Chart
To uninstall/delete the `theodolite` deployment (by default Helm will be install all CRDs (`execution` and `benchmark`) automatically. If Helm should not install these CRDs, use the flag `--skip-crds`)
The Theodolite Helm can easily be removed with:
```sh
```sh
helm uninstall theodolite
helm uninstall theodolite
```
```
This command does not remove the CRDs which are created by this chart. Remove them manually with:
Helm does not remove any CRDs created by this chart. You can remove them manually with:
The following 3rd party charts are used by Theodolite:
- Kube Prometheus Stack (to install the Prometheus Operator, which is used to create a Prometheus instances)
- Grafana (including a dashboard and a data source configuration)
- Confluent Platform (for Kafka and Zookeeper)
- Kafka Lag Exporter (used to collect monitoring data of the Kafka lag)
### Hints
#### Grafana
- Grafana configuration: Grafana ConfigMaps contains expressions like {{ topic }}. Helm uses the same syntax for template function. More information [here](https://github.com/helm/helm/issues/2798)
Grafana ConfigMaps contain expressions like `{{ topic }}`. Helm uses the same syntax for template function. More information [here](https://github.com/helm/helm/issues/2798)
- Escape braces: {{ "{{" topic }}
- Escape braces: {{ "{{" topic }}
- Let Helm render the template as raw string: {{ `{{ <config>}}` }}
- Let Helm render the template as raw string: {{ `{{ <config>}}` }}