[CASSANDRA] Change values to makre Cassandra instances more stable
[oom.git] / kubernetes / dcaegen2 / components / dcae-bootstrap / templates / deployment.yaml
1 {{/*
2 #============LICENSE_START========================================================
3 # ================================================================================
4 # Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.
5 # Modifications Copyright © 2018 Amdocs, Bell Canada
6 # Copyright (c) 2021 J. F. Lucas.  All rights reserved.
7 # ================================================================================
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
11 #
12 #     http://www.apache.org/licenses/LICENSE-2.0
13 #
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 # ============LICENSE_END=========================================================
20 */}}
21
22 apiVersion: apps/v1
23 kind: Deployment
24 metadata:
25   name: {{ include "common.fullname" . }}
26   namespace: {{ include "common.namespace" . }}
27   labels:
28     app: {{ include "common.name" . }}
29     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
30     release: {{ include "common.release" . }}
31     heritage: {{ .Release.Service }}
32 spec:
33   replicas: 1
34   selector:
35     matchLabels:
36       app: {{ include "common.name" . }}
37   template:
38     metadata:
39       labels:
40         app: {{ include "common.name" . }}
41         release: {{ include "common.release" . }}
42     spec:
43       initContainers:
44       - command:
45         - sh
46         args:
47         - -c
48         - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config/${PFILE}; done"
49         env:
50         - name: PG_ROOT_PASSWORD
51           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-root-pass" "key" "password") | indent 10 }}
52         volumeMounts:
53         - mountPath: /config-input
54           name: {{ include "common.fullname" . }}-dcae-inputs-input
55         - mountPath: /config
56           name: {{ include "common.fullname" . }}-dcae-inputs
57         image: {{ include "repositoryGenerator.image.envsubst" . }}
58         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
59         name: {{ include "common.name" . }}-update-config
60
61       - name: {{ include "common.name" . }}-readiness
62         image: {{ include "repositoryGenerator.image.readiness" . }}
63         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
64         command:
65           - /app/ready.py
66         args:
67           - --container-name
68           - dcae-cloudify-manager
69           - --container-name
70           - consul-server
71           - --container-name
72           - dcae-config-binding-service
73           - --container-name
74           - dcae-db
75           - --container-name
76           - dcae-inventory-api
77           - "-t"
78           - "15"
79         env:
80         - name: NAMESPACE
81           valueFrom:
82             fieldRef:
83               apiVersion: v1
84               fieldPath: metadata.namespace
85       - name: init-tls
86         env:
87         - name: POD_IP
88           valueFrom:
89             fieldRef:
90               apiVersion: v1
91               fieldPath: status.podIP
92         - name: aaf_locator_fqdn
93           value: dcae
94         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.tlsImage }}
95         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
96         resources: {}
97         volumeMounts:
98         - mountPath: /opt/app/osaaf
99           name: tls-info
100       - name: init-consul
101         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.consulLoaderImage }}
102         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
103         args:
104         - --service
105         - "config-binding-service|config-binding-service.{{ include "common.namespace" . }}|10000"
106         - --service
107         - "config_binding_service|config-binding-service.{{ include "common.namespace" . }}|10000"
108         resources: {}
109       containers:
110         - name: {{ include "common.name" . }}
111           image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
112           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
113           resources:
114 {{ include "common.resources" . | indent 12 }}
115           volumeMounts:
116             - mountPath: /inputs
117               name: {{ include "common.fullname" . }}-dcae-inputs
118             - mountPath: /etc/localtime
119               name: localtime
120               readOnly: true
121             - mountPath: /certs
122               name: tls-info
123               readOnly: true
124           env:
125             - name: CMADDR
126               value: {{ .Values.config.address.cm.host }}
127             - name: CMPASS
128               {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "cm-pass" "key" "password") | indent 14}}
129             - name: CMPROTO
130               value: {{ .Values.config.address.cm.proto }}
131             - name: CMPORT
132               value: !!string {{ .Values.config.address.cm.port }}
133             - name: CONSUL
134               value: {{ .Values.config.address.consul.host }}:{{ .Values.config.address.consul.port }}
135             - name: DCAE_NAMESPACE
136               value: {{ .Values.dcae_ns | default "" }}
137             - name: ONAP_NAMESPACE
138               value: {{ include "common.namespace" . }}
139       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
140       volumes:
141         - name: {{ include "common.fullname" . }}-dcae-inputs-input
142           configMap:
143             name: {{ include "common.fullname" . }}-dcae-inputs
144         - name: {{ include "common.fullname" . }}-dcae-inputs
145           emptyDir:
146             medium: Memory
147         - name: localtime
148           hostPath:
149             path: /etc/localtime
150         - name: tls-info
151           emptyDir: {}
152       imagePullSecrets:
153         - name: "{{ include "common.namespace" . }}-docker-registry-key"