---
# Copyright 2017-present Open Networking Foundation
#
# 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: kpi-exporter
  labels:
    release: {{ .Release.Name }}
spec:
  replicas: {{ .Values.kpi_exporter.nem_kpi_exporter_replicas }}
  template:
    metadata:
      labels:
        app: kpi-exporter
        release: {{ .Release.Name }}
    spec:
      containers:
        - name: kpi-exporter
          image:  "{{ .Values.global.registry }}{{ .Values.images.kpi_exporter.repository }}:{{ tpl .Values.images.kpi_exporter.tag . }}"
          imagePullPolicy: "{{ .Values.images.kpi_exporter.pullPolicy }}"
          args: ["-broker={{ .Values.kpi_exporter.kpi_broker }}"]
          ports:
            - containerPort: 8080
              port: 8080
              protocol: TCP
          volumeMounts:
            - name: exporter-config
              mountPath: /etc/config/conf.yaml
              subPath: conf.yaml
      volumes:
        - name: exporter-config
          configMap:
            name: exporter-configmap
