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