Merge "[CONSUL] Add limits to consul chart."
[oom.git] / kubernetes / consul / 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     spec:
40       imagePullSecrets:
41       - name: "{{ include "common.namespace" . }}-docker-registry-key"
42       containers:
43       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
44         command:
45         - /bin/sh
46         - "-c"
47         - |
48           apk update && apk add jq
49           cp /tmp/consul/config/* /consul/config
50           /usr/local/bin/docker-entrypoint.sh agent -client 0.0.0.0 -enable-script-checks -retry-join {{ .Values.consulServer.nameOverride }}
51         name: {{ include "common.name" . }}
52         env:
53           - name: SDNC_ODL_COUNT
54             value: "{{ .Values.sdnc.replicaCount }}"
55           - name: SDNC_IS_PRIMARY_CLUSTER
56             value: "{{ .Values.sdnc.config.isPrimaryCluster }}"
57         volumeMounts:
58         - mountPath: /tmp/consul/config
59           name: consul-agent-config
60         - mountPath: /consul/scripts
61           name: consul-agent-scripts-config
62         - mountPath: /consul/certs
63           name: consul-agent-certs-config
64         resources: {{ include "common.resources" . | nindent 10 }}
65       volumes:
66       - configMap:
67           name: {{ include "common.fullname" . }}-configmap
68         name: consul-agent-config
69       - configMap:
70           name: {{ include "common.fullname" . }}-scripts-configmap
71           defaultMode: 0755
72         name: consul-agent-scripts-config
73       - secret:
74           secretName: {{ include "common.fullname" . }}-certs-secret
75         name: consul-agent-certs-config