blob: 72519354bc08266bf8f39bd479815bd66891b7f3 [file] [log] [blame]
Zhe Huang38dc8572019-12-08 00:01:26 -05001################################################################################
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---
21apiVersion: apps/v1
22kind: Deployment
23metadata:
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 }}
31spec:
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