SDN-C Multi-site High-availability - Auto-failover
[oom.git] / kubernetes / consul / 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   selector:
28     matchLabels:
29       app: {{ include "common.name" . }}
30   template:
31     metadata:
32       labels:
33         app: {{ include "common.name" . }}
34         release: {{ .Release.Name }}
35       name: {{ include "common.name" . }}
36     spec:
37       imagePullSecrets:
38       - name: "{{ include "common.namespace" . }}-docker-registry-key"
39       containers:
40       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
41         command:
42         - /bin/sh
43         - "-c"
44         - |
45           apk update && apk add jq
46           cp /tmp/consul/config/* /consul/config
47           /usr/local/bin/docker-entrypoint.sh agent -client 0.0.0.0 -enable-script-checks -retry-join {{ .Values.consulServer.nameOverride }}
48         name: {{ include "common.name" . }}
49         env:
50           - name: SDNC_ODL_COUNT
51             value: "{{ .Values.sdnc.replicaCount }}"
52           - name: SDNC_IS_PRIMARY_CLUSTER
53             value: "{{ .Values.sdnc.config.isPrimaryCluster }}"
54         volumeMounts:
55         - mountPath: /tmp/consul/config
56           name: consul-agent-config
57         - mountPath: /consul/scripts
58           name: consul-agent-scripts-config
59         - mountPath: /consul/certs
60           name: consul-agent-certs-config
61       volumes:
62       - configMap:
63           name: {{ include "common.fullname" . }}-configmap
64         name: consul-agent-config
65       - configMap:
66           name: {{ include "common.fullname" . }}-scripts-configmap
67           defaultMode: 0755
68         name: consul-agent-scripts-config
69       - secret:
70           secretName: {{ include "common.fullname" . }}-certs-secret
71         name: consul-agent-certs-config