From 96e13e8cc811ccbbb7922a3b404a830da9fc6d72 Mon Sep 17 00:00:00 2001 From: Aaron Layfield Date: Sat, 21 Sep 2019 02:13:48 +0900 Subject: [PATCH] [stable/fluentd] Added support for plugin installation (#16705) * Added support for plugin installation via chart Signed-off-by: Aaron Layfield * Removed testing default values Signed-off-by: Aaron Layfield * Increment Chart Version Signed-off-by: Aaron Layfield * Adding check on plugin list empty Signed-off-by: Aaron Layfield --- stable/fluentd/Chart.yaml | 2 +- stable/fluentd/README.md | 2 ++ stable/fluentd/templates/configmap.yaml | 8 ++++++++ stable/fluentd/templates/deployment.yaml | 4 ++++ stable/fluentd/values.yaml | 4 ++++ 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/stable/fluentd/Chart.yaml b/stable/fluentd/Chart.yaml index 2c506b2f6c..3c941244eb 100644 --- a/stable/fluentd/Chart.yaml +++ b/stable/fluentd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 description: A Fluentd Elasticsearch Helm chart for Kubernetes. icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png name: fluentd -version: 2.0.3 +version: 2.1.3 appVersion: v2.4.0 home: https://www.fluentd.org/ sources: diff --git a/stable/fluentd/README.md b/stable/fluentd/README.md index 13815b61ee..3de49457ec 100644 --- a/stable/fluentd/README.md +++ b/stable/fluentd/README.md @@ -65,6 +65,8 @@ Parameter | Description | Default `nodeSelector` | node labels for pod assignment | `{}` `replicaCount` | desired number of pods | `1` ??? `resources` | pod resource requests & limits | `{}` +`plugins.enabled` | Enable Plugins Installation | `false` +`plugins.pluginsList` | List of plugins to install | `[]` `rbac.create` | Specifies whether RBAC resources should be created | `true` `serviceAccount.create` | Specifies whether a service account should be created. | `true` `serviceAccount.name` | Name of the service account. diff --git a/stable/fluentd/templates/configmap.yaml b/stable/fluentd/templates/configmap.yaml index 3af5cd259e..81d52c0766 100644 --- a/stable/fluentd/templates/configmap.yaml +++ b/stable/fluentd/templates/configmap.yaml @@ -27,3 +27,11 @@ data: @type prometheus_output_monitor {{- end }} +{{- if and (.Values.plugins.enabled) (gt (len .Values.plugins.pluginsList) 0) }} + install-plugins.sh: |- + #!/bin/sh + {{- range $plugin := .Values.plugins.pluginsList }} + fluent-gem install {{ $plugin }} + {{- end }} + exec /run.sh +{{- end }} diff --git a/stable/fluentd/templates/deployment.yaml b/stable/fluentd/templates/deployment.yaml index 788e7a424f..3f57c3513e 100644 --- a/stable/fluentd/templates/deployment.yaml +++ b/stable/fluentd/templates/deployment.yaml @@ -43,6 +43,9 @@ spec: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} + {{- if and (.Values.plugins.enabled) (gt (len .Values.plugins.pluginsList) 0) }} + command: ["/bin/sh", "-c", "/etc/fluent/config.d/install-plugins.sh"] + {{- end }} env: - name: OUTPUT_HOST value: {{ .Values.output.host | quote }} @@ -99,6 +102,7 @@ spec: - name: config-volume-{{ template "fluentd.fullname" . }} configMap: name: {{ template "fluentd.fullname" . }} + defaultMode: 0777 {{- if and .Values.persistence.enabled (not .Values.autoscaling.enabled) }} - name: buffer persistentVolumeClaim: diff --git a/stable/fluentd/values.yaml b/stable/fluentd/values.yaml index de8bc0dda4..f7d6af923f 100644 --- a/stable/fluentd/values.yaml +++ b/stable/fluentd/values.yaml @@ -27,6 +27,10 @@ extraEnvVars: # name: secret_name # key: secret_key +plugins: + enabled: false + pluginsList: [] + service: annotations: {} type: ClusterIP