{{/*
Copyright 2018-present Open Networking Foundation
Copyright 2018 Intel Corporation

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: v1
kind: ServiceAccount
metadata:
  name: spgwc
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: spgwc
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: spgwc
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: spgwc
subjects:
- kind: ServiceAccount
  name: spgwc
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: spgwc
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
data:
  launch.sh: |
    #!/bin/bash -xe

    RUN_DIR=${RUN_DIR:-"/opt/cp"}
    mkdir -p $RUN_DIR/config
    cd $RUN_DIR/config
    cp /etc/cp/config/{adc_rules.cfg,cp_config.cfg,interface.cfg,meter_profile.cfg,pcc_rules.cfg,sdf_rules.cfg} .
    sed -i "s/CP_ADDR/$CP_ADDR/g" interface.cfg
    sed -i "s/DP_ADDR/$DP_ADDR/g" interface.cfg
    sed -i "s/DP_PORT/$DP_PORT/g" interface.cfg
    . cp_config.cfg
    ngic_controlplane $EAL_ARGS -- $APP_ARGS
  cp_config.cfg: |
    if [ ! -d "/dev/hugepages" ]; then
        MEMORY="--no-huge -m $((MEM_LIMIT-1024))"
    fi
    SHARED_DIR="/opt/cp/config/shared"
    if [ -d ${SHARED_DIR} ]; then
        while [ ! -f ${SHARED_DIR}/SGW_S1U_IP ]; do echo "Waiting for SGW_S1U_IP"; sleep 2; done
        SGW_S1U_IP=$(cat ${SHARED_DIR}/SGW_S1U_IP)
    fi
    until dig +short ${MME_S11_IP} | grep -v -e '^$' > /dev/null; do
        echo "Waiting for MME";
        sleep 5;
    done

    MGMT_INFO="-s ${CP_ADDR} -m ${MME_S11_IP} -w ${SGW_S1U_IP}"
    APN_INFO="-i ${IP_POOL_IP} -p ${IP_POOL_MASK} -a ${APN}"
    SPGW_CFG="-d 03 -l 2 -r 7.7.7.7 -g 6.6.6.6 -v 4.4.4.4  -u 5.5.5.5"
    APP_ARGS="${MGMT_INFO} ${APN_INFO} ${SPGW_CFG} ${TEID_INFO}"

    CORES="-c $(taskset -p $$ | awk '{print $NF}')"
    DEVICES="--no-pci"
    EAL_ARGS="${CORES} ${MEMORY} ${DEVICES}"
  interface.cfg: |
    [0]
    dp_comm_ip = DP_ADDR
    dp_comm_port = DP_PORT
    cp_comm_ip = CP_ADDR
    cp_comm_port = 21
  adc_rules.cfg: |
    [GLOBAL]
    NUM_ADC_RULES = 5

    ;FORMAT ::
    ;ADC_TYPE : [ DOMAIN = 0 | IP = 1 | IP PREFIX =2 ]
    ;
    ;if ADC_TYPE = 0
    ;   DOMAIN
    ;elseif ADC_TYPE = 1
    ;   IP
    ;elseif ADC_TYPE = 2
    ;   IP
    ;   PREFIX
    ;else
    ;   NONE
    ;
    ;NOTE :
    ;Rules defined first have a higher priority, unless DROP is specified
    ;(i.e. multiple rules for the same IP).
    ;When specifying DROP with an IP address, use a prefix of 32 to prevent DNS
    ;results from overwriting rule.


    [ADC_RULE_1]
    ADC_TYPE = 1
    IP = 13.1.1.111

    [ADC_RULE_2]
    ADC_TYPE = 2
    IP = 13.1.1.0
    PREFIX = 24

    [ADC_RULE_3]
    ADC_TYPE = 1
    IP = 13.1.1.112
    PREFIX = 24

    [ADC_RULE_4]
    ADC_TYPE = 0
    DOMAIN = www.example.gov

    [ADC_RULE_5]
    ADC_TYPE = 0
    DOMAIN = www.drop_example.com
  meter_profile.cfg: |
    [GLOBAL]
    NUM_OF_IDX = 7

    [ENTRY_1]
    ;Committed Information Rate (CIR). Measured in bytes per second.
    ;MBR is mapped into CIR, convert MBR from bits to Bytes and set CIR.
    CIR = 2342400
    ;Committed Burst Size unit = Bytes
    CBS = 5856
    ;Excess Burst Size unit = Bytes
    EBS = 11712
    ;Meter profile index. Refer this index in static_pcc.cfg to set AMBR/MBR
    MTR_PROFILE_IDX = 3

    [ENTRY_2]
    ;1200 = 1756800
    ;1400 = 2049600
    ;1600 = 2342400
    CIR = 2342400
    CBS = 5856
    EBS = 11712
    MTR_PROFILE_IDX = 4

    [ENTRY_3]
    ; QCI5,QCI7 15.571kbps = 1947 B
    CIR = 2342400
    CBS = 5856
    EBS = 11712
    MTR_PROFILE_IDX = 5

    [ENTRY_4]
    ; QCI1, 44kbps = 5500 B
    CIR = 2342400
    CBS = 5856
    EBS = 11712
    MTR_PROFILE_IDX = 6

    [ENTRY_5]
    ; QCI9, 31.143kbps = 3893 B
    CIR = 2342400
    CBS = 5856
    EBS = 11712
    MTR_PROFILE_IDX = 7

    [ENTRY_6]
    ; 128B, 7pps
    CIR = 2342400
    CBS = 512
    EBS = 1024
    MTR_PROFILE_IDX = 8

    [ENTRY_7]
    ; 128B, 2pps
    CIR = 2342400
    CBS = 512
    EBS = 1024
    MTR_PROFILE_IDX = 9

  pcc_rules.cfg: |
    [GLOBAL]
    NUM_PCC_FILTERS = 9
    ;To config AMBR/MBR values refer meter_profile.cfg. specify only the
    ;meter profile index to be set here.
    UL_AMBR_MTR_PROFILE_IDX = 3
    DL_AMBR_MTR_PROFILE_IDX = 4

    ;default filter - must be first for now (until DP doesn't install any filters)
    ;associated with default adc rule
    [PCC_FILTER_1]
    RULE_NAME = DefaultRule
    RATING_GROUP = 9
    SERVICE_ID = 0
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 1
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    SPONSOR_ID = 0
    REDIRECT_INFO = 0
    PRECEDENCE = 254
    DROP_PKT_COUNT = 0
    ;Specify the meter profile index from meter_profile.cfg
    UL_MBR_MTR_PROFILE_IDX = 7
    DL_MBR_MTR_PROFILE_IDX = 7
    ;List of ADC filter indices
    SDF_FILTER_IDX = 99998

    [PCC_FILTER_2]
    RULE_NAME = sdf_rule_1
    RATING_GROUP = 5
    SERVICE_ID = 0
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 2
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    SPONSOR_ID = 0
    REDIRECT_INFO = 0
    PRECEDENCE = 1
    DROP_PKT_COUNT = 0
    UL_MBR_MTR_PROFILE_IDX = 5
    DL_MBR_MTR_PROFILE_IDX = 5
    ;List of SDF filter indices
    SDF_FILTER_IDX = 1

    [PCC_FILTER_3]
    RULE_NAME = sdf_rule_2
    RATING_GROUP = 1
    SERVICE_ID = 0
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 3
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    SPONSOR_ID = 0
    REDIRECT_INFO = 0
    PRECEDENCE = 18
    DROP_PKT_COUNT = 0
    UL_MBR_MTR_PROFILE_IDX = 6
    DL_MBR_MTR_PROFILE_IDX = 6
    ;List of SDF filter indices
    SDF_FILTER_IDX = 2

    [PCC_FILTER_4]
    RULE_NAME = adc_rule_1
    RATING_GROUP = Zero-Rate
    SERVICE_ID = Internet
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 8
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    REDIRECT_INFO = 0
    SPONSOR_ID = Example
    PRECEDENCE = 15
    DROP_PKT_COUNT = 0
    UL_MBR_MTR_PROFILE_IDX = 7
    DL_MBR_MTR_PROFILE_IDX = 7
    ;List of SDF filter indices
    ADC_FILTER_IDX = 1

    [PCC_FILTER_5]
    RULE_NAME = adc_rule_2
    RATING_GROUP = 0
    SERVICE_ID = CIPA
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 9
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    SPONSOR_ID = Example
    REDIRECT_INFO = 0
    SPONSOR_ID = Example
    REDIRECT_INFO = 0
    PRECEDENCE = 4
    DROP_PKT_COUNT = 0
    UL_MBR_MTR_PROFILE_IDX = 0
    DL_MBR_MTR_PROFILE_IDX = 0
    ;List of SDF filter indices
    ADC_FILTER_IDX = 2

    [PCC_FILTER_6]
    RULE_NAME = sdf_rule_3
    RATING_GROUP = 7
    SERVICE_ID = 0
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 4
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    SPONSOR_ID = 0
    REDIRECT_INFO = 0
    PRECEDENCE = 17
    DROP_PKT_COUNT = 0
    UL_MBR_MTR_PROFILE_IDX = 5
    DL_MBR_MTR_PROFILE_IDX = 5
    ;List of SDF filter indices
    SDF_FILTER_IDX = 3

    [PCC_FILTER_7]
    RULE_NAME = adc_rule_3
    RATING_GROUP = Zero-Rate
    SERVICE_ID = Internet
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 5
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    SPONSOR_ID = Example
    REDIRECT_INFO = 0
    PRECEDENCE = 210
    DROP_PKT_COUNT = 0
    UL_MBR_MTR_PROFILE_IDX = 7
    DL_MBR_MTR_PROFILE_IDX = 7
    ;List of SDF filter indices
    ADC_FILTER_IDX = 4

    [PCC_FILTER_8]
    RULE_NAME = adc_rule_4
    RATING_GROUP = Zero-Rate
    SERVICE_ID = Management
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 6
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    SPONSOR_ID = Example
    REDIRECT_INFO = 0
    PRECEDENCE = 200
    DROP_PKT_COUNT = 0
    UL_MBR_MTR_PROFILE_IDX = 7
    DL_MBR_MTR_PROFILE_IDX = 7
    ;List of SDF filter indices
    ADC_FILTER_IDX = 12

    [PCC_FILTER_9]
    RULE_NAME = adc_rule_5
    RATING_GROUP = Zero-Rate
    SERVICE_ID = Provisioning
    RULE_STATUS = 0
    GATE_STATUS = 1
    SESSION_CONT = 0
    REPORT_LEVEL = 7
    CHARGING_MODE = 0
    METERING_METHOD = 0
    MUTE_NOTIFY = 0
    MONITORING_KEY = 0
    SPONSOR_ID = Example
    REDIRECT_INFO = 0
    PRECEDENCE = 220
    DROP_PKT_COUNT = 0
    UL_MBR_MTR_PROFILE_IDX = 7
    DL_MBR_MTR_PROFILE_IDX = 7
    ;List of SDF filter indices
    ADC_FILTER_IDX = 3
  sdf_rules.cfg: |
    [GLOBAL]
    NUM_SDF_FILTERS = 4

    [SDF_FILTER_1]
    DIRECTION = downlink_only
    IPV4_REMOTE = 13.2.1.113
    IPV4_REMOTE_MASK = 255.255.255.0
    PROTOCOL = 17
    LOCAL_LOW_LIMIT_PORT = 0
    LOCAL_HIGH_LIMIT_PORT = 65535
    REMOTE_LOW_LIMIT_PORT = 0
    REMOTE_HIGH_LIMIT_PORT = 65535

    [SDF_FILTER_2]
    DIRECTION = uplink_only
    IPV4_LOCAL = 16.255.255.0
    IPV4_LOCAL_MASK = 255.255.255.0
    PROTOCOL = 17
    LOCAL_LOW_LIMIT_PORT = 0
    LOCAL_HIGH_LIMIT_PORT = 65535
    REMOTE_LOW_LIMIT_PORT = 0
    REMOTE_HIGH_LIMIT_PORT = 65535

    [SDF_FILTER_3]
    DIRECTION = downlink_only
    IPV4_REMOTE = 130.10.0.0
    IPV4_REMOTE_MASK = 255.255.0.0
    PROTOCOL = 17
    REMOTE_LOW_LIMIT_PORT = 5060
    REMOTE_HIGH_LIMIT_PORT = 5060

    [SDF_FILTER_4]
    DIRECTION = uplink_only
    IPV4_REMOTE = 103.1.0.0
    IPV4_REMOTE_MASK = 255.255.0.0
    PROTOCOL = 17
    LOCAL_LOW_LIMIT_PORT = 17000
    LOCAL_HIGH_LIMIT_PORT = 17010
---
apiVersion: v1
kind: Service
metadata:
  name: spgwc
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
spec:
  selector:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
  clusterIP: None
  ports:
  - name: s11
    port: 2123
    protocol: UDP
  - name: cpdp
    port: 21
    protocol: UDP
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: spgwc
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
spec:
  replicas: 1
  selector:
    matchLabels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 6 }}
  serviceName: spgwc
  template:
    metadata:
      labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 8 }}
    spec:
    {{- if .Values.nodeSelectors.enabled }}
      nodeSelector:
        {{ .Values.nodeSelectors.spgwc.label }}: {{ .Values.nodeSelectors.spgwc.value }}
    {{- end }}
      serviceAccountName: spgwc
      initContainers:
      - name: init-spgwc
        image: {{ .Values.images.tags.init }}
        command: ["/bin/sh", "-co", "pipefail"]
        args:
        - until $(kubectl get pod -ojson spgwu-0 2>/dev/null | jq -r '.metadata.annotations["k8s.v1.cni.cncf.io/networks-status"]' | jq -r '.[] | select(.name=="s1u-net") | .ips[0]' > /opt/cp/config/shared/SGW_S1U_IP | [ -s /opt/cp/config/shared/SGW_S1U_IP ]);
          do echo "waiting for SPGWU"; sleep 2; done
        volumeMounts:
        - name: shared-data
          mountPath: /opt/cp/config/shared
      containers:
      - name: spgwc
        image: {{ .Values.images.tags.spgwc }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        stdin: true
        tty: true
        command: ["/opt/cp/scripts/launch.sh"]
        env:
        - name: MEM_LIMIT
          valueFrom:
            resourceFieldRef:
              containerName: spgwc
              resource: limits.memory
              divisor: 1Mi
        - name: CP_ADDR
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: DP_ADDR
          value: {{ .Values.config.spgwc.spgwu.addr | quote }}
        - name: DP_PORT
          value: {{ .Values.config.spgwc.spgwu.port | quote }}
        - name: MME_S11_IP
          value: {{ tuple "mme" "identity" . | include "omec-control-plane.endpoint_lookup" | quote }}
        - name: APN
          value: apn1
        - name: IP_POOL_IP
          value: "16.0.0.0"
        - name: IP_POOL_MASK
          value: "255.0.0.0"
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.spgwc | indent 10 }}
      {{- end }}
        volumeMounts:
        - name: cp-script
          mountPath: /opt/cp/scripts/launch.sh
          subPath: launch.sh
        - name: cp-config
          mountPath: /etc/cp/config
        - name: shared-data
          mountPath: /opt/cp/config/shared
      volumes:
      - name: cp-script
        configMap:
          name: spgwc
          defaultMode: 493
      - name: cp-config
        configMap:
          name: spgwc
          defaultMode: 420
      - name: shared-data
        emptyDir: {}
