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

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

{{ tuple "accelleran-cu" . | include "accelleran-cu.service_account" }}

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: accelleran-cu
  labels:
{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 4 }}
spec:
  replicas: {{ .Values.config.vran.replicas }}
  selector:
    matchLabels:
{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 6 }}
  serviceName: "accelleran-cu"
  template:
    metadata:
      labels:
{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 8 }}
    spec:
      terminationGracePeriodSeconds: 1
    {{- if .Values.nodeSelectors.enabled }}
      nodeSelector:
        {{ .Values.nodeSelectors.accelleranCU.label }}: {{ .Values.nodeSelectors.accelleranCU.value }}
    {{- end }}
      serviceAccountName: accelleran-cu
      initContainers:
      - name: cu-init
        image: {{ .Values.images.tags.initCU }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        securityContext:
          privileged: true
          runAsUser: 0
        command: [ "sh",  "-c"]
        args:
        - >
          iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP;
          if chroot /mnt/host-rootfs modinfo nf_conntrack_proto_sctp > /dev/null 2>&1; then \
              chroot /mnt/host-rootfs modprobe nf_conntrack_proto_sctp; \
          fi; \
        volumeMounts:
        - name: host-rootfs
          mountPath: /mnt/host-rootfs
      containers:
      - name: nats
        image: {{ .Values.images.tags.nats }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        securityContext:
          capabilities:
            add:
              - NET_ADMIN
              - IPC_LOCK
        stdin: true
        tty: true
        env:
        - name: NATS_SERVICE_NAME
          value: {{ .Values.config.nats.serviceName }}
        command: [ "sh", "-c"]
        args:
        - gnatsd -DV -c /etc/gnatsd.conf;
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.accelleranCU | indent 10 }}
      {{- end }}
      - name: redis
        image: {{ .Values.images.tags.redis }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        securityContext:
          capabilities:
            add:
              - NET_ADMIN
              - IPC_LOCK
        stdin: true
        tty: true
        command: ["sh", "-c"]
        args:
        # FIXME: Redis can't support with dns resolution, can't set hostname at here.
        - (sleep 5; redis-cli -h localhost -p {{ .Values.config.vran.ports.redis.port }} set NATS_SERVICE_URL "nat://{{ .Values.config.nats.ip }}:{{ .Values.config.vran.ports.nats.port }}";) &
          /usr/local/bin/redis-server
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.accelleranCU | indent 10 }}
      {{- end }}
      - name: vran-l3
        image: {{ .Values.images.tags.vranL3 }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        securityContext:
          capabilities:
            add:
            - NET_ADMIN
            - IPC_LOCK
            - SYS_NICE
        stdin: true
        tty: true
        env:
          - name: MME_IP
            value: {{ .Values.config.mme.ip }}
        command: ["sh", "-c"]
        args:
        - sqlite3 /mnt/app/datastore.db "update cellS1apConfig set enbSctpPort={{ .Values.config.vran.ports.s1ap.port }};";
          sqlite3 /mnt/app/datastoreRemRw.db "update FapServiceFapControlLteGateway set S1SigLinkPort={{ .Values.config.mme.s1apPort }};";
          sqlite3 /mnt/app/datastoreRemRw.db "update FapServiceCellConfigLteEpcPlmnList set PLMNID={{ .Values.config.epc.plmnId }};";
          sqlite3 /mnt/app/datastore.db "insert into enbSctpSocketInterface ('interfaceName') values ('{{ .Values.config.vran.socketInterface }}');";
          sqlite3 /mnt/app/datastore.db "update logging set severity=7 where id=25;";
{{- if .Values.config.progran.enabled }}
          sqlite3 /mnt/app/datastore.db "update featureActivation set mmeSlicingEnabled=1;";
          sqlite3 /mnt/app/datastore.db "update featureActivation set ranSlicingEnabled=1;";
          sqlite3 /mnt/app/datastore.db "insert into pranServerAddress (pranServerIpAddress,pranServerPort) values ('{{ .Values.config.progran.ip }}', {{ .Values.config.progran.port }});";
{{- end}}
          sleep 10;
          /l3/l3start;
        volumeMounts:
        - name: bbu-config
          mountPath: /mnt/app/bootstrap.txt
          subPath: bootstrap.txt
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.accelleranCU | indent 10 }}
      {{- end }}
      volumes:
        - name: bbu-config
          configMap:
            name: accelleran-cu-config
            items:
              - key: bootstrap.txt
                path: bootstrap.txt
        - name: host-rootfs
          hostPath:
            path: /
