{{/*
# Copyright 2019-present Open Networking Foundation

# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
*/}}

{{ tuple "video-archive" . | include "cdn-remote.service_account" }}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: video-archive
  labels:
{{ tuple "video-archive" . | include "cdn-remote.metadata_labels" | indent 4 }}
spec:
  replicas: {{ .Values.config.videoArchive.replicas }}
  selector:
    matchLabels:
{{ tuple "video-archive" . | include "cdn-remote.metadata_labels" | indent 6 }}
  serviceName: "video-archive"
  template:
    metadata:
      labels:
{{ tuple "video-archive" . | include "cdn-remote.metadata_labels" | indent 8 }}
    spec:
    {{- if .Values.nodeSelectors.enabled }}
      nodeSelector:
        {{ .Values.nodeSelectors.videoArchive.label }}: {{ .Values.nodeSelectors.videoArchive.value }}
    {{- end }}
      serviceAccountName: video-archive
      initContainers:
      - name: video-archive-dep-check
        image: {{ .Values.images.tags.depCheck | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: false
          runAsUser: 0
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
        - name: COMMAND
          value: "echo done"
        - name: DEPENDENCY_POD_JSON
          value: '[{"labels": {"app": "ant-media"}, "requireSameNode": false}]'
        command:
          - kubernetes-entrypoint
        volumeMounts:
          []
      containers:
{{- if .Values.config.videoArchive.q720p.enabled }}
      - name: streaming-720
        image: {{ .Values.images.tags.videoArchive | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: false
          runAsUser: 0
        stdin: true
        tty: true
        command: [ "bash",  "-xc"]
        args:
        - /opt/start-stream.sh 720
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.videoArchive | indent 10 }}
      {{- end }}
        volumeMounts:
        - name: start-script
          mountPath: /opt/start-stream.sh
          subPath: start-stream.sh
{{- end }}
{{- if .Values.config.videoArchive.q480p.enabled }}
      - name: streaming-480
        image: {{ .Values.images.tags.videoArchive | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: false
          runAsUser: 0
        stdin: true
        tty: true
        command: [ "bash",  "-xc"]
        args:
        - /opt/start-stream.sh 480
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.videoArchive | indent 10 }}
      {{- end }}
        volumeMounts:
        - name: start-script
          mountPath: /opt/start-stream.sh
          subPath: start-stream.sh
{{- end }}
{{- if .Values.config.videoArchive.q360p.enabled }}
      - name: streaming-360
        image: {{ .Values.images.tags.videoArchive | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: false
          runAsUser: 0
        stdin: true
        tty: true
        command: [ "bash",  "-xc"]
        args:
        - /opt/start-stream.sh 360
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.videoArchive | indent 10 }}
      {{- end }}
        volumeMounts:
        - name: start-script
          mountPath: /opt/start-stream.sh
          subPath: start-stream.sh
{{- end }}
      volumes:
      - name: start-script
        configMap:
          name: start-stream
          defaultMode: 493
