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

# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.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 .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: ["/opt/cp/scripts/spgwc-run.sh"]
        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 }}
          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.resources.enabled }}
        resources:
{{ toYaml .Values.resources.spgwc | indent 10 }}
      {{- end }}
        volumeMounts:
        - name: cp-script
          mountPath: /opt/cp/scripts/spgwc-run.sh
          subPath: spgwc-run.sh
        - name: cp-config
          mountPath: /etc/cp/config
      {{- if .Values.config.coreDump.enabled }}
        - name: coredump
          mountPath: /tmp/coredump
      {{- end }}
      volumes:
      - name: cp-script
        configMap:
          name: spgwc
          defaultMode: 493
      - name: cp-config
        configMap:
          name: spgwc
          defaultMode: 420
    {{- if .Values.config.coreDump.enabled }}
      - name: host-rootfs
        hostPath:
          path: /
      - name: coredump
        hostPath:
          path: {{ .Values.config.coreDump.path }}
    {{- end }}
{{- end }}
