[GENERAL] Use readiness container v3.0.1
[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 "common.repository" . }}/{{ .Values.global.readinessImage }}"
44         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
45         name: {{ include "common.name" . }}-readiness
46       containers:
47       - name: {{ include "common.name" . }}
48         image: "{{ include "common.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
66         resources:
67 {{ include "common.resources" . | indent 12 }}
68         {{- if .Values.nodeSelector }}
69         nodeSelector:
70 {{ toYaml .Values.nodeSelector | indent 10 }}
71         {{- end -}}
72         {{- if .Values.affinity }}
73         affinity:
74 {{ toYaml .Values.affinity | indent 10 }}
75         {{- end }}
76       volumes:
77         - name: localtime
78           hostPath:
79             path: /etc/localtime
80         - name: prom-config
81           configMap:
82             name: {{ include "common.fullname" . }}-configmap
83         - name: prom-scripts
84           configMap:
85             name: {{ include "common.fullname" . }}-scripts
86             defaultMode: 0755
87         - name: core-dns-keyfile
88         {{- if .Values.persistence.enabled }}
89           persistentVolumeClaim:
90             claimName: {{ include "common.fullname" . }}
91         {{- else }}
92           emptyDir: {}
93         {{- end }}
94       imagePullSecrets:
95         - name: {{ include "common.namespace" . }}-docker-registry-key"