blob: dd5fd05d882f47c0daf00e04b93ea63035ae6aca [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 "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010026 release: {{ include "common.release" . }}
Jack Lucas332b5e72019-02-06 16:03:13 -050027 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" . }}
Jack Lucas332b5e72019-02-06 16:03:13 -050035 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-deployment-handler
45 - --container-name
46 - consul-server
47 - --container-name
48 - pdp
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
Jack Lucasc70bc7e2019-09-23 09:02:31 -040064 - name: aaf_locator_fqdn
65 value: dcae
Jack Lucas332b5e72019-02-06 16:03:13 -050066 image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
67 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
68 resources: {}
69 volumeMounts:
Jack Lucasc70bc7e2019-09-23 09:02:31 -040070 - mountPath: /opt/app/osaaf
Jack Lucas332b5e72019-02-06 16:03:13 -050071 name: tls-info
72 - name: init-consul
73 image: {{ .Values.global.consulLoaderRepository }}/{{ .Values.global.consulLoaderImage }}
74 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
75 args:
76 - --key
77 - policy_handler|/phconfig/config.json
78 resources: {}
79 volumeMounts:
80 - mountPath: /phconfig
81 name: ph-config
82 containers:
83 - name: {{ include "common.name" . }}
84 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
85 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
86 resources:
87{{ include "common.resources" . | indent 12 }}
88 ports:
89 - containerPort: {{ .Values.service.internalPort }}
90 # disable liveness probe when breakpoints set in debugger
91 # so K8s doesn't restart unresponsive container
92 {{- if eq .Values.liveness.enabled true }}
93 livenessProbe:
94 tcpSocket:
95 port: {{ .Values.service.internalPort }}
96 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
97 periodSeconds: {{ .Values.liveness.periodSeconds }}
98 {{ end }}
99 readinessProbe:
100 httpGet:
101 path: {{ .Values.readiness.path }}
102 port: {{ .Values.service.internalPort }}
103 scheme: {{ .Values.readiness.scheme }}
104 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
105 periodSeconds: {{ .Values.readiness.periodSeconds }}
106 volumeMounts:
107 - mountPath: /opt/app/policy_handler/logs
108 name: component-log
109 - mountPath: /opt/app/policy_handler/etc/tls/certs/
110 name: tls-info
111 env:
112 - name: CONSUL_HOST
113 value: consul-server.{{ include "common.namespace" . }}
114 - name: CLOUDIFY_USER
115 value: admin
116 - name: CLOUDIFY_PASSWORD
117 value: admin
118 - name: CONFIG_BINDING_SERVICE
119 value: config-binding-service
120 - name: POD_IP
121 valueFrom:
122 fieldRef:
123 apiVersion: v1
124 fieldPath: status.podIP
125 - name: {{ include "common.name" . }}-filebeat
126 env:
127 - name: POD_IP
128 valueFrom:
129 fieldRef:
130 apiVersion: v1
131 fieldPath: status.podIP
132 image: {{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}
133 imagePullPolicy: IfNotPresent
134 resources: {}
135 volumeMounts:
Jack Lucas128c0ad2019-09-04 15:44:33 -0400136 - mountPath: /var/log/onap/policy-handler
Jack Lucas332b5e72019-02-06 16:03:13 -0500137 name: component-log
138 - mountPath: /usr/share/filebeat/data
139 name: filebeat-data
140 - mountPath: /usr/share/filebeat/filebeat.yml
141 name: filebeat-conf
142 subPath: filebeat.yml
143 volumes:
144 - emptyDir: {}
145 name: component-log
146 - emptyDir: {}
147 name: filebeat-data
148 - configMap:
149 defaultMode: 420
150 name: {{ include "common.fullname" . }}-filebeat-configmap
151 name: filebeat-conf
152 - emptyDir: {}
153 name: tls-info
154 - configMap:
155 defaultMode: 422
156 name: {{ include "common.fullname" . }}-configmap
157 name: ph-config
158 imagePullSecrets:
159 - name: "{{ include "common.namespace" . }}-docker-registry-key"