Update git submodules
[oom.git] / kubernetes / sdnc / components / sdnc-web / templates / deployment.yaml
1 {{/*
2 # Copyright © 2020 highstreet technologies GmbH
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 nclude "common.repository" . }}apiVersion: apps/v1
18 kind: Deployment
19 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
20 spec:
21   serviceName: "sdnc-web"
22   replicas: {{ .Values.replicaCount }}
23   selector: {{- include "common.selectors" . | nindent 4 }}
24   template:
25     metadata: {{- include "common.templateMetadata" . | nindent 6 }}
26     spec:
27       initContainers: {{ include "common.certInitializer.initContainer" . | indent 6 }}
28       - name: {{ include "common.name" . }}-readiness
29         image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
30         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
31         command:
32         - /app/ready.py
33         args:
34         - --container-name
35         - {{ .Values.config.sdncChartName }}
36         env:
37         - name: NAMESPACE
38           valueFrom:
39             fieldRef:
40               apiVersion: v1
41               fieldPath: metadata.namespace
42
43       containers:
44         - name: {{ include "common.name" . }}
45           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
46           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
47           ports: {{- include "common.containerPorts" . | indent 10 }}
48           # disable liveness probe when breakpoints set in debugger
49           # so K8s doesn't restart unresponsive container
50           {{ if .Values.liveness.enabled }}
51           livenessProbe:
52             tcpSocket:
53               port: {{ .Values.service.internalPort }}
54             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
55             periodSeconds: {{ .Values.liveness.periodSeconds }}
56           {{ end }}
57           readinessProbe:
58             tcpSocket:
59               port: {{ .Values.service.internalPort }}
60             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
61             periodSeconds: {{ .Values.readiness.periodSeconds }}
62           env:
63           - name: WEBPROTOCOL
64             value: {{ .Values.config.webProtocol }}
65           - name: WEBPORT
66             value: {{ .Values.config.webPort | quote }}
67           - name: SDNRPROTOCOL
68             value: {{ .Values.config.sdnrProtocol }}
69           - name: SDNRHOST
70             value: {{ .Values.config.sdnrHost }}.{{ include "common.namespace" . }}
71           - name: SDNRPORT
72             value: {{ .Values.config.sdnrPort | quote }}
73           - name: SSL_CERT_DIR
74             value: {{ .Values.config.sslCertDir }}
75           - name: SSL_CERTIFICATE
76             value: {{ .Values.config.sslCertiticate }}
77           - name: SSL_CERTIFICATE_KEY
78             value: {{ .Values.config.sslCertKey }}
79           volumeMounts:  {{ include "common.certInitializer.volumeMount" . | nindent 10 }}
80           - mountPath: /etc/localtime
81             name: localtime
82             readOnly: true
83
84           resources: {{ include "common.resources" . | nindent 12 }}
85         {{- if .Values.nodeSelector }}
86         nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }}
87         {{- end -}}
88         {{- if .Values.affinity }}
89         affinity:
90 {{ toYaml .Values.affinity | indent 10 }}
91         {{- end }}
92       volumes: {{ include "common.certInitializer.volumes" . | nindent 6 }}
93       - name: localtime
94         hostPath:
95           path: /etc/localtime
96
97       imagePullSecrets:
98       - name: "{{ include "common.namespace" . }}-docker-registry-key"