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

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

{{- if .Values.config.spgwc.deploy }}
{{- $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
  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 = {{ index $configJsonGx "host" | 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";
  spgwc-run.sh: |
{{ tuple "bin/_spgwc-run.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
{{- range $key, $value := .Values.config.spgwc.jsonCfgFiles }}
  {{ $key }}: |-
{{ toPrettyJson $value | indent 4 }}
{{- end }}
{{- end }}
