blob: ca9551bc6ab4daa5ec01752086473f789cac9f3e [file] [log] [blame]
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +00001#============LICENSE_START========================================================
2# ================================================================================
3# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
4# ================================================================================
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16# ============LICENSE_END=========================================================
17
18apiVersion: extensions/v1beta1
19kind: Deployment
20metadata:
21 name: {{ include "common.fullname" . }}
22 namespace: {{ include "common.namespace" . }}
23 labels:
24 app: {{ include "common.name" . }}
25 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010026 release: {{ include "common.release" . }}
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000027 heritage: {{ .Release.Service }}
28spec:
29 replicas: 1
30 template:
31 metadata:
32 labels:
33 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010034 release: {{ include "common.release" . }}
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000035 spec:
36 initContainers:
37 - name: {{ include "common.name" . }}-readiness
38 image: {{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}
39 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
40 command:
41 - /root/ready.py
42 args:
43 - --container-name
44 - dcae-cloudify-manager
45 - --container-name
46 - consul-server
47 - --container-name
48 - dcae-inventory-api
49 - --container-name
50 - dcae-deployment-handler
51 - --container-name
52 - {{ .Values.postgres.nameOverride }}
53 - "-t"
54 - "45"
55 env:
56 - name: NAMESPACE
57 valueFrom:
58 fieldRef:
59 apiVersion: v1
60 fieldPath: metadata.namespace
61 - name: init-tls
62 env:
63 - name: POD_IP
64 valueFrom:
65 fieldRef:
66 apiVersion: v1
67 fieldPath: status.podIP
68 image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
69 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
70 resources: {}
71 volumeMounts:
72 - mountPath: /opt/tls/shared
73 name: tls-info
74 containers:
75 - name: {{ include "common.name" . }}
76 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
77 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
78 resources:
79{{ include "common.resources" . | indent 12 }}
80 ports:
81 - containerPort: {{ .Values.service.internalPort }}
82 protocol: TCP
83 # disable liveness probe when breakpoints set in debugger
84 # so K8s doesn't restart unresponsive container
85 {{- if eq .Values.liveness.enabled true }}
86 livenessProbe:
87 tcpSocket:
88 port: {{ .Values.service.internalPort }}
89 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
90 periodSeconds: {{ .Values.liveness.periodSeconds }}
91 {{ end }}
92 readinessProbe:
93 httpGet:
94 path: {{ .Values.readiness.path }}
95 port: {{ .Values.service.internalPort }}
96 scheme: {{ .Values.readiness.scheme }}
97 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
98 periodSeconds: {{ .Values.readiness.periodSeconds }}
99 failureThreshold: 1
100 successThreshold: 1
101 timeoutSeconds: 1
102 volumeMounts:
103 - mountPath: /usr/local/share/ca-certificates/
104 name: tls-info
105 env:
106 - name: CONSUL_HOST
107 value: consul-server.{{ include "common.namespace" . }}
108 - name: CONFIG_BINDING_SERVICE
109 value: config-binding-service
110 - name: inventory_url
111 value: {{ .Values.config.inventory_url }}
112 - name: postgres_port
113 value: "{{ .Values.postgres.config.pgPort }}"
114 - name: cloudify_password
115 value: admin
116 - name: dhandler_url
117 value: {{ .Values.config.dhandler_url }}
118 - name: cfy_url
119 value: {{ .Values.config.cfy_url }}
120 - name: cloudify_user
121 value: admin
122 - name: consul_url
123 value: http://consul-server-ui:8500
124 - name: postgres_user_dashboard
125 value: {{ .Values.postgres.config.pgUserName }}
126 - name: postgres_db_name
127 value: {{ .Values.postgres.config.pgDatabase }}
128 - name: postgres_password_dashboard
129 value: {{ .Values.postgres.config.pgUserPassword }}
130 - name: postgres_ip
131 value: {{ .Values.postgres.service.name2 }}
132 - name: POD_IP
133 valueFrom:
134 fieldRef:
135 apiVersion: v1
136 fieldPath: status.podIP
137 - name: {{ include "common.name" . }}-filebeat
138 env:
139 - name: POD_IP
140 valueFrom:
141 fieldRef:
142 apiVersion: v1
143 fieldPath: status.podIP
144 image: {{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}
145 imagePullPolicy: IfNotPresent
146 resources: {}
147 volumeMounts:
148 - mountPath: /var/log/onap/dashboard
149 name: component-log
150 - mountPath: /usr/share/filebeat/data
151 name: filebeat-data
152 - mountPath: /usr/share/filebeat/filebeat.yml
153 name: filebeat-conf
154 subPath: filebeat.yml
155 volumes:
156 - emptyDir: {}
157 name: component-log
158 - emptyDir: {}
159 name: filebeat-data
160 - configMap:
161 defaultMode: 420
162 name: {{ include "common.fullname" . }}-filebeat-configmap
163 name: filebeat-conf
164 - emptyDir: {}
165 name: tls-info
166 imagePullSecrets:
167 - name: "{{ include "common.namespace" . }}-docker-registry-key"
168