a4fafa525426d25b57b11a2b866a3fe824985999
[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 apiVersion: apps/v1
20 kind: Deployment
21 metadata:
22   name: {{ include "common.deploymentname.e2mgr" .}}
23   namespace: {{ include "common.namespace.platform" . }}
24   labels:
25     app: {{ include "common.namespace.platform" . }}-{{ include "common.name.e2mgr" . }}
26     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
27     release: {{ .Release.Name }}
28     heritage: {{ .Release.Service }}
29 spec:
30   replicas: {{ .Values.e2mgr.replicaCount }}
31   selector:
32     matchLabels:
33       app: {{ include "common.namespace.platform" . }}-{{ include "common.name.e2mgr" . }}
34       release: {{ .Release.Name }}
35   template:
36     metadata:
37       {{- if .Values.e2mgr.annotations }}
38       annotations:
39         {{- .Values.e2mgr.annotations | nindent 8 -}}
40       {{ end }}
41       labels:
42         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.e2mgr" . }}
43         release: {{ .Release.Name }}
44     spec:
45       hostname: {{ include "common.name.e2mgr" . }} 
46       imagePullSecrets:
47         - name: {{ include "common.dockerregistry.credential" $imagectx }}
48       initContainers:
49         - name: redis-init
50           image: "redis"
51           command:
52           - "/bin/sh"
53           args:
54           - '-c'
55           - "redis-cli -h {{ include "common.servicename.dbaas.tcp" . }} -p {{ include "common.serviceport.dbaas.redis" . }} SETNX \"{e2Manager},GENERAL\" \"{\\\"enableRic\\\":true}\""
56       containers:
57         - name: {{ include "common.containername.e2mgr" . }}
58           image: {{ include "common.dockerregistry.url" $imagectx }}/{{ .Values.e2mgr.image.name }}:{{ .Values.e2mgr.image.tag }}
59           imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $pullpolicyctx }}
60           volumeMounts:
61           - mountPath: /opt/E2Manager/router.txt
62             name: local-router-file
63             subPath: router.txt
64           - mountPath: /opt/E2Manager/resources/configuration.yaml
65             name: local-configuration-file
66             subPath: configuration.yaml
67           envFrom:
68             - configMapRef:
69                 name: {{ include "common.configmapname.e2mgr" . }}-env
70             - configMapRef:
71                 name: {{ include "common.configmapname.dbaas" . }}-appconfig
72           ports:
73             - name: "http"
74               containerPort: {{ include "common.serviceport.e2mgr.http" . }}
75             - name: "rmrroute"
76               containerPort: {{ include "common.serviceport.e2mgr.rmr.route" . }}
77             - name: "rmrdata"
78               containerPort: {{ include "common.serviceport.e2mgr.rmr.data" . }}
79           stdin: true
80           tty: true
81           securityContext:
82             privileged: {{ .Values.e2mgr.privilegedmode}}
83
84           {{- if eq .Values.e2mgr.liveness.enabled true }}
85           livenessProbe:
86             httpGet:
87               path: {{ .Values.e2mgr.liveness.api }}
88               port: {{ include "common.serviceport.e2mgr.http" . }}
89             initialDelaySeconds: {{ .Values.e2mgr.liveness.initialDelaySeconds }}
90             periodSeconds: {{ .Values.e2mgr.liveness.periodSeconds }}
91           {{- end }}
92           {{- if eq .Values.e2mgr.readiness.enabled true }}
93           readinessProbe:
94             httpGet:
95               path: {{ .Values.e2mgr.readiness.api }}
96               port: {{ include "common.serviceport.e2mgr.http" . }}
97             initialDelaySeconds: {{ .Values.e2mgr.liveness.initialDelaySeconds }}
98             periodSeconds: {{ .Values.e2mgr.liveness.periodSeconds }}
99           {{- end }}
100
101       volumes:
102         - name: local-router-file
103           configMap:
104             name: {{ include "common.configmapname.e2mgr" . }}-router-configmap
105         - name: local-configuration-file
106           configMap:
107             name: {{ include "common.configmapname.e2mgr" . }}-configuration-configmap