{{/*
Copyright 2020-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: apps/v1
kind: StatefulSet
metadata:
  name: spgwu
  serviceName: spgwu-headless
  labels:
{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 4 }}
spec:
  replicas: 1
  selector:
    matchLabels:
{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 6 }}
  template:
    metadata:
      labels:
{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 8 }}
      annotations:
        k8s.v1.cni.cncf.io/networks: '[
          {
            "name": "s1u-net",
            "interface": {{ .Values.config.spgwu.s1u.device | quote }},
            "ips": {{ .Values.config.spgwu.s1u.ip | quote }}
          },
          {
            "name": "sgi-net",
            "interface": {{ .Values.config.spgwu.sgi.device | quote }},
            "ips": {{ .Values.config.spgwu.sgi.ip | quote }}
          }
        ]'
    spec:
      shareProcessNamespace: true
    {{- if .Values.nodeSelectors.enabled }}
      nodeSelector:
        {{ .Values.nodeSelectors.spgwu.label }}: {{ .Values.nodeSelectors.spgwu.value }}
    {{- end }}
    {{- if .Values.config.coreDump.enabled }}
{{ tuple "spgwu" . | include "omec-user-plane.coredump_init" | indent 8 }}
    {{- end }}
      containers:
      - name: routectl
        image: {{ .Values.images.tags.bess | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
        env:
          - name: PYTHONUNBUFFERED
            value: "1"
        command: ["/bin/conf/route_control.py"]
        args:
          - -i
          - {{ .Values.config.spgwu.s1u.device }}
          - {{ .Values.config.spgwu.sgi.device }}
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.routectl | indent 10 }}
      {{- end }}
        volumeMounts:
          - name: scripts
            mountPath: /bin/conf
      - name: bessd
        image: {{ .Values.images.tags.bess | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
        securityContext:
          privileged: true
          capabilities:
            add:
            - IPC_LOCK
            - NET_ADMIN
        stdin: true
        tty: true
        command: ["/bin/bash", "-xc", "bessd -f -grpc-url=0.0.0.0:10514;"]
        lifecycle:
          postStart:
            exec:
              command: ["/bin/conf/bessd-poststart.sh"]
        livenessProbe:
          tcpSocket:
            port: 10514
          initialDelaySeconds: 15
          periodSeconds: 20
        resources:
          requests:
          {{- if .Values.resources.enabled }}
{{ toYaml .Values.resources.bess.requests | indent 12 }}
          {{- end }}
          {{- if .Values.networks.sriov.enabled }}
            intel.com/sriov_vfio_s1u_net: 1
            intel.com/sriov_vfio_sgi_net: 1
          {{- end }}
          limits:
          {{- if .Values.resources.enabled }}
{{ toYaml .Values.resources.bess.limits | indent 12 }}
          {{- end }}
          {{- if .Values.networks.sriov.enabled }}
            intel.com/sriov_vfio_s1u_net: 1
            intel.com/sriov_vfio_sgi_net: 1
          {{- end }}
        volumeMounts:
          - name: hugepages
            mountPath: /dev/hugepages
          - name: configs
            mountPath: /opt/bess/bessctl/conf
          - name: scripts
            mountPath: /bin/conf
        {{- if .Values.config.coreDump.enabled }}
          - name: coredump
            mountPath: /tmp/coredump
        {{- end }}
      - name: web
        image: {{ .Values.images.tags.bess | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
        command: ["/bin/bash", "-xc", "bessctl http 0.0.0.0 8000"]
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.web | indent 10 }}
      {{- end }}
        volumeMounts:
          - name: configs
            mountPath: /opt/bess/bessctl/conf
          - name: scripts
            mountPath: /bin/conf
      - name: cpiface
        image: {{ .Values.images.tags.cpiface | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
        env:
          - name: ZMQD_IP
            valueFrom:
              fieldRef:
                fieldPath: status.podIP
          - name: GLOG_v
            value: "1"
        command: ["zmq-cpiface"]
        args:
          - --hostname
          - {{ .Values.config.spgwu.name | quote }}
          - --zmqd_nb_ip
          - {{ .Values.config.spgwu.zmq.spgwc.addr | quote }}
          - --zmqd_nb_port
          - {{ .Values.config.spgwu.zmq.spgwc.port | quote }}
          - --zmqd_recv_port
          - {{ .Values.config.spgwu.zmq.recvPort | quote }}
          - --zmqd_ip
          - $(ZMQD_IP)
          - --s1u_sgw_ip
          - {{ (split "/" .Values.config.spgwu.s1u.ip)._0 | quote }}
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.cpiface | indent 10 }}
      {{- end }}
      volumes:
      - name: configs
        configMap:
          name: spgwu
          defaultMode: 420
      - name: scripts
        configMap:
          name: spgwu
          defaultMode: 493
      - name: hugepages
        emptyDir:
          medium: HugePages
    {{- if .Values.config.coreDump.enabled }}
      - name: host-rootfs
        hostPath:
          path: /
      - name: coredump
        hostPath:
          path: {{ .Values.config.coreDump.path }}
    {{- end }}
