blob: 539d202c0fd1c4201dbd4cbfff2fc61592bfbbb3 [file] [log] [blame]
BorislavGe904ab22018-04-03 16:55:55 +03001#============LICENSE_START========================================================
2# ================================================================================
3# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
Durgpal7ad40692018-08-03 07:28:36 +00004# Modifications Copyright © 2018 Amdocs, Bell Canada
BorislavGe904ab22018-04-03 16:55:55 +03005# ================================================================================
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17# ============LICENSE_END=========================================================
18
Krzysztof Kuzmickiaef70072020-07-24 14:47:43 +020019apiVersion: apps/v1
BorislavGe904ab22018-04-03 16:55:55 +030020kind: Deployment
21metadata:
22 name: {{ include "common.fullname" . }}
23 namespace: {{ include "common.namespace" . }}
24 labels:
25 app: {{ include "common.name" . }}
26 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010027 release: {{ include "common.release" . }}
BorislavGe904ab22018-04-03 16:55:55 +030028 heritage: {{ .Release.Service }}
29spec:
30 replicas: 1
Krzysztof Kuzmickiaef70072020-07-24 14:47:43 +020031 selector:
32 matchLabels:
33 app: {{ include "common.name" . }}
BorislavGe904ab22018-04-03 16:55:55 +030034 template:
35 metadata:
36 labels:
37 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010038 release: {{ include "common.release" . }}
BorislavGe904ab22018-04-03 16:55:55 +030039 spec:
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000040 # host alias allows local 'cfy' command to use https and match
41 # the host name in the certificate
42 hostAliases:
43 - ip: "127.0.0.1"
44 hostnames:
45 - "dcae-cloudify-manager"
Jack Lucasecc9f602019-03-19 11:38:42 -040046 initContainers:
Jack Lucas8c3463e2020-06-12 18:36:55 -040047 - name: {{ include "common.name" . }}-readiness
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020048 image: {{ include "common.repository" . }}/{{ .Values.global.readinessImage }}
Jack Lucas8c3463e2020-06-12 18:36:55 -040049 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
50 command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020051 - /app/ready.py
Jack Lucas8c3463e2020-06-12 18:36:55 -040052 args:
53 - --container-name
54 - aaf-cm
55 - "-t"
56 - "15"
57 env:
58 - name: NAMESPACE
59 valueFrom:
60 fieldRef:
61 apiVersion: v1
62 fieldPath: metadata.namespace
Jack Lucasecc9f602019-03-19 11:38:42 -040063 - name: {{ include "common.name" . }}-multisite-init
64 image: {{ include "common.repository" . }}/{{ .Values.multisiteInitImage }}
65 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
66 args:
67 - --namespace
68 - {{ include "common.namespace" . }}
69 - --configmap
70 - {{ .Values.multisiteConfigMapName }}
71 restartPolicy: Never
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000072 - name: init-tls
73 env:
74 - name: POD_IP
75 valueFrom:
76 fieldRef:
77 apiVersion: v1
78 fieldPath: status.podIP
Jack Lucasc70bc7e2019-09-23 09:02:31 -040079 - name: aaf_locator_fqdn
80 value: dcae
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000081 image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
82 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
83 resources: {}
84 volumeMounts:
Jack Lucasc70bc7e2019-09-23 09:02:31 -040085 - mountPath: /opt/app/osaaf
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000086 name: tls-info
Sylvain Desbureauxcfb7ff92020-05-06 17:40:20 +020087 {{- if .Values.persistence.enabled }}
88 - name: remove-lost-found
89 image: "{{ .Values.global.busyboxRepository }}/{{ .Values.global.busyboxImage }}"
90 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
91 volumeMounts:
92 - mountPath: /cfy-persist
93 name: cm-persistent
94 command:
95 - /bin/sh
96 args:
97 - -c
98 - "rm -rf '/cfy-persist/lost+found';"
99 {{- end }}
BorislavGe904ab22018-04-03 16:55:55 +0300100 containers:
101 - name: {{ include "common.name" . }}
BorislavGdf11cd52018-05-06 12:55:20 +0000102 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
BorislavGe904ab22018-04-03 16:55:55 +0300103 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000104 env:
105 - name: REQUESTS_CA_BUNDLE
106 value: "/opt/onap/certs/cacert.pem"
vaibhav_16decdb582fa2018-09-20 12:32:47 +0000107 resources:
108{{ include "common.resources" . | indent 12 }}
BorislavGe904ab22018-04-03 16:55:55 +0300109 ports:
110 - containerPort: {{ .Values.service.internalPort }}
111 # disable liveness probe when breakpoints set in debugger
112 # so K8s doesn't restart unresponsive container
113 {{- if eq .Values.liveness.enabled true }}
114 livenessProbe:
115 tcpSocket:
116 port: {{ .Values.service.internalPort }}
117 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
118 periodSeconds: {{ .Values.liveness.periodSeconds }}
Jack Lucasecc9f602019-03-19 11:38:42 -0400119 {{ end }}
BorislavGe904ab22018-04-03 16:55:55 +0300120 readinessProbe:
Jack Lucasecc9f602019-03-19 11:38:42 -0400121 exec:
122 command:
123 - /scripts/readiness-check.sh
BorislavGe904ab22018-04-03 16:55:55 +0300124 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
125 periodSeconds: {{ .Values.readiness.periodSeconds }}
126 volumeMounts:
127 - mountPath: /opt/onap/config.txt
128 subPath: config.txt
129 name: {{ include "common.fullname" .}}-config
130 readOnly: true
Jack Lucasecc9f602019-03-19 11:38:42 -0400131 - mountPath: /opt/onap/kube
132 name: {{ include "common.fullname" .}}-kubeconfig
133 readOnly: true
BorislavGe904ab22018-04-03 16:55:55 +0300134 - mountPath: /secret
135 name: dcae-token
136 readOnly: true
137 - mountPath: /sys/fs/cgroup
138 name: {{ include "common.fullname" . }}-cgroup
139 readOnly: true
140 - mountPath: /etc/localtime
141 name: localtime
142 readOnly: true
Jack Lucascec10b42018-12-04 15:10:28 -0500143 - mountPath: /cfy-persist
144 name: cm-persistent
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000145 - mountPath: /opt/onap/certs
146 name: tls-info
BorislavGe904ab22018-04-03 16:55:55 +0300147 securityContext:
148 privileged: True
BorislavGe904ab22018-04-03 16:55:55 +0300149 volumes:
150 - name: {{ include "common.fullname" . }}-config
151 configMap:
152 name: {{ include "common.fullname" . }}-configmap
Jack Lucasecc9f602019-03-19 11:38:42 -0400153 - name: {{ include "common.fullname" .}}-kubeconfig
154 configMap:
155 name: {{ .Values.multisiteConfigMapName }}
BorislavGe904ab22018-04-03 16:55:55 +0300156 - name: dcae-token
157 secret:
158 secretName: dcae-token
159 - name: {{ include "common.fullname" . }}-cgroup
160 hostPath:
161 path: /sys/fs/cgroup
162 - name: localtime
163 hostPath:
164 path: /etc/localtime
Jack Lucascec10b42018-12-04 15:10:28 -0500165 - name: cm-persistent
Sylvain Desbureaux03c36f92019-11-29 15:22:29 +0100166 {{- if .Values.persistence.enabled }}
Jack Lucascec10b42018-12-04 15:10:28 -0500167 persistentVolumeClaim:
168 claimName: {{ include "common.fullname" . }}-data
Sylvain Desbureaux03c36f92019-11-29 15:22:29 +0100169 {{- else }}
170 emptyDir: {}
171 {{- end }}
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000172 - emptyDir: {}
173 name: tls-info
BorislavGe904ab22018-04-03 16:55:55 +0300174 imagePullSecrets:
175 - name: "{{ include "common.namespace" . }}-docker-registry-key"