helm related changes to support dynamic logging
[ric-plt/ric-dep.git] / helm / e2mgr / templates / deployment.yaml
1 ################################################################################
2 #   Copyright (c) 2019 AT&T Intellectual Property.                             #
3 #   Copyright (c) 2019 Nokia.                                                  #
4 #                                                                              #
5 #   Licensed under the Apache License, Version 2.0 (the "License");            #
6 #   you may not use this file except in compliance with the License.           #
7 #   You may obtain a copy of the License at                                    #
8 #                                                                              #
9 #       http://www.apache.org/licenses/LICENSE-2.0                             #
10 #                                                                              #
11 #   Unless required by applicable law or agreed to in writing, software        #
12 #   distributed under the License is distributed on an "AS IS" BASIS,          #
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
14 #   See the License for the specific language governing permissions and        #
15 #   limitations under the License.                                             #
16 ################################################################################
17 {{- $imagectx := dict "ctx" . "defaultregistry" .Values.e2mgr.image.registry }}
18 {{- $pullpolicyctx := dict "ctx" . "defaultpullpolicy" .Values.e2mgr.imagePullPolicy }}
19 {{- $common_env := .Values.common_env_variables }}
20 apiVersion: apps/v1
21 kind: Deployment
22 metadata:
23   name: {{ include "common.deploymentname.e2mgr" .}}
24   namespace: {{ include "common.namespace.platform" . }}
25   labels:
26     app: {{ include "common.namespace.platform" . }}-{{ include "common.name.e2mgr" . }}
27     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
28     release: {{ .Release.Name }}
29     heritage: {{ .Release.Service }}
30 spec:
31   replicas: {{ .Values.e2mgr.replicaCount }}
32   selector:
33     matchLabels:
34       app: {{ include "common.namespace.platform" . }}-{{ include "common.name.e2mgr" . }}
35       release: {{ .Release.Name }}
36   template:
37     metadata:
38       {{- if .Values.e2mgr.annotations }}
39       annotations:
40         {{- .Values.e2mgr.annotations | nindent 8 -}}
41       {{ end }}
42       labels:
43         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.e2mgr" . }}
44         release: {{ .Release.Name }}
45     spec:
46       hostname: {{ include "common.name.e2mgr" . }} 
47       imagePullSecrets:
48         - name: {{ include "common.dockerregistry.credential" $imagectx }}
49       containers:
50         - name: {{ include "common.containername.e2mgr" . }}
51           image: {{ include "common.dockerregistry.url" $imagectx }}/{{ .Values.e2mgr.image.name }}:{{ .Values.e2mgr.image.tag }}
52           imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $pullpolicyctx }}
53           volumeMounts:
54           - mountPath: /opt/E2Manager/router.txt
55             name: local-router-file
56             subPath: router.txt
57           - mountPath: /etc/config
58             name: e2mgr-loglevel-volume
59           - mountPath: /opt/E2Manager/resources/configuration.yaml
60             name: local-configuration-file
61             subPath: configuration.yaml
62           envFrom:
63             - configMapRef:
64                 name: {{ include "common.configmapname.e2mgr" . }}-env
65             - configMapRef:
66                 name: {{ include "common.configmapname.dbaas" . }}-appconfig
67           ports:
68             - name: "http"
69               containerPort: {{ include "common.serviceport.e2mgr.http" . }}
70             - name: "rmrroute"
71               containerPort: {{ include "common.serviceport.e2mgr.rmr.route" . }}
72             - name: "rmrdata"
73               containerPort: {{ include "common.serviceport.e2mgr.rmr.data" . }}
74           stdin: true
75           tty: true
76           securityContext:
77             privileged: {{ .Values.e2mgr.privilegedmode}}
78
79           {{- if eq .Values.e2mgr.liveness.enabled true }}
80           livenessProbe:
81             httpGet:
82               path: {{ .Values.e2mgr.liveness.api }}
83               port: {{ include "common.serviceport.e2mgr.http" . }}
84             initialDelaySeconds: {{ .Values.e2mgr.liveness.initialDelaySeconds }}
85             periodSeconds: {{ .Values.e2mgr.liveness.periodSeconds }}
86           {{- end }}
87           {{- if eq .Values.e2mgr.readiness.enabled true }}
88           readinessProbe:
89             httpGet:
90               path: {{ .Values.e2mgr.readiness.api }}
91               port: {{ include "common.serviceport.e2mgr.http" . }}
92             initialDelaySeconds: {{ .Values.e2mgr.liveness.initialDelaySeconds }}
93             periodSeconds: {{ .Values.e2mgr.liveness.periodSeconds }}
94           {{- end }}
95
96       volumes:
97         - name: local-router-file
98           configMap:
99             name: {{ include "common.configmapname.e2mgr" . }}-router-configmap
100         - name: local-configuration-file
101           configMap:
102             name: {{ include "common.configmapname.e2mgr" . }}-configuration-configmap
103         - name: e2mgr-loglevel-volume
104           configMap:
105               name: {{ include "common.configmapname.e2mgr" . }}-loglevel-configmap
106               items:
107                 - key: logcfg
108                   path: log-level.yaml
109                   mode: 0644