[COMMON] templates for centralized logs 05/106405/1
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Wed, 22 Apr 2020 08:35:14 +0000 (10:35 +0200)
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>
Wed, 22 Apr 2020 08:48:25 +0000 (10:48 +0200)
Add three templates:
 * one for creating the sidecar
 * one for creating the configmap
 * one for creating the volumes

Issue-ID: OOM-2370
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: I34ac35a30b3ab892622431ee7c70277bc7b1f41d

kubernetes/common/common/templates/_log.tpl [new file with mode: 0644]
kubernetes/onap/resources/overrides/onap-all.yaml
kubernetes/onap/values.yaml

diff --git a/kubernetes/common/common/templates/_log.tpl b/kubernetes/common/common/templates/_log.tpl
new file mode 100644 (file)
index 0000000..3ae536a
--- /dev/null
@@ -0,0 +1,53 @@
+{{/*
+# Copyright © 2020 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- define "common.log.sidecar" -}}
+{{- if .Values.global.centralizedLoggingEnabled }}
+- name: {{ include "common.name" . }}-filebeat
+  image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+  imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+  volumeMounts:
+  - name: filebeat-conf
+    mountPath: /usr/share/filebeat/filebeat.yml
+    subPath: filebeat.yml
+  - name: logs
+    mountPath: {{ .Values.log.path }}
+  - name: filebeat-data
+    mountPath: /usr/share/filebeat/data
+{{- end -}}
+{{- end -}}
+
+{{- define "common.log.volumes" -}}
+{{- if .Values.global.centralizedLoggingEnabled }}
+- name: filebeat-conf
+  configMap:
+    name: {{ include "common.fullname" . }}-filebeat
+- name: filebeat-data
+  emptyDir: {}
+{{- end -}}
+{{- end -}}
+
+{{- define "common.log.configMap" -}}
+{{- if .Values.global.centralizedLoggingEnabled }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata: {{- include "common.resourceMetadata" (dict "dot" . "suffix" "filebeat") | nindent 2 }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
+{{- end }}
+{{- end -}}
+
index d2fb183..0f6b345 100644 (file)
@@ -17,6 +17,7 @@
 ###################################################################
 global:
   addTestingComponents: &testing true
+  centralizedLoggingEnabled: &centralizedLogging false
 cassandra:
   enabled: true
 mariadb-galera:
index 62949db..0e6a27c 100755 (executable)
@@ -99,6 +99,11 @@ global:
   # if set this element will force or not tls even if serviceMesh.tls is set.
   # tlsEnabled: false
 
+  # Logging
+  # Currently, centralized logging is not in best shape so it's disabled by
+  # default
+  centralizedLoggingEnabled: &centralizedLogging false
+
 
 # Example of specific for the components where you want to disable TLS only for
 # it:
@@ -176,8 +181,11 @@ dmaap:
   enabled: false
 esr:
   enabled: false
+# Today, "logging" chart that perform the central part of logging must also be
+# enabled in order to make it work. So `logging.enabled` must have the same
+# value than centralizedLoggingEnabled
 log:
-  enabled: false
+  enabled: *centralizedLogging
 sniro-emulator:
   enabled: false
 oof: