[stable/sumologic-fluentd] Add support for user defined fluentd configuration (#3991)

* Add support for user defined fluentd configuration to sumologic

fluentdUserConfig can be used to pass in additional configuration files to fluentd

* Rename configmap

* Namespace all helper vars

* Fix name of fluentd configmap

* Base configmap name on fullname
This commit is contained in:
Daren Desjardins
2018-03-16 05:30:23 -07:00
committed by k8s-ci-robot
parent c043308ae3
commit f534ef1ba5
9 changed files with 70 additions and 22 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
name: sumologic-fluentd
version: 0.2.1
version: 0.3.0
description: Sumologic Log Collector
keywords:
- monitoring
@@ -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 -}}
@@ -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 }}"
@@ -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 }}
@@ -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 -}}
@@ -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 }}
@@ -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 }}"
@@ -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 }}"
+9
View File
@@ -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: |-
# <source>
# ...
# </source>
## How frequently to push logs to SumoLogic (default 5s)
## ref: https://github.com/SumoLogic/fluentd-kubernetes-sumologic#options
# flushInterval: 5