First commit for xapp_onboarder that onboards xApp
[it/dev.git] / xapp_onboarder / xapp_onboarder / resources / xapp-std / 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 apiVersion: apps/v1
17 kind: Deployment
18 metadata:
19   name: {{ include "ricxapp.fullname" . }}
20   labels:
21     app: {{ include "ricxapp.namespace" . }}-{{ include "ricxapp.name" . }}
22     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
23     release: {{ .Release.Name }}
24     heritage: {{ .Release.Service }}
25 spec:
26   replicas: {{ .Values.replicaCount }}
27   selector:
28     matchLabels:
29       app: {{ include "ricxapp.namespace" . }}-{{ include "ricxapp.name" . }}
30       release: {{ .Release.Name }}
31   template:
32     metadata:
33       labels:
34         app: {{ include "ricxapp.namespace" . }}-{{ include "ricxapp.name" . }}
35         release: {{ .Release.Name }}
36     spec:
37       hostname: {{ include "ricxapp.name" . }}
38       imagePullSecrets:
39 {{- range .Values.containers }}
40         - name: {{ .image.registry | replace "." "-" | replace ":" "-" | replace "/" "-" | trunc 63 | trimSuffix "-" }}
41 {{- end }}
42       volumes:
43         - name: config-volume
44           configMap:
45             name: {{ include "ricxapp.configmapname" . }}-appconfig
46       containers:
47 {{- range .Values.containers }}
48         - name: {{ .name }}
49           image: "{{ .image.registry }}/{{ .image.name }}:{{ .image.tag }}"
50           {{- if .command }}
51           command: [{{ .command }}]
52           {{- end}}
53           imagePullPolicy: {{ $.Values.image_pull_policy }}
54           {{- if .ports }}
55           ports:
56             {{- if .ports.http }}
57             - name: http_{{ .name }}
58               containerPort: {{ .ports.http }}
59               protocol: TCP
60             {{- end }}
61             {{- if .ports.rmr_data }}
62             - name: rmrdata_{{ .name }}
63               containerPort: {{ .ports.rmr_data }}
64               protocol: TCP
65             {{- end }}
66             {{- if .ports.rmr_route }}
67             - name: rmrroute_{{ .name }}
68               containerPort: {{ .ports.rmr_route }}
69               protocol: TCP
70             {{- end }}
71           {{- end }}
72 {{- end }}
73           volumeMounts:
74             - name: config-volume
75               mountPath: {{ .Values.appconfig.path }}
76           envFrom:
77             - configMapRef:
78                 name: {{ include "ricxapp.configmapname" . }}-appenv
79           restartPolicy: Always