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

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

{{- if .Values.config.spgwc.deploy }}
{{- if not .Values.config.useExistingConfigMap }}
{{- $cpJson := index .Values.config.spgwc.jsonCfgFiles "cp.json" }}
{{- $global := index $cpJson "global" }}
{{- $configJson := index .Values.config.spgwc.jsonCfgFiles "config.json" }}
{{- $configJsonSpgwc := index $configJson "spgwc" }}
{{- $configJsonGx := index $configJson "gx" }}

{{- if not (hasKey $configJsonGx "host") -}}
{{- $_ := tuple "pcrf" "identity" . | include "omec-control-plane.diameter_endpoint" | set $configJsonGx "host" -}}
{{- end }}
{{- if not (hasKey $configJsonGx "realm") -}}
{{- $_ := tuple "pcrf" "realm" . | include "omec-control-plane.diameter_endpoint" | set $configJsonGx "realm" -}}
{{- end }}
{{- if not (hasKey $global "httpPort") -}}
{{- $_ := .Values.config.spgwc.rest.port | set $global "httpPort" -}}
{{- end }}
{{- if not (hasKey $global "pfcpPort") -}}
{{- $_ := .Values.config.spgwc.n4.port | set $global "pfcpPort" -}}
{{- end }}
{{- if not (hasKey $global "s11Port") -}}
{{- $_ := .Values.config.spgwc.s11.port | set $global "s11Port" -}}
{{- end }}
{{- if not (hasKey $global "prometheusPort") -}}
{{- $_ := .Values.config.spgwc.prometheus.port | set $global "prometheusPort" -}}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: spgwc-configs
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
data:
  cp.cfg: |
    [GLOBAL]
    CP_TYPE = 03
    GX_CONFIG = {{ .Values.config.spgwc.global.gx_config }}
    URR_CONFIG = {{ .Values.config.spgwc.global.urr_config }}
    LOGGING_LEVEL = {{ .Values.config.spgwc.global.logging_level}}
    S5S8_PORT = 2123
    UPF_PFCP_PORT = 8805
    S11_PORT = {{ .Values.config.spgwc.s11.port }}
    PFCP_PORT = {{ .Values.config.spgwc.n4.port }}
    PROMETHEUS_PORT = {{ .Values.config.spgwc.prometheus.port }}
    HTTP_PORT = {{ .Values.config.spgwc.rest.port }}
    TRANSMIT_TIMER = {{ .Values.config.spgwc.global.transmitTimerSec }}
    PERIODIC_TIMER = {{ .Values.config.spgwc.global.periodicTimerSec }}
    TRANSMIT_COUNT = {{ .Values.config.spgwc.global.transmitCount }}
    REQUEST_TIMEOUT = {{ .Values.config.spgwc.global.requestTimeoutMilliSec }}
    REQUEST_TRIES = {{ .Values.config.spgwc.global.requestTries }}
    CP_LOGGER = {{ .Values.config.spgwc.global.cpLogger }}
    [NAMESERVER_CONFIG]
    [CACHE]
    concurrent = {{ .Values.config.spgwc.dns.cache.concurrent }}
    percentage = {{ .Values.config.spgwc.dns.cache.percentage }}
    interval_seconds = {{ .Values.config.spgwc.dns.cache.intervalSec }}
    query_timeout_ms = {{ .Values.config.spgwc.dns.cache.queryTimeoutMilliSec }}
    query_tries = {{ .Values.config.spgwc.dns.cache.queryTries }}
    [APP]
    frequency_seconds = {{ .Values.config.spgwc.dns.app.frequencySec }}
    filename = {{ .Values.config.spgwc.dns.app.filename }}
    nameserver = {{ .Values.config.spgwc.dns.app.nameserver }}
    [OPS]
    frequency_seconds = {{ .Values.config.spgwc.dns.ops.frequencySec }}
    filename = {{ .Values.config.spgwc.dns.ops.filename }}
    nameserver = {{ .Values.config.spgwc.dns.ops.nameserver }}
    [IP_POOL_CONFIG]
    IP_POOL_IP= {{.Values.config.spgwc.ueIpPool.ip }}
    IP_POOL_MASK= {{ .Values.config.spgwc.ueIpPool.mask }}
    [STATIC_IP_POOL_CONFIG]
    IP_POOL_IP= {{.Values.config.spgwc.staticUeIpPool.ip }}
    IP_POOL_MASK= {{ .Values.config.spgwc.staticUeIpPool.mask }}
  gx.conf: |
    Identity = {{ tuple "spgwc" "identity" . | include "omec-control-plane.diameter_endpoint" | quote }};
    Realm = {{ tuple "spgwc" "realm" . | include "omec-control-plane.diameter_endpoint" | quote }};
    TLS_Cred = "config/{{ tuple "spgwc" "host" . | include "omec-control-plane.diameter_endpoint" }}.cert.pem",
               "config/{{ tuple "spgwc" "host" . | include "omec-control-plane.diameter_endpoint" }}.key.pem";
    TLS_CA = "config/cacert.pem";
    AppServThreads = 40;
    SCTP_streams = 3;
    NoRelay;
    No_IPv6;
    #Port = 3868;
    #SecPort = 3869;

    ConnectPeer = {{ tuple "pcrf" "identity" . | include "omec-control-plane.diameter_endpoint" | quote }} { No_TLS; port = 3868; };

    LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_CreditControl.fdx";
    LoadExtension = "/usr/local/lib/freeDiameter/dict_Gx.fdx";
{{- range $key, $value := .Values.config.spgwc.jsonCfgFiles }}
  {{ $key }}: |-
{{ toPrettyJson $value | indent 4 }}
{{- end }}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: spgwc-scripts
  labels:
{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
data:
  spgwc-run.sh: |
{{ tuple "bin/_spgwc-run.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
{{- end }}
