The Theodolite Helm chart with all its dependencies can be installed via:
helm dependencies update .
helm install theodolite .
Hint for Windows users: The Theodolite Helm chart makes use of some symbolic links. These are not properly created when this repository is checked out with Windows. There are a couple of solutions presented in this Stack Overflow post. A simpler workaround is to manually delete the symbolic links and replace them by the files and folders, they are pointing to. The relevant symbolic links are benchmark-definitions/examples
, benchmark-definitions/theodolite-benchmarks
and the files inside crd
.
As usual, the installation with Helm can be configured by passing a values YAML file:
helm install theodolite . -f <your-config.yaml>
We provide a minimal configuration, especially suited for development environments, with the preconfigs/minimal.yaml
file.
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
.
Test the installation with:
helm test theodolite
Our test files are located here. Many subcharts have their own tests, which are also executed. Please note: If a test fails, Helm will stop testing.
The Theodolite Helm can easily be removed with:
helm uninstall theodolite
Helm does not remove any CRDs created by this chart. You can remove them manually with:
# CRDs for Theodolite
kubectl delete crd executions.theodolite.rocks
kubectl delete crd benchmarks.theodolite.rocks
# CRDs for Prometheus operator (see https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#uninstall-chart)
kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
kubectl delete crd alertmanagers.monitoring.coreos.com
kubectl delete crd podmonitors.monitoring.coreos.com
kubectl delete crd probes.monitoring.coreos.com
kubectl delete crd prometheusagents.monitoring.coreos.com
kubectl delete crd prometheuses.monitoring.coreos.com
kubectl delete crd prometheusrules.monitoring.coreos.com
kubectl delete crd scrapeconfigs.monitoring.coreos.com
kubectl delete crd servicemonitors.monitoring.coreos.com
kubectl delete crd thanosrulers.monitoring.coreos.com
# CRDs for Strimzi
kubectl delete crd kafkabridges.kafka.strimzi.io
kubectl delete crd kafkaconnectors.kafka.strimzi.io
kubectl delete crd kafkaconnects.kafka.strimzi.io
kubectl delete crd kafkamirrormaker2s.kafka.strimzi.io
kubectl delete crd kafkamirrormakers.kafka.strimzi.io
kubectl delete crd kafkanodepools.kafka.strimzi.io
kubectl delete crd kafkarebalances.kafka.strimzi.io
kubectl delete crd kafkas.kafka.strimzi.io
kubectl delete crd kafkatopics.kafka.strimzi.io
kubectl delete crd kafkausers.kafka.strimzi.io
kubectl delete crd strimzipodsets.core.strimzi.io
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
- to deploy Grafana (including a dashboard and a data source configuration)
- Grafana (deprecated as replaced by Kube Prometheus Stack)
- Strimzi (for managing Kafka and Zookeeper)
Grafana ConfigMaps contain expressions like {{ topic }}
. Helm uses the same syntax for template function. More information here
- Escape braces: {{ "{{" topic }}
- Let Helm render the template as raw string: {{
{{ <config>}}
}}