Merge "[SDC] Bring back sdc onboarding volume mount permissions"
[oom.git] / kubernetes / multicloud / charts / multicloud-windriver / templates / deployment.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
3 # Modifications Copyright © 2018 AT&T
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 */}}
17
18 apiVersion: apps/v1
19 kind: Deployment
20 metadata:
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: {{ include "common.release" . }}
27     heritage: {{ .Release.Service }}
28 spec:
29   replicas: {{ .Values.replicaCount }}
30   selector:
31     matchLabels:
32       app: {{ include "common.name" . }}
33   template:
34     metadata:
35       labels:
36         app: {{ include "common.name" . }}
37         release: {{ include "common.release" . }}
38       name: {{ include "common.name" . }}
39       annotations:
40         sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
41     spec:
42      initContainers:
43      - command: ["sh", "-c", "chown -R 100:101 /data"]
44        image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.global.ubuntuInitImage }}"
45        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
46        name: {{ include "common.name" . }}-init
47        volumeMounts:
48        - mountPath: /data
49          name: artifact-data
50      containers:
51      - env:
52        - name: MSB_PROTO
53          value: {{ .Values.config.msbprotocol }}
54        - name: MSB_ADDR
55          value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
56        - name: MSB_PORT
57          value: "{{ .Values.config.msbPort }}"
58        - name: AAI_ADDR
59          value: aai.{{ include "common.namespace" . }}
60        - name: AAI_PORT
61          value: "{{ .Values.config.aai.port }}"
62        - name: AAI_SCHEMA_VERSION
63          value: "{{ .Values.config.aai.schemaVersion }}"
64        - name: AAI_USERNAME
65          value: "{{ .Values.config.aai.username }}"
66        - name: AAI_PASSWORD
67          value: "{{ .Values.config.aai.password }}"
68        - name: SSL_ENABLED
69          value: "{{ .Values.config.ssl_enabled }}"
70        name: {{ include "common.name" . }}
71        volumeMounts:
72        - mountPath: /var/log/onap
73          name: windriver-log
74        - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
75          name: windriver-logconfig
76          subPath: log.yml
77        - mountPath: /opt/artifacts/
78          name: artifact-data
79        resources:
80 {{ include "common.resources" . | indent 12 }}
81        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
82        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
83        ports:
84        - containerPort: {{ .Values.service.internalPort }}
85        # disable liveness probe when breakpoints set in debugger
86        # so K8s doesn't restart unresponsive container
87        {{ if .Values.liveness.enabled }}
88        livenessProbe:
89          httpGet:
90            path: /api/multicloud-titaniumcloud/v1/swagger.json
91            port: {{ .Values.service.internalPort }}
92            scheme: HTTPS
93          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
94          periodSeconds: {{ .Values.liveness.periodSeconds }}
95          timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
96          successThreshold: {{ .Values.liveness.successThreshold }}
97          failureThreshold: {{ .Values.liveness.failureThreshold }}
98        {{ end }}
99      # side car containers
100      - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
101        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
102        name: filebeat-onap
103        volumeMounts:
104        - mountPath: /usr/share/filebeat/filebeat.yml
105          name: filebeat-conf
106          subPath: filebeat.yml
107        - mountPath: /var/log/onap
108          name: windriver-log
109        - mountPath: /usr/share/filebeat/data
110          name: windriver-data-filebeat
111      - image: "{{ include "common.repository" . }}/{{ .Values.global.artifactImage }}"
112        name: framework-artifactbroker
113        command: ["/opt/app/distribution/bin/artifact-dist.sh"]
114        args: ["/opt/app/distribution/etc/mounted/config.json"]
115        ports:
116        - containerPort: 9014
117          protocol: TCP
118        volumeMounts:
119        - mountPath: /opt/app/distribution/etc/mounted/config.json
120          name: windriver-logconfig
121          subPath: config.json
122        - mountPath: /data
123          name: artifact-data
124
125      volumes:
126      - name: windriver-log
127        emptyDir: {}
128      - name: windriver-data-filebeat
129        emptyDir: {}
130      - name: filebeat-conf
131        configMap:
132          name: multicloud-filebeat-configmap
133      - name: windriver-logconfig
134        configMap:
135          name: {{ include "common.fullname" . }}-log-configmap
136      - name: artifact-data
137      {{- if .Values.persistence.enabled }}
138        persistentVolumeClaim:
139          claimName: {{ include "common.fullname" . }}
140      {{- else }}
141        emptyDir: {}
142      {{- end }}
143      imagePullSecrets:
144      - name: "{{ include "common.namespace" . }}-docker-registry-key"
145      restartPolicy: Always