# Copyright 2019-present Open Networking Foundation
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

# cassandra values
cassandra:
  config:
    cluster_size: 1
    seed_size: 1
mongodb:
  usePassword: false
  persistence:
    enabled: false
resources:
  enabled: false

config:
  smf:
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/pcfcfg.yaml
      smfcfg.conf:
        configuration:
          mongodb:       # the mongodb connected by this PCF
            name: smf # name of the mongodb
            url: mongodb://mongodb:27017
  pcf:
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/pcfcfg.yaml
      pcfcfg.conf:
        info:
          version: 1.0.0
          description: PCF initial local configuration
        configuration:
          mongodb:       # the mongodb connected by this PCF
            name: free5gc                  # name of the mongodb
            url: mongodb://mongodb:27017
  nrf:
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/nrfcfg.yaml
      nrfcfg.conf:
        configuration:
          MongoDBName: free5gc # database name in MongoDB
          MongoDBUrl: mongodb://mongodb:27017
          #MongoDBUrl: mongodb://mongodb:27017 #works with db in omec name space
  spgwc:
    pfcp: true
    cfgFiles:
      cp.json:
        ip_pool_config:
          ueIpPool:
            ip: "172.250.0.0"
            mask: "255.255.0.0"
          staticUeIpPool:
            ip: "172.250.1.0"
            mask: "255.255.255.0"
  upf:
    name: "oaisim"
    sriov:
      enabled: false
    hugepage:
      enabled: false
    cniPlugin: simpleovs
    ipam: static
    cfgFiles:
      upf.json:
        mode: af_packet
        cpiface:
          enable_ue_ip_alloc: false
          ue_ip_pool: 172.250.0.0/16
  mme:
    cfgFiles:
      config.json:
        mme:
          logging: debug
          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=208,mnc=01"
          apnlist:
            internet: "spgwc"
  hss:
    bootstrap:
      users:
        - apn: "internet"
          key: "465b5ce8b199b49faa5f0a2ee238a6bc"
          opc: "d4416644f6154936193433dd20a0ace0"
          sqn: 96
          imsiStart: "208014567891201"
          msisdnStart: "1122334455"
          count: 10
  # oaisim values
  enb:
    mme:
      address: 127.0.0.1
    networks:
      s1u:
        interface: enb
  plmn:
    mcc: "208"
    mnc: "01"
    mnc_length: 2
  ue:
    sim:
      msin: "4567891201"
      api_key: "465b5ce8b199b49faa5f0a2ee238a6bc"
      opc: "d4416644f6154936193433dd20a0ace0"
      msisdn: "1122334456"
