From c5f1ce402f7741e923a65992a3f0396ef97f08e2 Mon Sep 17 00:00:00 2001 From: prakharmathur82 Date: Thu, 12 Sep 2024 14:02:15 +0530 Subject: [PATCH] feat: add otelcollector as sidecar for firehose --- stable/firehose/Chart.yaml | 4 ++-- stable/firehose/README.md | 10 +++++++++- .../templates/configmap-otelcollector.yaml | 14 ++++++++++++++ stable/firehose/templates/deployment.yaml | 15 +++++++++++++++ stable/firehose/values.yaml | 3 +++ 5 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 stable/firehose/templates/configmap-otelcollector.yaml diff --git a/stable/firehose/Chart.yaml b/stable/firehose/Chart.yaml index 8a4d71ed..63ecd87b 100644 --- a/stable/firehose/Chart.yaml +++ b/stable/firehose/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: firehose description: A Helm chart for deploying Firehose on Kubernetes type: application -version: 0.1.3 -appVersion: 0.7.1 +version: 0.1.4 +appVersion: 0.8.1 diff --git a/stable/firehose/README.md b/stable/firehose/README.md index a77b1ff1..04d3217f 100644 --- a/stable/firehose/README.md +++ b/stable/firehose/README.md @@ -93,7 +93,15 @@ The following table lists the configurable parameters of Firehose chart and thei | telegraf.resources.limits.memory | string | `"64Mi"` | telegraf container memory limit | | telegraf.resources.requests.cpu | string | `"50m"` | telegraf container cpu requests | | telegraf.resources.requests.memory | string | `"64Mi"` | telegraf container memory requests | - +| otelcollector.enabled | bool | `false` | flag for enabling otelcollector | +| otelcollector.image.pullPolicy | string | `"IfNotPresent"` | the Kubernetes [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) value for otelcollector container | +| otelcollector.image.repository | string | `"otel/opentelemetry-collector-contrib"` | docker repository to download otelcollector image | +| otelcollector.image.tag | string | `"0.108.0"` | otelcollector docker image tag | +| otelcollector.resources.limits.cpu | string | `"50m"` | otelcollector container cpu limit | +| otelcollector.resources.limits.memory | string | `"64Mi"` | otelcollector container memory limit | +| otelcollector.resources.requests.cpu | string | `"50m"` | otelcollector container cpu requests | +| otelcollector.resources.requests.memory | string | `"64Mi"` | otelcollector container memory requests | +| otelcollector.config | object | `` | otelcollector configurations --- Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. diff --git a/stable/firehose/templates/configmap-otelcollector.yaml b/stable/firehose/templates/configmap-otelcollector.yaml new file mode 100644 index 00000000..1c606fac --- /dev/null +++ b/stable/firehose/templates/configmap-otelcollector.yaml @@ -0,0 +1,14 @@ +{{- if index .Values.otelcollector.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "firehose.fullname" . }}-otelcollector-config + namespace: {{ .Release.Namespace }} + labels: + labels: {{- range $key, $value := .Values.labels }} + {{ $key }}: {{ $value }} + {{- end }} +data: + otel-collector-config.yaml: |+ +{{ toYaml .Values.otelcollector.config | indent 4 }} +{{- end }} diff --git a/stable/firehose/templates/deployment.yaml b/stable/firehose/templates/deployment.yaml index 675c04f2..57dda261 100644 --- a/stable/firehose/templates/deployment.yaml +++ b/stable/firehose/templates/deployment.yaml @@ -58,6 +58,16 @@ spec: - mountPath: /etc/telegraf name: telegraf-conf {{- end }} + {{- if index .Values.otelcollector.enabled }} + - name: otelcollector + image: "{{ .Values.otelcollector.image.repository }}:{{ .Values.otelcollector.image.tag }}" + imagePullPolicy: {{ .Values.otelcollector.image.pullPolicy }} + resources: + {{- toYaml .Values.otelcollector.resources | nindent 12 }} + volumeMounts: + - mountPath: /etc/otelcollector + name: otelcollector-conf + {{- end }} {{- if index .Values "init-firehose" "enabled" }} initContainers: - args: @@ -81,6 +91,11 @@ spec: name: {{ include "firehose.fullname" . }}-telegraf-config name: telegraf-conf {{- end }} + {{- if index .Values.otelcollector.enabled }} + - configMap: + name: {{ include "firehose.fullname" . }}-otelcollector-config + name: otelcollector-conf + {{- end }} {{- if index .Values "init-firehose" "enabled" }} - emptyDir: {} name: workdir diff --git a/stable/firehose/values.yaml b/stable/firehose/values.yaml index a089251a..78a33a19 100644 --- a/stable/firehose/values.yaml +++ b/stable/firehose/values.yaml @@ -76,3 +76,6 @@ telegraf: requests: cpu: 50m memory: 64Mi + +otelcollector: + enabled: false