From 927bab1d6928ff9178609021b213845de3b15d22 Mon Sep 17 00:00:00 2001 From: Wajih Yassine <54372074+wajihyassine@users.noreply.github.com> Date: Wed, 26 Jun 2024 09:21:33 -0700 Subject: [PATCH] charts/turbinia Add ability to provide existing config (#151) * Add ability to provide existing config * Update README.md with readme-generator-for-helm Signed-off-by: wajihyassine * Bump Turbinia version --------- Signed-off-by: wajihyassine Co-authored-by: wajihyassine --- charts/turbinia/Chart.yaml | 2 +- charts/turbinia/README.md | 1 + charts/turbinia/templates/_helpers.tpl | 11 +++++++++++ charts/turbinia/templates/api-deployment.yaml | 2 +- charts/turbinia/templates/controller-deployment.yaml | 2 +- charts/turbinia/templates/init-configmap.yaml | 2 +- charts/turbinia/templates/server-deployment.yaml | 2 +- charts/turbinia/templates/worker-deployment.yaml | 2 +- charts/turbinia/values.yaml | 5 +++++ 9 files changed, 23 insertions(+), 6 deletions(-) diff --git a/charts/turbinia/Chart.yaml b/charts/turbinia/Chart.yaml index 2a2324fd..45511737 100644 --- a/charts/turbinia/Chart.yaml +++ b/charts/turbinia/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: turbinia -version: 1.0.8 +version: 1.0.9 description: A Helm chart for Turbinia Kubernetes deployments. keywords: - turbinia diff --git a/charts/turbinia/README.md b/charts/turbinia/README.md index 10184a07..1f148bd9 100644 --- a/charts/turbinia/README.md +++ b/charts/turbinia/README.md @@ -309,6 +309,7 @@ kubectl delete pvc -l release=my-release | Name | Description | Value | | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `config.override` | Overrides the default Turbinia config to instead use a user specified config. Please ensure | `turbinia.conf` | +| `config.existingConfigMap` | Use an existing ConfigMap as the default Turbinia config. | `""` | | `config.disabledJobs` | List of Turbinia Jobs to disable. Overrides DISABLED_JOBS in the Turbinia config. | `['BinaryExtractorJob', 'BulkExtractorJob', 'HindsightJob', 'PhotorecJob', 'VolatilityJob']` | | `config.existingVertexSecret` | Name of existing secret containing Vertex API Key in order to enable the Turbinia LLM Artifacts Analyzer. The secret must contain the key `turbinia-vertexapi` | `""` | | `gcp.enabled` | Enables Turbinia to run within a GCP project. When enabling, please ensure you have run the supplemental script `create-gcp-sa.sh` to create a Turbinia GCP service account required for attaching persistent disks. | `false` | diff --git a/charts/turbinia/templates/_helpers.tpl b/charts/turbinia/templates/_helpers.tpl index 67bcc555..6c715110 100644 --- a/charts/turbinia/templates/_helpers.tpl +++ b/charts/turbinia/templates/_helpers.tpl @@ -162,4 +162,15 @@ Turbinia service port {{- else -}} {{ .Values.service.port }} {{- end -}} +{{- end -}} + +{{/* +Turbinia config map +*/}} +{{- define "turbinia.configmap" -}} +{{- if .Values.config.existingConfigMap -}} +{{ .Values.config.existingConfigMap }} +{{- else -}} +{{ include "turbinia.fullname" . }}-configmap +{{- end -}} {{- end -}} \ No newline at end of file diff --git a/charts/turbinia/templates/api-deployment.yaml b/charts/turbinia/templates/api-deployment.yaml index 406655b1..a5c3c20f 100644 --- a/charts/turbinia/templates/api-deployment.yaml +++ b/charts/turbinia/templates/api-deployment.yaml @@ -77,7 +77,7 @@ spec: emptyDir: {} - name: user-configs configMap: - name: {{ include "turbinia.fullname" . }}-configmap + name: {{ include "turbinia.configmap" . }} optional: true {{- with .Values.api.nodeSelector }} nodeSelector: diff --git a/charts/turbinia/templates/controller-deployment.yaml b/charts/turbinia/templates/controller-deployment.yaml index ecec22e8..554147a2 100644 --- a/charts/turbinia/templates/controller-deployment.yaml +++ b/charts/turbinia/templates/controller-deployment.yaml @@ -91,7 +91,7 @@ spec: {{- if $userconfigs }} - name: user-configs configMap: - name: {{ include "turbinia.fullname" . }}-configmap + name: {{ include "turbinia.configmap" . }} {{- end }} {{- with .Values.controller.nodeSelector }} nodeSelector: diff --git a/charts/turbinia/templates/init-configmap.yaml b/charts/turbinia/templates/init-configmap.yaml index d347a6cb..5edb9e03 100644 --- a/charts/turbinia/templates/init-configmap.yaml +++ b/charts/turbinia/templates/init-configmap.yaml @@ -20,7 +20,7 @@ data: if [ $(ls /tmp/turbinia/ | wc -l) -gt 0 ]; then echo "Using exisiting configuration file provided." - cp /tmp/turbinia/* /etc/turbinia/ + cp /tmp/turbinia/* /etc/turbinia/turbinia.conf else # Pull default config if one is not already provided {{- $turbiniaWorker := "us-docker.pkg.dev/osdfir-registry/turbinia/release/turbinia-worker" -}} diff --git a/charts/turbinia/templates/server-deployment.yaml b/charts/turbinia/templates/server-deployment.yaml index 021c42d7..544b59b5 100644 --- a/charts/turbinia/templates/server-deployment.yaml +++ b/charts/turbinia/templates/server-deployment.yaml @@ -67,7 +67,7 @@ spec: emptyDir: {} - name: user-configs configMap: - name: {{ include "turbinia.fullname" . }}-configmap + name: {{ include "turbinia.configmap" . }} optional: true {{- with .Values.server.nodeSelector }} nodeSelector: diff --git a/charts/turbinia/templates/worker-deployment.yaml b/charts/turbinia/templates/worker-deployment.yaml index 82e49e1b..ee94fa98 100644 --- a/charts/turbinia/templates/worker-deployment.yaml +++ b/charts/turbinia/templates/worker-deployment.yaml @@ -95,7 +95,7 @@ spec: emptyDir: {} - name: user-configs configMap: - name: {{ include "turbinia.fullname" . }}-configmap + name: {{ include "turbinia.configmap" . }} optional: true {{- with .Values.worker.nodeSelector }} nodeSelector: diff --git a/charts/turbinia/values.yaml b/charts/turbinia/values.yaml index 6988fe1e..98fd0baa 100644 --- a/charts/turbinia/values.yaml +++ b/charts/turbinia/values.yaml @@ -347,6 +347,11 @@ config: ## your config file ## override: turbinia.conf + ## @param config.existingConfigMap Use an existing ConfigMap as the default Turbinia config. + ## Please ensure that the ConfigMap has been created prior to deployment + ## (e.g. kubectl create configmap turbinia-config --from-file=turbinia.conf) + ## + existingConfigMap: "" ## @param config.disabledJobs List of Turbinia Jobs to disable. Overrides DISABLED_JOBS in the Turbinia config. ## disabledJobs: "['BinaryExtractorJob', 'BulkExtractorJob', 'HindsightJob', 'PhotorecJob', 'VolatilityJob']"