# Copyright © 2017 Amdocs, Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: {{ include "common.fullname" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ include "common.name" . }}
  template:
    metadata:
      labels:
        app: {{ include "common.name" . }}
        release: {{ .Release.Name }}
      name: {{ include "common.name" . }}
    spec:
      containers:
      - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
        command:
        - /bin/sh
        - "-c"
        - |
          cp /tmp/consul/config/* /consul/config
          /usr/local/bin/docker-entrypoint.sh agent -client 0.0.0.0 -enable-script-checks -join {{ .Values.consulServer.nameOverride }}.{{ include "common.namespace" .}}
        name: {{ include "common.name" . }}
        volumeMounts:
        - mountPath: /tmp/consul/config
          name: consul-agent-config
        - mountPath: /consul/scripts
          name: consul-agent-scripts-config
        - mountPath: /consul/certs
          name: consul-agent-certs-config
      volumes:
      - configMap:
          name: {{ include "common.fullname" . }}-configmap
        name: consul-agent-config
      - configMap:
          name: {{ include "common.fullname" . }}-scripts-configmap
          defaultMode: 0755
        name: consul-agent-scripts-config
      - secret:
          secretName: {{ include "common.fullname" . }}-certs-secret
        name: consul-agent-certs-config

