{{/*
# 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"
      initContainers:
      - name: {{ include "common.name" . }}-chown
        image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
        command:
        - sh
        args:
        - -c
        - |
          cp -r -L /tmp/consul/config/* /consul/config/
          chown -R {{ .Values.consulUID }}:{{ .Values.consulGID }} /consul/config
          ls -la /consul/config
        volumeMounts:
        - mountPath: /tmp/consul/config
          name: consul-agent-config
        - mountPath: /consul/config
          name: consul-agent-config-dir
      containers:
      - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
        securityContext:
          runAsUser: {{ .Values.securityContext.runAsUser }}
          runAsGroup: {{ .Values.securityContext.runAsGroup }}
        command:
        - docker-entrypoint.sh
        args:
        - 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: /consul/config
          name: consul-agent-config-dir
        - mountPath: /consul/scripts
          name: consul-agent-scripts-config
        - mountPath: /consul/certs
          name: consul-agent-certs-config
        resources: {{ include "common.resources" . | nindent 10 }}
      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
      volumes:
      - name: consul-agent-config-dir
        emptyDir: {}
      - 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
