blob: 79d466227d9a264b43fbc8fec3894c4f12d0fd21 [file] [log] [blame]
rope252cd2142c2018-09-17 12:35:36 +01001# ============LICENSE_START=======================================================
2# Copyright (C) 2018 Ericsson. All rights reserved.
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# SPDX-License-Identifier: Apache-2.0
17# ============LICENSE_END=========================================================
18# @author: gareth.roper@ericsson.com
19apiVersion: extensions/v1beta1
20kind: Deployment
21metadata:
22 name: {{ include "common.fullname" . }}
23 namespace: {{ include "common.namespace" . }}
24 labels:
25 app: {{ include "common.fullname" . }}
26 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
27 release: {{ .Release.Name }}
28spec:
29 replicas: {{ index .Values.replicaCount }}
30 minReadySeconds: {{ index .Values.minReadySeconds }}
31 strategy:
32 type: {{ index .Values.updateStrategy.type }}
33 rollingUpdate:
34 maxUnavailable: {{ index .Values.updateStrategy.maxUnavailable }}
35 maxSurge: {{ index .Values.updateStrategy.maxSurge }}
36 template:
37 metadata:
38 labels:
39 app: {{ include "common.name" . }}
40 release: {{ .Release.Name }}
41 spec:
42 initContainers:
43 - name: so-chown
44 image: alpine:3.6
45 volumeMounts:
46 - name: logs
47 mountPath: /app/logs
48 imagePullPolicy: {{ index .Values.pullPolicy }}
49 command: ["/bin/sh", "-c", "chown -Rf 1000:1000 /app/logs"]
50 restartPolicy: Always
51 containers:
52 - name: {{ include "common.name" . }}
53 image: {{ include "common.repository" . }}/{{ .Values.image }}
54 resources:
55{{ include "common.resources" . | indent 12 }}
56 env:
57 - name: DB_HOST
58 valueFrom:
59 secretKeyRef:
60 name: {{ .Release.Name}}-so-db-secrets
61 key: mariadb.readwrite.host
62 - name: DB_PORT
63 valueFrom:
64 secretKeyRef:
65 name: {{ .Release.Name}}-so-db-secrets
66 key: mariadb.readwrite.port
67 - name: DB_USERNAME
68 valueFrom:
69 secretKeyRef:
70 name: {{ .Release.Name}}-so-db-secrets
71 key: mariadb.readwrite.rolename
72 - name: DB_PASSWORD
73 valueFrom:
Gareth Roper57264612018-10-10 16:46:42 +010074 secretKeyRef:
rope252cd2142c2018-09-17 12:35:36 +010075 name: {{ .Release.Name}}-so-db-secrets
76 key: mariadb.readwrite.password
77 - name: DB_ADMIN_USERNAME
78 valueFrom:
79 secretKeyRef:
80 name: {{ .Release.Name}}-so-db-secrets
81 key: mariadb.admin.rolename
82 - name: DB_ADMIN_PASSWORD
83 valueFrom:
84 secretKeyRef:
85 name: {{ .Release.Name}}-so-db-secrets
86 key: mariadb.admin.password
87 - name: CADI_KEYSTORE_PASSWORD
88 valueFrom:
89 secretKeyRef:
90 name: {{ .Release.Name}}-so-ssl-pwd-secret
91 key: cadi_keystore_password
92 - name: CADI_TRUSTSTORE_PASSWORD
93 valueFrom:
94 secretKeyRef:
95 name: {{ .Release.Name}}-so-ssl-pwd-secret
96 key: cadi_truststore_password
97 - name: MSO_KEYSTORE_PASSWORD
98 valueFrom:
99 secretKeyRef:
100 name: {{ .Release.Name}}-so-ssl-client-secret
101 key: keystore_password
102 - name: MSO_TRUSTSTORE_PASSWORD
103 valueFrom:
104 secretKeyRef:
105 name: {{ .Release.Name}}-so-ssl-client-secret
106 key: truststore_password
107 envFrom:
108 - configMapRef:
109 name: {{ include "common.fullname" . }}-configmap
110 imagePullPolicy: {{ index .Values "global" "pullPolicy" }}
111 volumeMounts:
112 - name: logs
113 mountPath: /app/logs
114 - name: certs
115 mountPath: /app/certs/
116 readOnly: true
117 - name: config
118 mountPath: /app/config
119 readOnly: true
120 readinessProbe:
121 tcpSocket:
122 port: {{ index .Values.readinessProbe.port }}
123 initialDelaySeconds: {{ index .Values.readinessProbe.initialDelaySeconds}}
124 periodSeconds: {{ index .Values.readinessProbe.periodSeconds}}
125 livenessProbe:
126 tcpSocket:
127 port: {{ index .Values.livenessProbe.port }}
128 initialDelaySeconds: {{ index .Values.livenessProbe.initialDelaySeconds}}
129 periodSeconds: {{ index .Values.livenessProbe.periodSeconds}}
130 successThreshold: {{ index .Values.livenessProbe.successThreshold}}
131 failureThreshold: {{ index .Values.livenessProbe.failureThreshold}}
132
133 ports:
134 - containerPort: {{ index .Values.containerPort }}
135 name: {{ .Values.service.portName }}
136 protocol: TCP
137 volumes:
138 - name: logs
139 emptyDir: {}
140 - name: certs
141 secret:
142 secretName: {{ .Release.Name}}-so-ssl-secret
143 - name: config
144 configMap:
145 name: {{ include "common.fullname" . }}-app-configmap
146 imagePullSecrets:
147 - name: "{{ include "common.namespace" . }}-docker-registry-key"
148
149