Add standalone R3 RIC platform helm charts and deployment scripts.
[ric-plt/ric-dep.git] / helm / rsm / templates / deployment.yaml
1 ################################################################################
2 #   Copyright (c) 2019 AT&T Intellectual Property.                             #
3 #                                                                              #
4 #   Licensed under the Apache License, Version 2.0 (the "License");            #
5 #   you may not use this file except in compliance with the License.           #
6 #   You may obtain a copy of the License at                                    #
7 #                                                                              #
8 #       http://www.apache.org/licenses/LICENSE-2.0                             #
9 #                                                                              #
10 #   Unless required by applicable law or agreed to in writing, software        #
11 #   distributed under the License is distributed on an "AS IS" BASIS,          #
12 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
13 #   See the License for the specific language governing permissions and        #
14 #   limitations under the License.                                             #
15 ################################################################################
16 {{- $imagectx := dict "ctx" . "defaultregistry" .Values.rsm.image.registry }}
17 {{- $pullpolicyctx := dict "ctx" . "defaultpullpolicy" .Values.rsm.imagePullPolicy }}
18 apiVersion: apps/v1
19 kind: Deployment
20 metadata:
21   name: {{ include "common.deploymentname.rsm" .}}
22   namespace: {{ include "common.namespace.platform" . }}
23   labels:
24     app: {{ include "common.namespace.platform" . }}-{{ include "common.name.rsm" . }}
25     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
26     release: {{ .Release.Name }}
27     heritage: {{ .Release.Service }}
28 spec:
29   replicas: {{ .Values.rsm.replicaCount }}
30   selector:
31     matchLabels:
32       app: {{ include "common.namespace.platform" . }}-{{ include "common.name.rsm" . }}
33       release: {{ .Release.Name }}
34   template:
35     metadata:
36       {{- if .Values.rsm.annotations }}
37       annotations:
38         {{- .Values.rsm.annotations | nindent 8 -}}
39       {{ end }}
40       labels:
41         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.rsm" . }}
42         release: {{ .Release.Name }}
43     spec:
44       hostname: {{ include "common.name.rsm" . }} 
45       imagePullSecrets:
46         - name: {{ include "common.dockerregistry.credential" $imagectx }}
47       containers:
48         - name: {{ include "common.containername.rsm" . }}
49           image: {{ include "common.dockerregistry.url" $imagectx }}/{{ .Values.rsm.image.name }}:{{ .Values.rsm.image.tag }}
50           imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $pullpolicyctx }}
51           volumeMounts:
52           - mountPath: /opt/RSM/router.txt
53             name: local-router-file
54             subPath: router.txt
55           - mountPath: /opt/RSM/resources/configuration.yaml
56             name: local-configuration-file
57             subPath: configuration.yaml
58           envFrom:
59             - configMapRef:
60                 name: {{ include "common.configmapname.rsm" . }}-env
61           ports:
62             - name: "http"
63               containerPort: {{ include "common.serviceport.rsm.http" . }}
64             - name: "rmrroute"
65               containerPort: {{ include "common.serviceport.rsm.rmr.route" . }}
66             - name: "rmrdata"
67               containerPort: {{ include "common.serviceport.rsm.rmr.data" . }}
68           stdin: true
69           tty: true
70           securityContext:
71             privileged: {{ .Values.rsm.privilegedmode}}
72       volumes:
73         - name: local-router-file
74           configMap:
75             name: {{ include "common.configmapname.rsm" . }}-router-configmap
76         - name: local-configuration-file
77           configMap:
78             name: {{ include "common.configmapname.rsm" . }}