blob: a67197849f5efcdfe019438a74705fa38c2f5f6f [file] [log] [blame]
Jack Lucas332b5e72019-02-06 16:03:13 -05001#============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 "+" "_" }}
26 release: {{ .Release.Name }}
27 heritage: {{ .Release.Service }}
28spec:
29 replicas: 1
30 template:
31 metadata:
32 labels:
33 app: {{ include "common.name" . }}
34 release: {{ .Release.Name }}
35 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 - "-t"
50 - "45"
51 env:
52 - name: NAMESPACE
53 valueFrom:
54 fieldRef:
55 apiVersion: v1
56 fieldPath: metadata.namespace
57 - name: init-tls
58 env:
59 - name: POD_IP
60 valueFrom:
61 fieldRef:
62 apiVersion: v1
63 fieldPath: status.podIP
64 image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
65 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
66 resources: {}
67 volumeMounts:
68 - mountPath: /opt/tls/shared
69 name: tls-info
70 - name: init-consul
71 image: {{ .Values.global.consulLoaderRepository }}/{{ .Values.global.consulLoaderImage }}
72 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
73 args:
74 - --service
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000075 - "cloudify_manager|dcae-cloudify-manager.{{ include "common.namespace" . }}|443"
Jack Lucas332b5e72019-02-06 16:03:13 -050076 - --service
77 - "inventory|inventory.{{ include "common.namespace" . }}|8080"
78 - --key
79 - deployment_handler|/dhconfig/config.json
80 resources: {}
81 volumeMounts:
82 - mountPath: /dhconfig
83 name: dh-config
84 containers:
85 - name: {{ include "common.name" . }}
86 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
87 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
88 resources:
89{{ include "common.resources" . | indent 12 }}
90 ports:
91 - containerPort: {{ .Values.service.internalPort }}
92 # disable liveness probe when breakpoints set in debugger
93 # so K8s doesn't restart unresponsive container
94 {{- if eq .Values.liveness.enabled true }}
95 livenessProbe:
96 tcpSocket:
97 port: {{ .Values.service.internalPort }}
98 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
99 periodSeconds: {{ .Values.liveness.periodSeconds }}
100 {{ end }}
101 readinessProbe:
102 httpGet:
103 path: {{ .Values.readiness.path }}
104 port: {{ .Values.service.internalPort }}
105 scheme: {{ .Values.readiness.scheme }}
106 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
107 periodSeconds: {{ .Values.readiness.periodSeconds }}
108 volumeMounts:
109 - mountPath: /opt/app/dh/log
110 name: component-log
111 - mountPath: /opt/app/dh/etc/cert/
112 name: tls-info
113 env:
114 - name: CONSUL_HOST
115 value: consul-server.{{ include "common.namespace" . }}
116 - name: CLOUDIFY_USER
117 value: admin
118 - name: CLOUDIFY_PASSWORD
119 value: admin
120 - name: CONFIG_BINDING_SERVICE
121 value: config-binding-service
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000122 - name: NODE_EXTRA_CA_CERTS
123 value: /opt/app/dh/etc/cert/cacert.pem
Jack Lucas332b5e72019-02-06 16:03:13 -0500124 - name: POD_IP
125 valueFrom:
126 fieldRef:
127 apiVersion: v1
128 fieldPath: status.podIP
129 - name: {{ include "common.name" . }}-filebeat
130 env:
131 - name: POD_IP
132 valueFrom:
133 fieldRef:
134 apiVersion: v1
135 fieldPath: status.podIP
136 image: {{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}
137 imagePullPolicy: IfNotPresent
138 resources: {}
139 volumeMounts:
140 - mountPath: /var/log/onap/deployment-handler
141 name: component-log
142 - mountPath: /usr/share/filebeat/data
143 name: filebeat-data
144 - mountPath: /usr/share/filebeat/filebeat.yml
145 name: filebeat-conf
146 subPath: filebeat.yml
147 volumes:
148 - emptyDir: {}
149 name: component-log
150 - emptyDir: {}
151 name: filebeat-data
152 - configMap:
153 defaultMode: 420
154 name: {{ include "common.fullname" . }}-filebeat-configmap
155 name: filebeat-conf
156 - emptyDir: {}
157 name: tls-info
158 - configMap:
159 defaultMode: 422
160 name: {{ include "common.fullname" . }}-configmap
161 name: dh-config
162 imagePullSecrets:
163 - name: "{{ include "common.namespace" . }}-docker-registry-key"