# Copyright 2020-present Open Networking Foundation
#
# SPDX-License-Identifier: Apache-2.0

images:
  repository: "" #default docker hub
  tags:
    init: omecproject/pod-init:1.0.0
    gnbsim: omecproject/5gc-gnbsim:main-832a5a6
  pullPolicy: IfNotPresent

nodeSelectors:
  enabled: false
  gnbsim:
    label: omec-cp
    value: enabled

resources:
  enabled: true
  gnbsim:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi

config:
  clusterDomain: cluster.local
  coreDump:
    enabled: false
    path: /tmp/coredump
  gnbsim:
    deploy: true
    sriov:
      enabled: disabled
    ipam: static
    cniPlugin: simpleovs #need override value
    gnb:
      ip: 192.168.251.5/24
    profile:
      enable: true
      port: 5000
    ngapp:
      port: 38412
      nodePort:
        enabled: false
        port: 30071
    yamlCfgFiles:
      gnb.conf:
        info:
          version: 1.0.0
          description: gNodeB sim initial configuration
        configuration:
          gnbs: # pool of gNodeBs
            gnb1:
              n2IpAddr: # gNB N2 interface IP address used to connect to AMF 
              n2Port: 9487 # gNB N2 Port used to connect to AMF
              n3IpAddr: 192.168.251.5 # gNB N3 interface IP address used to connect to UPF
              n3Port: 2152 # gNB N3 Port used to connect to UPF
              name: gnb1 # gNB name that uniquely identify a gNB within application
              globalRanId:
                plmnId:
                  mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
                  mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
                gNbId: 
                  bitLength: 24
                  gNBValue: "000102" # gNB identifier (3 bytes hex string, range: 000000~FFFFFF)
              supportedTaList:
              - tac: "000001" # Tracking Area Code (3 bytes hex string, range: 000000~FFFFFF)
                broadcastPlmnList:
                  - plmnId:
                      mcc: 208 
                      mnc: 93
                    taiSliceSupportList:
                        - sst: 1 # Slice/Service Type (uinteger, range: 0~255)
                          sd: "010203" # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
              defaultAmf:
                hostName: amf # Host name of AMF
                ipAddr: # AMF IP address
                port: 38412 # AMF port
 
          profiles: # profile information
            - profileType: register # profile type
              profileName: profile1 # uniqely identifies a profile within application
              enable: false # Set true to execute the profile, false otherwise.
              gnbName: gnb1 # gNB to be used for this profile
              startImsi: 208930100007487 #First IMSI. Subsequent values will be used if ueCount is mo    re than 1
              ueCount: 5 # Number of UEs for for which the profile will be executed
              plmnId: # Public Land Mobile Network ID, <PLMN ID> = <MCC><MNC>
                mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
                mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
            - profileType: pdusessest
              profileName: profile2
              enable: true
              gnbName: gnb1
              startImsi: 208930100007492
              ueCount: 5
              plmnId:
                mcc: 208
                mnc: 93
              dataPktCount: 5 # Number of UL user data packets to be transmitted. Common for all UEs
            - profileType: anrelease
              profileName: profile3
              enable: false
              gnbName: gnb1
              startImsi: 208930100007497
              ueCount: 5
              plmnId:
                mcc: 208
                mnc: 93
            - profileType: uetriggservicereq
              profileName: profile4
              enable: false
              gnbName: gnb1
              startImsi: 208930100007497
              ueCount: 5
              plmnId:
                mcc: 208
                mnc: 93
            - profileType: deregister
              profileName: profile4
              enable: false
              gnbName: gnb1
              startImsi: 208930100007497
              ueCount: 5
              plmnId:
                mcc: 208
                mnc: 93
        logger:
          logLevel: info # how detailed the log will be, values: trace, debug, info, warn, error, fatal, panic 
