c59ed08f3fcaea1848580a2e4273cd94a433c381
[oom.git] / kubernetes / policy / charts / drools / charts / nexus / templates / deployment.yaml
1 # Copyright © 2017 Amdocs, Bell Canada
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #       http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 apiVersion: extensions/v1beta1
16 kind: Deployment
17 metadata:
18   name: {{ include "common.fullname" . }}
19   namespace: {{ include "common.namespace" . }}
20   labels:
21     app: {{ include "common.name" . }}
22     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
23     release: {{ .Release.Name }}
24     heritage: {{ .Release.Service }}
25 spec:
26   replicas: {{ .Values.replicaCount }}
27   template:
28     metadata:
29       labels:
30         app: {{ include "common.name" . }}
31         release: {{ .Release.Name }}
32     spec:
33       initContainers:
34       - command: ["sh", "-c", "chown -R 200:200 /share"]
35         image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.global.ubuntuInitImage }}"
36         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
37         name: {{ include "common.name" . }}-init
38         volumeMounts:
39         - mountPath: /share
40           name: nexus-data
41       containers:
42         - name: {{ include "common.name" . }}
43           image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
44           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
45           ports:
46           - containerPort: {{ .Values.service.internalPort }}
47           {{- if eq .Values.liveness.enabled true }}
48           livenessProbe:
49             tcpSocket:
50               port: {{ .Values.service.internalPort }}
51             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
52             periodSeconds: {{ .Values.liveness.periodSeconds }}
53           {{ end -}}
54           readinessProbe:
55             httpGet:
56               path: {{ .Values.readiness.path }}
57               port: {{ .Values.service.internalPort }}
58             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
59             periodSeconds: {{ .Values.readiness.periodSeconds }}
60           volumeMounts:
61           - mountPath: /etc/localtime
62             name: localtime
63             readOnly: true
64           - mountPath: /sonatype-work
65             name: nexus-data
66           resources:
67 {{ toYaml .Values.resources | indent 12 }}
68         {{- if .Values.nodeSelector }}
69         nodeSelector:
70 {{ toYaml .Values.nodeSelector | indent 10 }}
71         {{- end -}}
72         {{- if .Values.affinity }}
73         affinity:
74 {{ toYaml .Values.affinity | indent 10 }}
75         {{- end }}
76       volumes:
77         - name: localtime
78           hostPath:
79             path: /etc/localtime
80         - name: nexus-data
81         {{- if .Values.persistence.enabled }}
82           persistentVolumeClaim:
83             claimName: {{ include "common.fullname" . }}
84         {{- else }}
85           emptyDir: {}
86         {{- end }}
87       imagePullSecrets:
88       - name: "{{ include "common.namespace" . }}-docker-registry-key"