{{- /*

# Copyright 2020-present Open Networking Foundation
#
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only

*/ -}}

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deepstream
  labels:
{{ tuple "deepstream" . | include "deepstream.metadata_labels" | indent 4 }}
spec:
  selector:
    matchLabels:
{{ tuple "deepstream" . | include "deepstream.metadata_labels" | indent 6 }}
  template:
    metadata:
      labels:
{{ tuple "deepstream" . | include "deepstream.metadata_labels" | indent 8 }}
    spec:
    {{- if .Values.nodeSelectors.enabled }}
      nodeSelector:
        {{ .Values.nodeSelectors.deepstream.label }}: {{ .Values.nodeSelectors.deepstream.value }}
    {{- end }}
      hostNetwork: true
      containers:
      - name: deepstream
        image: {{ .Values.images.tags.deepstreamTx2 }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.deepstream | indent 10 }}
      {{- end }}
        env:
        - name: DISPLAY
          value: {{ .Values.config.deepstream.display.display }}
        volumeMounts:
        - name: configs
          mountPath: /configs
          readOnly: true
        - name: x11-unix
          mountPath: /tmp/.X11-unix
        - name: argus-socket
          mountPath: /tmp/argus_socket
      volumes:
      - name: configs
        configMap:
          defaultMode: 0644
          name: deepstream
      - name: x11-unix
        hostPath:
          path: /tmp/.X11-unix
      - name: argus-socket
        hostPath:
          path: /tmp/argus_socket
