+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "appmgr.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.namespace" . }}-{{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.namespace" . }}-{{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ #app.kubernetes.io/name: {{ include "appmgr.name" . }}
+ #app.kubernetes.io/instance: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.namespace" . }}-{{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ hostname: {{ include "common.namespace" . }}-{{ include "common.name" . }}
+ imagePullSecrets:
+ - name: {{ .Values.image.repositoryCred }}
+ hostAliases:
+ # create a DNS name entry in container's /etc/hosts for resolving helm chart repo hostnaem
+ - ip: "${__RUNRICENV_DOCKER_IP__}"
+ hostnames:
+ - "${__RUNRICENV_DOCKER_HOST__}"
+ - ip: "${__RUNRICENV_HELMREPO_IP__}"
+ hostnames:
+ - "${__RUNRICENV_HELMREPO_HOST__}"
+ containers:
+ - name: {{ include "common.namespace" . }}-{{ include "common.name" . }}
+ image: "{{ .Values.image.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.containerPort }}
+ protocol: TCP
+ volumeMounts:
+ - name: config-volume
+ mountPath: {{ .Values.appconfigpath }}
+ - name: secret-volume
+ mountPath: {{ .Values.appsecretpath }}
+ - name: cert-volume
+ mountPath: {{ .Values.appcertpath }}
+ envFrom:
+ - configMapRef:
+ name: {{ include "appmgr.fullname" . }}-appenv
+ livenessProbe:
+ #exec:
+ # command:
+ # - /bin/bash
+ # - -c
+ # - ps -ef | grep {{ .Values.livenessprocessname }}| grep -v "grep"
+ #initialDelaySeconds: 120
+ #periodSeconds: 30
+ readinessProbe:
+ # httpGet:
+ # path: /
+ # port: http
+ restartPolicy: Always
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ securityContext:
+ # ubuntu
+ #runAsUser: 1000
+ #allowPrivilegeEscalation: false
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+
+ volumes:
+ - name: config-volume
+ configMap:
+ name: {{ include "appmgr.fullname" . }}-appconfig
+ - name: secret-volume
+ secret:
+ secretName: {{ .Values.appsecretobject }}
+ - name: cert-volume
+ configMap:
+ name: {{ .Values.appcertobject }}