# 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
  credentials: {}
  # If specified, use this credential to access the image
  #   registry:
  #   username:
  #   password:

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
  pcrf:
    deploy: true
    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:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    hssdb: cassandra
    s6a:
      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: true
      users:
        - apn: internet
          key: "465b5ce8b199b49faa5f0a2ee238a6bc"
          opc: "d4416644f6154936193433dd20a0ace0"
          sqn: 96
          imsiStart: "208014567891200"
          msisdnStart: "1122334455"
          count: 10
      staticusers:
        - apn: internet
          key: "465b5ce8b199b49faa5f0a2ee238a6bc"
          opc: "d4416644f6154936193433dd20a0ace0"
          sqn: 96
          imsi: "208014567891200"
          msisdn: "1122334455"
          staticAddr: 0.0.0.0
      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: 9081
          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:
      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:
      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"
    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:
      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
            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
