{{/*
# Copyright © 2017 Amdocs, Bell Canada
# Modifications Copyright © 2018 AT&T
#
# 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: apps/v1
kind: Deployment
metadata:
  name: {{ include "common.fullname" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ include "common.release" . }}
    heritage: {{ .Release.Service }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ include "common.name" . }}
  template:
    metadata:
      labels:
        app: {{ include "common.name" . }}
        release: {{ include "common.release" . }}
      name: {{ include "common.name" . }}
    spec:
      imagePullSecrets:
      - name: "{{ include "common.namespace" . }}-docker-registry-key"
      containers:
      - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
        command:
        - /bin/sh
        - "-c"
        - |
          apk update && apk add jq
          cp /tmp/consul/config/* /consul/config
          /usr/local/bin/docker-entrypoint.sh agent -client 0.0.0.0 -enable-script-checks -retry-join {{ .Values.consulServer.nameOverride }}
        name: {{ include "common.name" . }}
        env:
          - name: SDNC_ODL_COUNT
            value: "{{ .Values.sdnc.replicaCount }}"
          - name: SDNC_IS_PRIMARY_CLUSTER
            value: "{{ .Values.sdnc.config.isPrimaryCluster }}"
        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
