From c762f5026508987119e06fb0c57f7c602dda3f46 Mon Sep 17 00:00:00 2001 From: twobiers <22715034+twobiers@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:06:09 +0200 Subject: [PATCH 1/3] Allow badger as a storage type for allInOne deployments Signed-off-by: twobiers <22715034+twobiers@users.noreply.github.com> --- charts/jaeger/templates/_helpers.tpl | 35 +++++++++++++++++++- charts/jaeger/templates/allinone-deploy.yaml | 3 +- charts/jaeger/values.yaml | 6 +++- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/charts/jaeger/templates/_helpers.tpl b/charts/jaeger/templates/_helpers.tpl index 763b94fd..cae62151 100644 --- a/charts/jaeger/templates/_helpers.tpl +++ b/charts/jaeger/templates/_helpers.tpl @@ -383,7 +383,36 @@ grpcPlugin related environment variables {{- end -}} {{/* -Cassandra, Elasticsearch, or grpc-plugin related environment variables depending on which is used +badger related environment variables +*/}} +{{- define "badger.env" -}} +{{- if .Values.storage.badger.extraEnv }} +{{- toYaml .Values.storage.badger.extraEnv }} +{{- end }} +{{- end -}} + +{{/* +memory related environment variables +*/}} +{{- define "memory.env" -}} +{{- if .Values.storage.memory.extraEnv }} +{{- toYaml .Values.storage.memory.extraEnv }} +{{- end }} +{{- end -}} + +{{/* +allInOne currently only supports memory/badger storage type. +*/}} +{{- define "allInOne.storage.type" -}} +{{ $type := .Values.storage.type }} +{{- if or (eq $type "memory") (eq $type "badger") -}} +{{ .Values.storage.type }} +{{- end -}} +{{- end -}} + + +{{/* +Cassandra, Elasticsearch, or grpc-plugin, badger, memory related environment variables depending on which is used */}} {{- define "storage.env" -}} {{- if eq .Values.storage.type "cassandra" -}} @@ -392,6 +421,10 @@ Cassandra, Elasticsearch, or grpc-plugin related environment variables depending {{ include "elasticsearch.env" . }} {{- else if eq .Values.storage.type "grpc-plugin" -}} {{ include "grpcPlugin.env" . }} +{{- else if eq .Values.storage.type "badger" -}} +{{ include "badger.env" . }} +{{- else if eq .Values.storage.type "memory" -}} +{{ include "memory.env" . }} {{- end -}} {{- end -}} diff --git a/charts/jaeger/templates/allinone-deploy.yaml b/charts/jaeger/templates/allinone-deploy.yaml index 98a4b18c..505a0136 100644 --- a/charts/jaeger/templates/allinone-deploy.yaml +++ b/charts/jaeger/templates/allinone-deploy.yaml @@ -37,7 +37,8 @@ spec: {{- toYaml .Values.allInOne.extraEnv | nindent 12 }} {{- end }} - name: SPAN_STORAGE_TYPE - value: memory + value: {{ include "allInOne.storage.type" . | required "Invalid storage type provided. Use either badger or memory for allInOne" }} + {{- include "storage.env" . | nindent 12 }} - name: COLLECTOR_ZIPKIN_HOST_PORT value: :9411 - name: JAEGER_DISABLED diff --git a/charts/jaeger/values.yaml b/charts/jaeger/values.yaml index 999668db..d5c41d02 100644 --- a/charts/jaeger/values.yaml +++ b/charts/jaeger/values.yaml @@ -88,7 +88,7 @@ allInOne: nodeSelector: {} storage: - # allowed values (cassandra, elasticsearch) + # allowed values (cassandra, elasticsearch, grpc-plugin, badger, memory) type: cassandra cassandra: host: cassandra @@ -167,6 +167,10 @@ storage: extraEnv: [] grpcPlugin: extraEnv: [] + badger: + extraEnv: [] + memory: + extraEnv: [] # Begin: Override values on the Cassandra subchart to customize for Jaeger cassandra: From ba5f52683555c91e7dca36ca375b59ee7013e36f Mon Sep 17 00:00:00 2001 From: twobiers <22715034+twobiers@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:42:54 +0200 Subject: [PATCH 2/3] Make badger persistence configurable Signed-off-by: twobiers <22715034+twobiers@users.noreply.github.com> --- charts/jaeger/templates/_helpers.tpl | 8 ++++++++ charts/jaeger/templates/allinone-deploy.yaml | 13 +++++++++++++ charts/jaeger/values.yaml | 4 ++++ 3 files changed, 25 insertions(+) diff --git a/charts/jaeger/templates/_helpers.tpl b/charts/jaeger/templates/_helpers.tpl index cae62151..7cf5e82b 100644 --- a/charts/jaeger/templates/_helpers.tpl +++ b/charts/jaeger/templates/_helpers.tpl @@ -386,6 +386,14 @@ grpcPlugin related environment variables badger related environment variables */}} {{- define "badger.env" -}} +- name: BADGER_EPHEMERAL + value: {{ .Values.storage.badger.ephemeral | quote }} +{{- if not .Values.storage.badger.ephemeral }} +- name: BADGER_DIRECTORY_VALUE + value: {{ print .Values.storage.badger.persistence.mountPath "/badger/data" | quote }} +- name: BADGER_DIRECTORY_KEY + value: {{ print .Values.storage.badger.persistence.mountPath "/badger/key" | quote }} +{{- end }} {{- if .Values.storage.badger.extraEnv }} {{- toYaml .Values.storage.badger.extraEnv }} {{- end }} diff --git a/charts/jaeger/templates/allinone-deploy.yaml b/charts/jaeger/templates/allinone-deploy.yaml index 505a0136..87788207 100644 --- a/charts/jaeger/templates/allinone-deploy.yaml +++ b/charts/jaeger/templates/allinone-deploy.yaml @@ -103,6 +103,10 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} volumeMounts: + {{- if not .Values.storage.badger.ephemeral }} + - name: badger-data + mountPath: {{ .Values.storage.badger.persistence.mountPath }} + {{- end }} {{- if .Values.allInOne.samplingConfig}} - name: strategies mountPath: /etc/conf/ @@ -113,8 +117,17 @@ spec: subPath: {{ .subPath }} readOnly: {{ .readOnly }} {{- end }} + securityContext: + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 serviceAccountName: {{ template "jaeger.fullname" . }} volumes: + {{- if not .Values.storage.badger.ephemeral }} + - name: badger-data + persistentVolumeClaim: + claimName: {{ .Values.storage.badger.persistence.useExistingPvcName | required "Using badger persistence it is required to set an existing PVC" }} + {{- end }} {{- if .Values.allInOne.samplingConfig}} - name: strategies configMap: diff --git a/charts/jaeger/values.yaml b/charts/jaeger/values.yaml index d5c41d02..d0d50fd5 100644 --- a/charts/jaeger/values.yaml +++ b/charts/jaeger/values.yaml @@ -168,6 +168,10 @@ storage: grpcPlugin: extraEnv: [] badger: + ephemeral: true + persistence: + mountPath: /mnt/data + useExistingPvcName: "" extraEnv: [] memory: extraEnv: [] From 7b430efd1cb45a7474c69dbcabf73faf497fad28 Mon Sep 17 00:00:00 2001 From: twobiers <22715034+twobiers@users.noreply.github.com> Date: Fri, 5 Apr 2024 18:05:03 +0200 Subject: [PATCH 3/3] Bump chart version to 2.1.0 Signed-off-by: twobiers <22715034+twobiers@users.noreply.github.com> --- charts/jaeger/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/jaeger/Chart.yaml b/charts/jaeger/Chart.yaml index 759fbf2f..8e4287f9 100644 --- a/charts/jaeger/Chart.yaml +++ b/charts/jaeger/Chart.yaml @@ -3,7 +3,7 @@ appVersion: 1.53.0 description: A Jaeger Helm chart for Kubernetes name: jaeger type: application -version: 2.0.1 +version: 2.1.0 # CronJobs require v1.21 kubeVersion: ">= 1.21-0" keywords: