Merge "[UUI] Service Mesh Compliance for UUI"
[oom.git] / kubernetes / sdnc / components / sdnc-prom / templates / deployment.yaml
1 {{/*
2 # Copyright © 2018 Amdocs
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
17 apiVersion: apps/v1
18 kind: Deployment
19 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
20 spec:
21   selector:
22     matchLabels:
23       app: {{ include "common.name" . }}
24   replicas: 1
25   selector: {{- include "common.selectors" . | nindent 4 }}
26   template:
27     metadata: {{- include "common.templateMetadata" . | nindent 6 }}
28     spec:
29       initContainers:
30       - command:
31         - /app/ready.py
32         args:
33         - --container-name
34         - sdnc
35         - --container-name
36         - consul
37         env:
38         - name: NAMESPACE
39           valueFrom:
40             fieldRef:
41               apiVersion: v1
42               fieldPath: metadata.namespace
43         image: {{ include "repositoryGenerator.image.readiness" . }}
44         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
45         name: {{ include "common.name" . }}-readiness
46       containers:
47       - name: {{ include "common.name" . }}
48         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
49         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
50         envFrom:
51           - configMapRef:
52               name: {{ include "common.release" . }}-sdnc-env
53         workingDir: "/app"
54         command: [ "bin/prom.sh" ]
55         volumeMounts:
56         - name: localtime
57           mountPath: /etc/localtime
58           readOnly: true
59         - name: prom-config
60           mountPath: /app/config
61         - name: prom-scripts
62           mountPath: /app/bin
63         - name: core-dns-keyfile
64           mountPath: /app/config/coredns
65         resources: {{ include "common.resources" . | nindent 10 }}
66       {{- if .Values.nodeSelector }}
67       nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
68       {{- end }}
69       {{- if .Values.affinity }}
70       affinity: {{ toYaml .Values.affinity | nindent 8 }}
71       {{- end }}
72       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
73       volumes:
74         - name: localtime
75           hostPath:
76             path: /etc/localtime
77         - name: prom-config
78           configMap:
79             name: {{ include "common.fullname" . }}-configmap
80         - name: prom-scripts
81           configMap:
82             name: {{ include "common.fullname" . }}-scripts
83             defaultMode: 0755
84         - name: core-dns-keyfile
85         {{- if .Values.persistence.enabled }}
86           persistentVolumeClaim:
87             claimName: {{ include "common.fullname" . }}
88         {{- else }}
89           emptyDir: {}
90         {{- end }}
91       imagePullSecrets:
92         - name: {{ include "common.namespace" . }}-docker-registry-key"