diff --git a/stable/sumologic-fluentd/Chart.yaml b/stable/sumologic-fluentd/Chart.yaml index 50d91415d6..e29debdc34 100755 --- a/stable/sumologic-fluentd/Chart.yaml +++ b/stable/sumologic-fluentd/Chart.yaml @@ -1,5 +1,5 @@ name: sumologic-fluentd -version: 0.2.1 +version: 0.3.0 description: Sumologic Log Collector keywords: - monitoring diff --git a/stable/sumologic-fluentd/templates/_helpers.tpl b/stable/sumologic-fluentd/templates/_helpers.tpl index 683b3951d2..17a5c878d3 100644 --- a/stable/sumologic-fluentd/templates/_helpers.tpl +++ b/stable/sumologic-fluentd/templates/_helpers.tpl @@ -2,7 +2,7 @@ {{/* Expand the name of the chart. */}} -{{- define "name" -}} +{{- define "sumologic-fluentd.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- end -}} @@ -10,7 +10,7 @@ Expand the name of the chart. Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). */}} -{{- define "fullname" -}} +{{- define "sumologic-fluentd.fullname" -}} {{- $name := default .Chart.Name .Values.nameOverride -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} {{- end -}} @@ -18,6 +18,14 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this {{/* A uniquely named secret, which includes the install time */}} -{{- define "fullname-secrets" -}} -{{- printf "%s-secrets-%d" (include "fullname" .) .Release.Time.Seconds -}} +{{- define "sumologic-fluentd.fullname-secrets" -}} +{{- printf "%s-secrets-%d" (include "sumologic-fluentd.fullname" .) .Release.Time.Seconds -}} +{{- end -}} + +{{/* +Create a default fully qualified fluentd user conf name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "sumologic-fluentd.fluentdUserConfig.fullname" -}} +{{- printf "%s-confd" (include "sumologic-fluentd.fullname" .) | trunc 63 | trimSuffix "-" -}} {{- end -}} diff --git a/stable/sumologic-fluentd/templates/clusterrole.yaml b/stable/sumologic-fluentd/templates/clusterrole.yaml index 69efdabd97..904f8c788d 100644 --- a/stable/sumologic-fluentd/templates/clusterrole.yaml +++ b/stable/sumologic-fluentd/templates/clusterrole.yaml @@ -2,9 +2,9 @@ apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: - name: {{ template "fullname" . }} + name: {{ template "sumologic-fluentd.fullname" . }} labels: - app: {{ template "name" . }} + app: {{ template "sumologic-fluentd.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" diff --git a/stable/sumologic-fluentd/templates/clusterrolebinding.yaml b/stable/sumologic-fluentd/templates/clusterrolebinding.yaml index 45028ef154..d8a14d4cda 100644 --- a/stable/sumologic-fluentd/templates/clusterrolebinding.yaml +++ b/stable/sumologic-fluentd/templates/clusterrolebinding.yaml @@ -2,18 +2,18 @@ apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: - name: {{ template "fullname" . }} + name: {{ template "sumologic-fluentd.fullname" . }} labels: - app: {{ template "name" . }} + app: {{ template "sumologic-fluentd.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" subjects: - kind: ServiceAccount - name: {{ template "fullname" . }} + name: {{ template "sumologic-fluentd.fullname" . }} namespace: {{ .Release.Namespace }} roleRef: kind: ClusterRole - name: {{ template "fullname" . }} + name: {{ template "sumologic-fluentd.fullname" . }} apiGroup: rbac.authorization.k8s.io {{ end }} diff --git a/stable/sumologic-fluentd/templates/configmap.yaml b/stable/sumologic-fluentd/templates/configmap.yaml new file mode 100644 index 0000000000..e4d6b5c4a6 --- /dev/null +++ b/stable/sumologic-fluentd/templates/configmap.yaml @@ -0,0 +1,15 @@ +{{- if .Values.sumologic.fluentdUserConfig }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "sumologic-fluentd.fluentdUserConfig.fullname" . }} + labels: + app: {{ template "sumologic-fluentd.fluentdUserConfig.fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + annotations: + checksum/user-conf-config: {{ toYaml .Values.sumologic.fluentdUserConfig | sha256sum }} +data: +{{ toYaml .Values.sumologic.fluentdUserConfig | indent 2 }} +{{- end -}} diff --git a/stable/sumologic-fluentd/templates/daemonset.yaml b/stable/sumologic-fluentd/templates/daemonset.yaml index 00be626038..de19f6d0a8 100644 --- a/stable/sumologic-fluentd/templates/daemonset.yaml +++ b/stable/sumologic-fluentd/templates/daemonset.yaml @@ -1,26 +1,26 @@ apiVersion: extensions/v1beta1 kind: DaemonSet metadata: - name: {{ template "fullname" . }} + name: {{ template "sumologic-fluentd.fullname" . }} labels: - app: {{ template "name" . }} + app: {{ template "sumologic-fluentd.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} spec: template: metadata: - name: {{ template "fullname" . }} + name: {{ template "sumologic-fluentd.fullname" . }} {{- if .Values.podAnnotations }} annotations: {{ toYaml .Values.podAnnotations | indent 8 }} {{- end }} labels: - app: {{ template "name" . }} + app: {{ template "sumologic-fluentd.name" . }} release: {{ .Release.Name }} spec: containers: - - name: {{ template "fullname" . }} + - name: {{ template "sumologic-fluentd.fullname" . }} image: "{{ .Values.image.name }}:{{ .Values.image.tag }}" imagePullPolicy: {{.Values.image.pullPolicy}} resources: @@ -42,11 +42,22 @@ spec: mountPath: /var/lib/rkt/ readOnly: true {{- end }} + {{- if .Values.sumologic.fluentdUserConfig }} + {{- if .Values.sumologic.fluentdUserConfigDir }} + - name: fluentd-user-conf + mountPath: {{ quote .Values.sumologic.fluentdUserConfigDir }} + readOnly: true + {{- else }} + - name: fluentd-user-conf + mountPath: /fluentd/conf.d/user + readOnly: true + {{- end }} + {{- end }} env: - name: COLLECTOR_URL valueFrom: secretKeyRef: - name: "{{ template "fullname-secrets" . }}" + name: "{{ template "sumologic-fluentd.fullname-secrets" . }}" key: collector-url - name: FLUENTD_SOURCE value: {{ quote .Values.sumologic.fluentdSource }} @@ -146,7 +157,7 @@ spec: - name: AUDIT_LOG_PATH value: {{ quote .Values.sumologic.auditLogPath }} {{- end }} - serviceAccountName: {{ if .Values.rbac.create }}{{ template "fullname" . }}{{ else }}"{{ .Values.rbac.serviceAccountName }}"{{ end }} + serviceAccountName: {{ if .Values.rbac.create }}{{ template "sumologic-fluentd.fullname" . }}{{ else }}"{{ .Values.rbac.serviceAccountName }}"{{ end }} volumes: - name: pos-files {{- if .Values.persistence.enabled }} @@ -166,6 +177,11 @@ spec: - name: docker-logs hostPath: path: /var/lib/docker + {{- if .Values.sumologic.fluentdUserConfig }} + - name: fluentd-user-conf + configMap: + name: {{ template "sumologic-fluentd.fluentdUserConfig.fullname" . }} + {{- end }} {{- if .Values.tolerations }} tolerations: {{ toYaml .Values.tolerations | indent 8 }} diff --git a/stable/sumologic-fluentd/templates/secrets.yaml b/stable/sumologic-fluentd/templates/secrets.yaml index 8b5dcf5121..1a0e77a680 100644 --- a/stable/sumologic-fluentd/templates/secrets.yaml +++ b/stable/sumologic-fluentd/templates/secrets.yaml @@ -1,9 +1,9 @@ apiVersion: v1 kind: Secret metadata: - name: "{{ template "fullname-secrets" . }}" + name: "{{ template "sumologic-fluentd.fullname-secrets" . }}" labels: - app: {{ template "name" . }} + app: {{ template "sumologic-fluentd.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" diff --git a/stable/sumologic-fluentd/templates/serviceaccount.yaml b/stable/sumologic-fluentd/templates/serviceaccount.yaml index 04f6dacced..069e605bae 100644 --- a/stable/sumologic-fluentd/templates/serviceaccount.yaml +++ b/stable/sumologic-fluentd/templates/serviceaccount.yaml @@ -2,9 +2,9 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: {{ template "fullname" . }} + name: {{ template "sumologic-fluentd.fullname" . }} labels: - app: {{ template "name" . }} + app: {{ template "sumologic-fluentd.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" diff --git a/stable/sumologic-fluentd/values.yaml b/stable/sumologic-fluentd/values.yaml index eec7e2caf0..11831d3ad1 100644 --- a/stable/sumologic-fluentd/values.yaml +++ b/stable/sumologic-fluentd/values.yaml @@ -30,6 +30,15 @@ sumologic: ## in the container (Default "/fluentd/conf.d/user") fluentdUserConfigDir: "" + ## Provide user-defined fluentd configuration files + ## Each key will become a file in `fluentdUserConfigDir` + ## + # fluentdUserConfig: + # source.systemd.conf: |- + # + # ... + # + ## How frequently to push logs to SumoLogic (default 5s) ## ref: https://github.com/SumoLogic/fluentd-kubernetes-sumologic#options # flushInterval: 5