# Copyright 2018 Intel Corporation
# Copyright 2018-present Open Networking Foundation
#
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

images:
  tags:
    init: docker.io/omecproject/pod-init:1.0.0
    hssdb: docker.io/omecproject/c3po-hssdb:master-latest
    hss: docker.io/omecproject/c3po-hss:master-latest
    mme: docker.io/omecproject/nucleus:master-latest
    spgwc: docker.io/omecproject/spgw:master-latest
    pcrf: omecproject/c3po-pcrf:pcrf-latest
    pcrfdb: omecproject/c3po-pcrfdb:pcrf-latest
    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
  pullPolicy: IfNotPresent
  # Optionally specify an array of imagePullSecrets.
  # Secrets must be manually created in the namespace.
  #pullSecrets:
  #  - name: aether.registry

nodeSelectors:
  enabled: false
  hss:
    label: omec-cp
    value: enabled
  pcrf:
    label: omec-cp
    value: enabled
  mme:
    label: omec-cp
    value: enabled
  spgwc:
    label: omec-cp
    value: enabled

resources:
  enabled: true
  pcrf:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  hss:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  mme:
    # Note that MME pod is composed of 4 containers
    # Provide resources for a container, not a pod total
    requests:
      cpu: 0.5
      memory: 1Gi
    limits:
      cpu: 0.5
      memory: 1Gi
  spgwc:
    requests:
      cpu: 2
      memory: 5Gi
    limits:
      cpu: 2
      memory: 5Gi

cassandra:
  deploy: true
  fullnameOverride: cassandra
  image:
    tag: 2.1.20
  #selector:
  #  nodeSelector:
  #    cassandra: enabled
  persistence:
    enabled: false
  config:
    #cluster_size: 1
    #seed_size: 1
    endpoint_snitch: GossipingPropertyFileSnitch
  readinessProbe:
    initialDelaySeconds: 10
  resources: {}
    #requests:
    #  memory: 4Gi
    #  cpu: 2
    #limits:
    #  memory: 4Gi
    #  cpu: 2

config:
  clusterDomain: cluster.local
  coreDump:
    enabled: true
    path: /tmp/coredump
  useExistingConfigMap: false
  pcrf:
    deploy: true
    podAnnotations:
      fluentbit.io/parser: pcrf
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    pcrfdb: cassandra
    gx:
      nodePort:
        enabled: false
        port: 33868
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30086
    # Provide the peer whitelist extension
    # The peer name must be a fqdn. We allow also a special "*" character as the
    # first label of the fqdn, to allow all fqdn with the same domain name.
    # Example: *.example.net will allow host1.example.net and host2.example.net
    acl:
      oldTls: "*.cluster.local"
      #ipSec:
    bootstrap:
      enabled: false
    # See https://github.com/omec-project/c3po for details of config options
    cfgFiles:
      pcrf.json:
        common:
          fdcfg: conf/pcrf.conf
          # Origin host and realm will be set automatically if unset
          #originhost: ""
          #originrealm: ""
        pcrf:
          gtwhost: "*"
          gtwport: 9080
          restport: 9081
          ossport: 9082
          # casssrv will be set to cassandra in the same cluster if unset
          #casssrv: ""
          casskeyspace: vpcrf
          casshost: "cassandra"
          cassusr: root
          casspwd: root
          cassdb: vpcrf
          casscoreconnections: 2
          cassmaxconnections: 8
          cassioqueuesize: 32768
          cassiothreads: 2
          randv: true
          optkey: "63bfa50ee6523365ff14c1f45f88737d"
          reloadkey: false
          logsize: 20
          lognumber: 5
          logname: logs/pcrf.log
          logqsize: 8192
          statlogsize: 20
          statlognumber: 5
          statlogname: logs/pcrf_stat.log
          auditlogsize: 20
          auditlognumber: 5
          auditlogname: logs/pcrf_audit.log
          statfreq: 2000
          numworkers: 4
          concurrent: 10
          ossfile: conf/oss.json
          verifyroamingsubscribers: false
      oss.json:
        option:
          id: url
          type: string
        services:
          - id: logger
            commands:
              - id: describe_loggers
              - id: set_logger_level
                options:
                  - id: name
                    type: string
                  - id: level
                    type: integer
          - id: stats
            commands:
              - id: describe_stats_frequency
              - id: describe_stats_live
              - id: set_stats_frequency
                options:
                  - id: frequency
                    type: integer
  hss:
    deploy: true
    podAnnotations:
      fluentbit.io/parser: hss
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    hssdb: cassandra
    s6a:
      nodePort:
        enabled: false
        port: 33868
    configPort:
      port: 8080
      nodePort:
        enabled: false
        port: 30081
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30086
    # Provide the peer whitelist extension
    # The peer name must be a fqdn. We allow also a special "*" character as the
    # first label of the fqdn, to allow all fqdn with the same domain name.
    # Example: *.example.net will allow host1.example.net and host2.example.net
    acl:
      oldTls: "*.cluster.local"
      #ipSec:
    bootstrap:
      enabled: true
      users:
        - apn: internet
          key: "465b5ce8b199b49faa5f0a2ee238a6bc"
          opc: "d4416644f6154936193433dd20a0ace0"
          sqn: 96
          imsiStart: "208014567891200"
          msisdnStart: "1122334455"
          mme_identity: mme.omec.svc.cluster.local
          mme_realm: omec.svc.cluster.local
          count: 10
      staticusers:
        - apn: internet
          key: "465b5ce8b199b49faa5f0a2ee238a6bc"
          opc: "d4416644f6154936193433dd20a0ace0"
          sqn: 96
          imsi: "208014567891200"
          msisdn: "1122334455"
          staticAddr: 0.0.0.0
          mme_identity: mme.omec.svc.cluster.local
          mme_realm: omec.svc.cluster.local
      mmes:
        - id: 1
          mme_identity: mme.omec.svc.cluster.local
          mme_realm: omec.svc.cluster.local
          isdn: "19136246000"
          unreachability: 1
    # See https://github.com/omec-project/c3po for details of config options
    cfgFiles:
      hss.json:
        common:
          fdcfg: conf/hss.conf
          # Origin host and realm will be set automatically if unset
          #originhost: ""
          #originrealm: ""
        hss:
          gtwhost: "*"
          gtwport: 9080
          #restport will be set by configmap
          #restport: ""
          ossport: 9082
          # casssrv will be set to cassandra in the same cluster if unset
          #casssrv: ""
          cassusr: root
          casspwd: root
          cassdb: vhss
          casscoreconnections: 2
          cassmaxconnections: 8
          cassioqueuesize: 32768
          cassiothreads: 2
          randv: true
          optkey: "63bfa50ee6523365ff14c1f45f88737d"
          reloadkey: false
          logsize: 20
          lognumber: 5
          logname: logs/hss.log
          logqsize: 8192
          statlogsize: 20
          statlognumber: 5
          statlogname: logs/hss_stat.log
          auditlogsize: 20
          auditlognumber: 5
          auditlogname: logs/hss_audit.log
          statfreq: 2000
          numworkers: 4
          concurrent: 10
          ossfile: conf/oss.json
          verifyroamingsubscribers: false
      oss.json:
        option:
          id: url
          type: string
        services:
          - id: logger
            commands:
              - id: describe_loggers
              - id: set_logger_level
                options:
                  - id: name
                    type: string
                  - id: level
                    type: integer
          - id: stats
            commands:
              - id: describe_stats_frequency
              - id: describe_stats_live
              - id: set_stats_frequency
                options:
                  - id: frequency
                    type: integer
  mme:
    deploy: true
    podAnnotations:
      fluentbit.io/parser: mme
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":3081,"schema":"HTTP"}]'
    spgwAddr: spgwc
    s11:
      nodePort:
        enabled: false
        port: 32124
    s6a:
      nodePort:
        enabled: false
        port: 33869
    prometheus:
      port: 3081
      nodePort:
        enabled: false
        port: 30085
    # See https://github.com/omec-project/openmme/blob/master/README.txt for more config options
    cfgFiles:
      config.json:
        mme:
          name: vmmestandalone
          group_id: 1
          code: 1
          logging: error
          mcc:
            dig1: 2
            dig2: 0
            dig3: 8
          mnc:
            dig1: 0
            dig2: 1
            dig3: -1
          plmnlist:
            #plmn1 - aether common plmn, plmn2 is for comac-in-box
            plmn1: "mcc=315,mnc=010"
            plmn2: "mcc=208,mnc=01"
          apnlist:
            internet: "spgwc"
          feature_list:
            dcnr_support: "disabled"
          security:
            #int_alg_list: "[EIA0]"
            int_alg_list: "[EIA1, EIA2, EIA0]"
            sec_alg_list: "[EEA0, EEA1, EEA2]"
        s1ap:
          sctp_port: 36412
          sctp_port_external: 36412
        s11:
          egtp_default_port: 2123
          # sgw_addr and pgw_addr will be set dynamically if unset
          #sgw_addr:
          #pgw_addr:
        s6a:
          host_type: freediameter
          # host and realm will be set dynamically if unset
          #host:
          #realm:
  spgwc:
    deploy: true
    podAnnotations:
      fluentbit.io/parser: spgwc
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    global:
      transmitTimerSec: 2
      periodicTimerSec: 10
      transmitCount: 5
      requestTimeoutMilliSec: 5000
      requestTries: 3
      cpLogger: 0
      gx_config: 0
      urr_config: 0
      logging_level: "LOG_DEBUG"
    #DNS Server - 3gpp compliant DNS server
    dns:
      cache:
        concurrent: 25
        percentage: 80
        intervalSec: 60
        queryTimeoutMilliSec: 1000
        queryTries: 1
      app:
        frequencySec: 3
        filename: "appqueries.json"
        nameserver: "127.0.0.1"
      ops:
        frequencySec: 3
        filename: "opsqueries.json"
        nameserver: "127.0.0.1"
    ueIpPool:
      ip: "10.250.0.0"
      mask: "255.255.0.0"
    staticUeIpPool:
      ip: "10.249.1.0"
      mask: "255.255.255.0"
    s11:
      port: 2123
      nodePort:
        enabled: false
        port: 32123
    n4:
      port: 8805
      nodePort:
        enabled: false
        port: 30021
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    rest:
      port: 8080
      nodePort:
        enabled: false
        port: 30080
    jsonCfgFiles:
      cp.json:
        global:
          transmitTimerSec: 2
          periodicTimerSec: 10
          transmitCount: 5
          requestTimeoutMilliSec: 5000
          requestTries: 3
          gxConfig: 0
          urrConfig: 0
          loggingLevel: "LOG_DEBUG"
        #DNS Server - 3gpp compliant DNS server
        dns:
          cache:
            concurrent: 25
            percentage: 80
            intervalSec: 60
            queryTimeoutMilliSec: 1000
            queryTries: 1
          app:
            frequencySec: 3
            filename: "appqueries.json"
            nameserver: "127.0.0.1"
          ops:
            frequencySec: 3
            filename: "opsqueries.json"
            nameserver: "127.0.0.1"
        ip_pool_config:
          ueIpPool:
            ip: "10.250.0.0"
            mask: "255.255.0.0"
          staticUeIpPool:
            ip: "10.249.1.0"
            mask: "255.255.255.0"
      config.json:
        gx:
          host_type: freediameter
          # host and realm will be set dynamically if unset
          #host:
          #realm:
      subscriber_mapping.json:
        subscriber-selection-rules:
          - priority: 5
            keys:
              serving-plmn:
                mcc: 208
                mnc: 10
                tac: 1
              imsi-range:
                from: 200000000000000
                to: 299999999999999
            selected-apn-profile: apn-profile1
            selected-qos-profile: qos-profile1
            selected-access-profile:
              - access-all
            selected-user-plane-profile: user-plane1
          - priority: 10
            keys:
              match-all: true
            selected-apn-profile: apn-profile1
            selected-qos-profile: qos-profile1
            selected-access-profile:
              - access-all
            selected-user-plane-profile: user-plane1
        apn-profiles:
          apn-profile1:
            apn-name: internet
            usage: 1
            network: lbo
            gx_enabled: true
            dns_primary: 8.8.8.4
            dns_secondary: 8.8.8.8
            mtu: 1460
        user-plane-profiles:
          user-plane1:
            user-plane: upf
            global-address: true
            qos-tags:
              tag1: BW
            access-tags:
              tag1: ACC
        qos-profiles:
          mobile:
            apn-ambr:
              - 12345678
              - 12345678
        access-profiles:
          access-all:
            type: allow-all
          internet-only:
            type: internet-only
            filter: No_private_network
          intranet-only:
            type: intranet-only
            filter: only_private_network
          apps-only:
            type: specific-network
            filter: only_apps_network
          specific-app:
            type: specific-destination-only
            filter: allow-app-name
          excluding-app:
            type: excluding-this-app
            filter: exclude-app-name
    cfgFiles:
      adc_rules.cfg: |
        [GLOBAL]
        NUM_ADC_RULES = 0
      meter_profile.cfg: |
        [GLOBAL]
        NUM_OF_IDX = 0
      pcc_rules.cfg: |
        [GLOBAL]
        NUM_PCC_FILTERS = 1
        UL_AMBR_MTR_PROFILE_IDX = 1
        DL_AMBR_MTR_PROFILE_IDX = 2
        [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
        UL_MBR_MTR_PROFILE_IDX = 3
        DL_MBR_MTR_PROFILE_IDX = 3
        SDF_FILTER_IDX = 99998
      sdf_rules.cfg: |
        [GLOBAL]
        NUM_SDF_FILTERS = 1
        [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
