diff --git a/bitnami/fluentd/.helmignore b/bitnami/fluentd/.helmignore new file mode 100644 index 000000000..50af03172 --- /dev/null +++ b/bitnami/fluentd/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/bitnami/fluentd/Chart.yaml b/bitnami/fluentd/Chart.yaml new file mode 100644 index 000000000..11cdd5c63 --- /dev/null +++ b/bitnami/fluentd/Chart.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +name: fluentd +version: 0.1.0 +appVersion: 1.7.1 +description: Fluentd is an open source data collector for unified logging layer +keywords: +- fluentd +- logging +- logs +- data +- collector +home: https://www.fluentd.org/ +sources: +- https://github.com/bitnami/bitnami-docker-fluentd +maintainers: +- name: Bitnami + email: containers@bitnami.com +engine: gotpl +icon: https://bitnami.com/assets/stacks/fluentd/img/fluentd-stack-110x117.png \ No newline at end of file diff --git a/bitnami/fluentd/templates/NOTES.txt b/bitnami/fluentd/templates/NOTES.txt new file mode 100644 index 000000000..746b70e29 --- /dev/null +++ b/bitnami/fluentd/templates/NOTES.txt @@ -0,0 +1,21 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range $host := .Values.ingress.hosts }} + {{- range .paths }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }} + {{- end }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "fluentd.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "fluentd.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "fluentd.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "fluentd.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/bitnami/fluentd/templates/_helpers.tpl b/bitnami/fluentd/templates/_helpers.tpl new file mode 100644 index 000000000..193cb985e --- /dev/null +++ b/bitnami/fluentd/templates/_helpers.tpl @@ -0,0 +1,129 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "fluentd.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +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). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "fluentd.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "fluentd.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "fluentd.labels" -}} +app.kubernetes.io/name: {{ include "fluentd.name" . }} +helm.sh/chart: {{ include "fluentd.chart" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Return the proper Fluentd image name +*/}} +{{- define "fluentd.image" -}} +{{- $registryName := .Values.image.registry -}} +{{- $repositoryName := .Values.image.repository -}} +{{- $tag := .Values.image.tag | toString -}} +{{/* +Helm 2.11 supports the assignment of a value to a variable defined in a different scope, +but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic. +Also, we can't use a single if because lazy evaluation is not an option +*/}} +{{- if .Values.global }} + {{- if .Values.global.imageRegistry }} + {{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}} + {{- else -}} + {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} + {{- end -}} +{{- else -}} + {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} +{{- end -}} +{{- end -}} + +{{/* +Return the proper Docker Image Registry Secret Names +*/}} +{{- define "fluentd.imagePullSecrets" -}} +{{/* +Helm 2.11 supports the assignment of a value to a variable defined in a different scope, +but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic. +Also, we can not use a single if because lazy evaluation is not an option +*/}} +{{- if .Values.global }} +{{- if .Values.global.imagePullSecrets }} +imagePullSecrets: +{{- range .Values.global.imagePullSecrets }} + - name: {{ . }} +{{- end }} +{{- else if .Values.image.pullSecrets }} +imagePullSecrets: +{{- range .Values.image.pullSecrets }} + - name: {{ . }} +{{- end }} +{{- end -}} +{{- else if .Values.image.pullSecrets }} +imagePullSecrets: +{{- range .Values.image.pullSecrets }} + - name: {{ . }} +{{- end }} +{{- end -}} +{{- end -}} + +{{/* +Return the proper Storage Class for the forwarders +*/}} +{{- define "fluentd.forwarder.storageClass" -}} +{{/* +Helm 2.11 supports the assignment of a value to a variable defined in a different scope, +but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic. +*/}} +{{- if .Values.global -}} + {{- if .Values.global.storageClass -}} + {{- if (eq "-" .Values.global.storageClass) -}} + {{- printf "storageClassName: \"\"" -}} + {{- else }} + {{- printf "storageClassName: %s" .Values.global.storageClass -}} + {{- end -}} + {{- else -}} + {{- if .Values.forwarder.persistence.storageClass -}} + {{- if (eq "-" .Values.forwarder.persistence.storageClass) -}} + {{- printf "storageClassName: \"\"" -}} + {{- else }} + {{- printf "storageClassName: %s" .Values.forwarder.persistence.storageClass -}} + {{- end -}} + {{- end -}} + {{- end -}} +{{- else -}} + {{- if .Values.forwarder.persistence.storageClass -}} + {{- if (eq "-" .Values.forwarder.persistence.storageClass) -}} + {{- printf "storageClassName: \"\"" -}} + {{- else }} + {{- printf "storageClassName: %s" .Values.forwarder.persistence.storageClass -}} + {{- end -}} + {{- end -}} +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/bitnami/fluentd/templates/aggregator-configmap.yaml b/bitnami/fluentd/templates/aggregator-configmap.yaml new file mode 100644 index 000000000..363df924b --- /dev/null +++ b/bitnami/fluentd/templates/aggregator-configmap.yaml @@ -0,0 +1,24 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "fluentd.fullname" . }}-aggregator-cm + labels: {{ include "fluentd.labels" . | nindent 4 }} +data: + aggregator.conf: | + # TCP input + + @type forward + bind 0.0.0.0 + port 24444 + + + # HTTP input + + @type http + bind 0.0.0.0 + port 9880 + + + + @type stdout + diff --git a/bitnami/fluentd/templates/aggregator-statefulset.yaml b/bitnami/fluentd/templates/aggregator-statefulset.yaml new file mode 100644 index 000000000..971e1f53e --- /dev/null +++ b/bitnami/fluentd/templates/aggregator-statefulset.yaml @@ -0,0 +1,91 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: {{ include "fluentd.fullname" . }} + labels: + {{- include "fluentd.labels" . | nindent 4 }} + app.kubernetes.io/component: aggregator +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ include "fluentd.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: aggregator + serviceName: {{ include "fluentd.fullname" . }}-headless + replicas: {{ .Values.aggregator.replicaCount }} + updateStrategy: + {{- toYaml .Values.aggregator.updateStrategy | nindent 4 }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "fluentd.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: aggregator + annotations: + checksum/config: {{ include (print $.Template.BasePath "/aggregator-configmap.yaml") . | sha256sum }} + {{- if .Values.aggregator.podAnnotations }} + {{- toYaml .Values.aggregator.podAnnotations | nindent 8 }} + {{- end }} + spec: + {{- include "fluentd.imagePullSecrets" . | nindent 6 }} + {{- if .Values.securityContext.enabled }} + securityContext: + runAsUser: {{ .Values.securityContext.runAsUser }} + fsGroup: {{ .Values.securityContext.fsGroup }} + runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: {{ include "fluentd.image" . }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + - name: FLUENTD_CONF + value: {{ default "fluentd.conf" .Values.forwarder.configFile }} + - name: FLUENTD_OPT + value: {{ .Values.aggregator.extraArgs }} + {{- if .Values.aggregator.extraEnv }} + {{- toYaml .Values.aggregator.extraEnv | nindent 12 }} + {{- end }} + ports: + - name: http + containerPort: 9880 + protocol: TCP + - name: tcp + containerPort: 24444 + protocol: TCP + livenessProbe: + httpGet: + path: /fluentd.healthcheck?json=%7B%22ping%22%3A+%22pong%22%7D + port: 9880 + initialDelaySeconds: 5 + timeoutSeconds: 1 + resources: {{ toYaml .Values.aggregator.resources | nindent 12 }} + volumeMounts: + - name: fluentd-config-file + mountPath: /opt/bitnami/fluentd/conf/fluentd.conf + subPath: fluentd.conf + - name: fluentd-extra-config + mountPath: /opt/bitnami/fluentd/conf/conf.d + - name: buffer + mountPath: /opt/bitnami/fluentd/logs/buffers + volumes: + - name: fluentd-config-file + configMap: + name: {{ include "fluentd.fullname" . }}-cm + - name: fluentd-extra-config + configMap: + name: {{ include "fluentd.fullname" . }}-aggregator-cm + - name: buffer + emptyDir: {} + {{- with .Values.aggregator.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.aggregator.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.aggregator.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/bitnami/fluentd/templates/configmap.yaml b/bitnami/fluentd/templates/configmap.yaml new file mode 100644 index 000000000..e97ff4994 --- /dev/null +++ b/bitnami/fluentd/templates/configmap.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "fluentd.fullname" . }}-cm + labels: {{ include "fluentd.labels" . | nindent 4 }} +data: + fluentd.conf: | + + @type null + + + @include conf.d/*.conf diff --git a/bitnami/fluentd/templates/forwarder-configmap.yaml b/bitnami/fluentd/templates/forwarder-configmap.yaml new file mode 100644 index 000000000..192df4e3c --- /dev/null +++ b/bitnami/fluentd/templates/forwarder-configmap.yaml @@ -0,0 +1,50 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "fluentd.fullname" . }}-forwarder-cm + labels: {{ include "fluentd.labels" . | nindent 4 }} +data: + forwarder.conf: | + # TCP input + + @type forward + port 24444 + + + # HTTP input + + @type http + port 9880 + + + + @type tail + @id in_tail_docker + path /var/log/docker.log + tag docker + + @type regexp + expression /^time="(? + + + # Log Forwarding + + @type forward + {{- $fullName := (include "fluentd.fullname" .) }} + {{- $global := . }} + {{- $domain := .Values.clusterDomain }} + {{- range $i, $e := until (.Values.aggregator.replicaCount | int) }} + + {{ printf "host %s-%d.%s-headless.%s.svc.%s" $fullName $i $fullName $global.Release.Namespace $domain }} + port 24444 + {{- if ne $i 0 }} + standby + {{- end }} + + {{- end}} + + + flush_interval 10s + + diff --git a/bitnami/fluentd/templates/forwarder-daemonset.yaml b/bitnami/fluentd/templates/forwarder-daemonset.yaml new file mode 100644 index 000000000..3efa8b524 --- /dev/null +++ b/bitnami/fluentd/templates/forwarder-daemonset.yaml @@ -0,0 +1,97 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ include "fluentd.fullname" . }} + labels: + {{- include "fluentd.labels" . | nindent 4 }} + app.kubernetes.io/component: forwarder +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ include "fluentd.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: forwarder + updateStrategy: + {{- toYaml .Values.forwarder.updateStrategy | nindent 4 }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "fluentd.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: forwarder + annotations: + checksum/config: {{ include (print $.Template.BasePath "/forwarder-configmap.yaml") . | sha256sum }} + {{- if .Values.forwarder.podAnnotations }} + {{- toYaml .Values.forwarder.podAnnotations | nindent 8 }} + {{- end }} + spec: + {{- include "fluentd.imagePullSecrets" . | nindent 6 }} + {{- if .Values.securityContext.enabled }} + securityContext: + runAsUser: {{ .Values.securityContext.runAsUser }} + fsGroup: {{ .Values.securityContext.fsGroup }} + runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: {{ include "fluentd.image" . }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + - name: FLUENTD_CONF + value: {{ default "fluentd.conf" .Values.forwarder.configFile }} + - name: FLUENTD_OPT + value: {{ .Values.forwarder.extraArgs }} + {{- if .Values.forwarder.extraEnv }} + {{- toYaml .Values.forwarder.extraEnv | nindent 12 }} + {{- end }} + ports: + - name: http + containerPort: 9880 + protocol: TCP + livenessProbe: + httpGet: + path: /fluentd.healthcheck?json=%7B%22daemonset%22%3A+%22pong%22%7D + port: 9880 + initialDelaySeconds: 5 + timeoutSeconds: 1 + resources: {{ toYaml .Values.forwarder.resources | nindent 12 }} + volumeMounts: + - name: fluentd-config-file + mountPath: /opt/bitnami/fluentd/conf/fluentd.conf + subPath: fluentd.conf + - name: fluentd-extra-config + mountPath: /opt/bitnami/fluentd/conf/conf.d + - name: buffer + mountPath: /opt/bitnami/fluentd/logs/buffers + - name: varlog + mountPath: /var/log + - name: varlibdockercontainers + mountPath: /var/lib/docker/containers + readOnly: true + volumes: + - name: fluentd-config-file + configMap: + name: {{ include "fluentd.fullname" . }}-cm + - name: fluentd-extra-config + configMap: + name: {{ include "fluentd.fullname" . }}-forwarder-cm + - name: buffer + emptyDir: {} + - name: varlog + hostPath: + path: /var/log + - name: varlibdockercontainers + hostPath: + path: /var/lib/docker/containers + {{- with .Values.forwarder.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.forwarder.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.forwarder.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/bitnami/fluentd/templates/ingress.yaml b/bitnami/fluentd/templates/ingress.yaml new file mode 100644 index 000000000..b0febc2ff --- /dev/null +++ b/bitnami/fluentd/templates/ingress.yaml @@ -0,0 +1,36 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "fluentd.fullname" . -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: +{{ include "fluentd.labels" . | indent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ . }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} + {{- end }} +{{- end }} diff --git a/bitnami/fluentd/templates/svc-headless.yaml b/bitnami/fluentd/templates/svc-headless.yaml new file mode 100644 index 000000000..453ecb384 --- /dev/null +++ b/bitnami/fluentd/templates/svc-headless.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "fluentd.fullname" . }}-headless + labels: + {{- include "fluentd.labels" . | nindent 4 }} + app.kubernetes.io/component: aggregator +spec: + type: ClusterIP + clusterIP: None + ports: + - name: tcp + port: 24444 + targetPort: tcp + selector: + app.kubernetes.io/name: {{ include "fluentd.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: aggregator \ No newline at end of file diff --git a/bitnami/fluentd/templates/svc.yaml b/bitnami/fluentd/templates/svc.yaml new file mode 100644 index 000000000..0570642f3 --- /dev/null +++ b/bitnami/fluentd/templates/svc.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "fluentd.fullname" . }} + labels: + {{- include "fluentd.labels" . | nindent 4 }} + app.kubernetes.io/component: forwarder +spec: + type: {{ .Values.service.type }} + {{- if .Values.service.nodePort }} + nodePort: {{ .Values.service.nodePort }} + {{- end }} + {{- if eq .Values.service.type "LoadBalancer" }} {{- if .Values.service.loadBalancerIP }} + loadBalancerIP: {{ .Values.service.loadBalancerIP }} + {{- end }} {{- end }} + type: {{ .Values.service.type }} + ports: + - name: http + targetPort: http + protocol: TCP + port: {{ .Values.service.port }} + selector: + app.kubernetes.io/name: {{ include "fluentd.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: forwarder diff --git a/bitnami/fluentd/values.yaml b/bitnami/fluentd/values.yaml new file mode 100644 index 000000000..3d5a494b4 --- /dev/null +++ b/bitnami/fluentd/values.yaml @@ -0,0 +1,229 @@ +## Global Docker image parameters +## Please, note that this will override the image parameters, including dependencies, configured to use the global value +## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass +## +# global: +# imageRegistry: myRegistryName +# imagePullSecrets: +# - myRegistryKeySecretName +# storageClass: myStorageClass + +clusterDomain: cluster.local + +## Bitnami Fluentd image version +## ref: https://hub.docker.com/r/bitnami/fluentd/tags/ +## +image: + registry: docker.io + repository: bitnami/fluentd + tag: 1.7.1-debian-9-r0 + ## Specify a imagePullPolicy + ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' + ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images + ## + pullPolicy: IfNotPresent + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ + ## + # pullSecrets: + # - myRegistryKeySecretName + +## String to partially override fluentd.fullname template (will maintain the release name) +## +# nameOverride: + +## String to fully override fluentd.fullname template +## +# fullnameOverride: + +forwarder: + ## Name of the config file that will be used by Fluentd at launch + ## Fluentd will look for it under the /opt/bitnami/fluentd/conf directory + ## + # configFile: fluentd.conf + + ## String with extra arguments for the Fluentd command line + ## ref: https://docs.fluentd.org/deployment/command-line-option + ## + extraArgs: "" + + ## Extra environment variables to pass to the container + ## extraEnv: + ## - name: MY_ENV_VAR + ## - value: my_value + ## + extraEnv: {} + + ## Configure extra options for liveness and readiness probes + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes) + ## + livenessProbe: + initialDelaySeconds: 120 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 6 + successThreshold: 1 + readinessProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 6 + successThreshold: 1 + + ## Set up update strategy. + ## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy + ## Example: + # updateStrategy: + # type: RollingUpdate + # rollingUpdate: + # maxSurge: 25% + # maxUnavailable: 25% + updateStrategy: + type: RollingUpdate + + ## Configure resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## Example: + ## resources: + ## requests: + ## memory: 512Mi + ## cpu: 300m + ## + # resources: + + ## Node labels for pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + ## Tolerations for pod assignment + ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + + ## Affinity for pod assignment + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## + affinity: {} + + ## Pod annotations + ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + ## + podAnnotations: {} + + +aggregator: + ## Number of aggregator replicas + ## + replicaCount: 2 + + ## Name of the config file that will be used by Fluentd at launch + ## Fluentd will look for it under the /opt/bitnami/fluentd/conf directory + ## + # configFile: fluentd.conf + + ## String with extra arguments for the Fluentd command line + ## ref: https://docs.fluentd.org/deployment/command-line-option + ## + extraArgs: "" + + ## Extra environment variables to pass to the container + ## extraEnv: + ## - name: MY_ENV_VAR + ## - value: my_value + ## + extraEnv: {} + + ## Configure extra options for liveness and readiness probes + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes) + ## + livenessProbe: + initialDelaySeconds: 120 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 6 + successThreshold: 1 + readinessProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 6 + successThreshold: 1 + + ## Set up update strategy. + ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets + ## Example: + # updateStrategy: + # type: RollingUpdate + # rollingUpdate: + # maxSurge: 25% + # maxUnavailable: 25% + updateStrategy: + type: RollingUpdate + + ## Configure resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## Example: + ## resources: + ## requests: + ## memory: 512Mi + ## cpu: 300m + ## + # resources: + + ## Node labels for pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + ## Tolerations for pod assignment + ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + + ## Affinity for pod assignment + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## + affinity: {} + + ## Pod annotations + ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + ## + podAnnotations: {} + + + + + + + +service: + type: ClusterIP + port: 80 + +ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: chart-example.local + paths: [] + + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + +## SecurityContext configuration +## +securityContext: + enabled: true + runAsUser: 1001 + fsGroup: 1001 + runAsNonRoot: true + + +