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

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

{{- if .Values.config.spgwc.deploy }}
{{- $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 }}

---
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 }}
