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

# SPDX-License-Identifier: Apache-2.0
*/}}

{{- if .Values.config.spgwc.deploy }}
{{ tuple "spgwc" . | include "omec-control-plane.service_account" }}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: spgwc
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
spec:
  replicas: 1
  serviceName: spgwc-headless
  selector:
    matchLabels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 6 }}
  template:
    metadata:
      labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 8 }}
    {{- with .Values.config.spgwc.podAnnotations }}
      annotations:
        {{- toYaml . | nindent 8 }}
    {{- end }}
    spec:
    {{- if .Values.nodeSelectors.enabled }}
      nodeSelector:
        {{ .Values.nodeSelectors.spgwc.label }}: {{ .Values.nodeSelectors.spgwc.value }}
    {{- end }}
      serviceAccountName: spgwc
    {{- if hasKey .Values.images "pullSecrets" }}
      imagePullSecrets:
{{ toYaml .Values.images.pullSecrets | indent 8 }}
    {{- end }}
    {{- if .Values.config.coreDump.enabled }}
      initContainers:
{{ tuple "spgwc" . | include "omec-control-plane.coredump_init" | indent 6 }}
    {{- end }}
      containers:
      - name: spgwc
        image: {{ .Values.images.tags.spgwc }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
      {{- if .Values.config.coreDump.enabled }}
        securityContext:
          privileged: true
          runAsUser: 0
      {{- end }}
        stdin: true
        tty: true
        command: ["bash", "-xc"]
        args: 
        - /opt/cp/scripts/spgwc-run.sh ngic_controlplane
        livenessProbe:
          httpGet:
            path: /liveness
            port: {{ .Values.config.spgwc.rest.port }}
          initialDelaySeconds: 10
          periodSeconds: 3
        readinessProbe:
          httpGet:
            path: /readiness
            port: {{ .Values.config.spgwc.rest.port }}
          initialDelaySeconds: 10
          periodSeconds: 3
{{- if semverCompare ">=1.16-0" .Capabilities.KubeVersion.GitVersion }}
        startupProbe:
          #looks like available only in 1.16 K8s version and above
          httpGet:
            path: /startup
            port: {{ .Values.config.spgwc.rest.port }}
          initialDelaySeconds: 20
          failureThreshold: 30
          periodSeconds: 10
{{- end }}
        env:
        - name: MEM_LIMIT
          valueFrom:
            resourceFieldRef:
              containerName: spgwc
              resource: limits.memory
              divisor: 1Mi
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
      {{- if .Values.config.managedByConfigPod.enabled }}
        - name: MANAGED_BY_CONFIG_POD
          value: "true"
      {{- end }}
      {{- if .Values.config.spgwc.managedByRoc.enabled }}
        - name: DISABLE_CONFIG_WATCHER  # If the variable has a value then changes
          value: "true"                 # to subscriber_mapping.json are ignored
      {{- end }}
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.spgwc | indent 10 }}
      {{- end }}
        volumeMounts:
        - name: scripts
          mountPath: /opt/cp/scripts
        - name: configs
          mountPath: /etc/cp/config
        - name: shared-app
          mountPath: /tmp
      {{- if .Values.config.coreDump.enabled }}
        - name: coredump
          mountPath: /tmp/coredump
      {{- end }}
      - name: gx-app
        image: {{ .Values.images.tags.spgwc }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
      {{- if .Values.config.coreDump.enabled }}
        securityContext:
          privileged: true
          runAsUser: 0
      {{- end }}
        stdin: true
        tty: true
        command: ["bash", "-xc"]
        args:
        - /opt/cp/scripts/spgwc-run.sh gx-app
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.spgwc | indent 10 }}
      {{- end }}
        volumeMounts:
        - name: scripts
          mountPath: /opt/cp/scripts
        - name: configs
          mountPath: /etc/cp/config
        - name: shared-app
          mountPath: /tmp
      {{- if .Values.config.coreDump.enabled }}
        - name: coredump
          mountPath: /tmp/coredump
      {{- end }}
    {{- if .Values.config.spgwc.managedByRoc.enabled }}
      - name: init-sync
        image: curlimages/curl:7.77.0
        imagePullPolicy: IfNotPresent
        stdin: true
        tty: true
        command: ["sh", "-c"]
        args:
        - /opt/cp/scripts/spgwc-init.sh
        volumeMounts:
        - name: scripts
          mountPath: /opt/cp/scripts
      volumes:
      - name: scripts
        configMap:
          name: spgwc-scripts
          defaultMode: 493
    {{- end }}
      volumes:
      - name: scripts
        configMap:
          name: spgwc-scripts
          defaultMode: 493
      - name: configs
        configMap:
          name: spgwc-configs
          defaultMode: 420
      - name: shared-app
        emptyDir: {}
      - name: host-rootfs
        hostPath:
          path: /
    {{- if .Values.config.coreDump.enabled }}
      - name: coredump
        hostPath:
          path: {{ .Values.config.coreDump.path }}
    {{- end }}
{{- end }}
