Add standalone R3 RIC platform helm charts and deployment scripts.
[ric-plt/ric-dep.git] / helm / a1mediator / 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
18 {{- $imagectx := dict "ctx" . "defaultregistry" .Values.a1mediator.image.registry }}
19 {{- $pullpolicyctx := dict "ctx" . "defaultpullpolicy" .Values.a1mediator.imagePullPolicy }}
20 ---
21 apiVersion: apps/v1
22 kind: Deployment
23 metadata:
24   name: {{ include "common.deploymentname.a1mediator" . }}
25   namespace: {{ include "common.namespace.platform" . }}
26   labels:
27     app: {{ include "common.namespace.platform" . }}-{{ include "common.name.a1mediator" . }}
28     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
29     release: {{ .Release.Name }}
30     heritage: {{ .Release.Service }}
31 spec:
32   replicas: {{ .Values.a1mediator.replicaCount }}
33   selector:
34     matchLabels:
35       app: {{ include "common.namespace.platform" . }}-{{ include "common.name.a1mediator" . }}
36       release: {{ .Release.Name }}
37   template:
38     metadata:
39       {{- if .Values.a1mediator.annotations }}
40       annotations:
41         {{- .Values.a1mediator.annotations | nindent 8 -}}
42       {{ end }}
43       labels:
44         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.a1mediator" . }}
45         release: {{ .Release.Name }}
46     spec:
47       hostname: {{ include "common.name.a1mediator" . }}
48       imagePullSecrets:
49         - name: {{ include "common.dockerregistry.credential" $imagectx }}
50       containers:
51         - name: {{ include "common.containername.a1mediator" . }}
52           volumeMounts:
53           - name: a1conf
54             mountPath: /opt/ricmanifest.json
55             subPath: ricmanifest.json
56           - name: a1conf
57             mountPath: /opt/rmr_string_int_mapping.txt
58             subPath: rmr_string_int_mapping.txt
59           - name: a1conf
60             mountPath: /opt/route/local.rt
61             subPath: local.rt
62           envFrom:
63             - configMapRef:
64                 name: {{ include "common.configmapname.a1mediator" . }}-env
65           image: {{ include "common.dockerregistry.url" $imagectx }}/{{ .Values.a1mediator.image.name }}:{{ .Values.a1mediator.image.tag }}
66           imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $pullpolicyctx }}
67           ports:
68             - name: http
69               containerPort: {{ include "common.serviceport.a1mediator.http" . }}
70               protocol: TCP
71             - name: rmrroute
72               containerPort: {{ include "common.serviceport.a1mediator.rmr.route" . }}
73               protocol: TCP
74             - name: rmrdata
75               containerPort: {{ include "common.serviceport.a1mediator.rmr.data" . }}
76               protocol: TCP
77           livenessProbe:
78             httpGet:
79               path: /a1-p/healthcheck
80               port: http
81           readinessProbe:
82             httpGet:
83               path: /a1-p/healthcheck
84               port: http
85       volumes:
86         - name: "a1conf"
87           configMap:
88             name:  {{ include "common.configmapname.a1mediator" . }}-a1conf