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

images:
  tags:
    init: docker.io/omecproject/pod-init:1.0.0
    amf: registry.aetherproject.org/omecproject/5gc-amf:onf-master-latest
    nrf: registry.aetherproject.org/omecproject/5gc-nrf:onf-master-latest
    smf: registry.aetherproject.org/omecproject/5gc-smf:onf-master-latest
    ausf: registry.aetherproject.org/omecproject/5gc-ausf:onf-master-latest
    nssf: registry.aetherproject.org/omecproject/5gc-nssf:onf-master-latest
    pcf: registry.aetherproject.org/omecproject/5gc-pcf:onf-master-latest
    udr: registry.aetherproject.org/omecproject/5gc-udr:onf-master-latest
    udm: registry.aetherproject.org/omecproject/5gc-udm:onf-master-latest
    webui: registry.aetherproject.org/omecproject/5gc-webui:onf-master-latest
  pullPolicy: IfNotPresent
  # Optionally specify an array of imagePullSecrets.
  # Secrets must be manually created in the namespace.
  pullSecrets:
    - name: aether.registry

resources:
  enabled: false
  amf:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  nrf:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  smf:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  ausf:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  nssf:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  pcf:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  udr:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  udm:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  webui:
    requests:
      cpu: 1
      memory: 1Gi
    limits:
      cpu: 1
      memory: 1Gi

mongodb:
  deploy: true
  fullnameOverride: mongodb
  persistence:
    enabled: false
  auth:
    enabled: false
  serviceAccount:
    create: false
  #clusterDomain: cluster.local
  #architecture: replicaset
  #replicaCount: 3

config:
  useExistingConfigMap: false
  coreDump:
    enabled: false
    path: /tmp/coredump
  mongodb:
    name: free5gc
    url: mongodb://mongodb
  commonCfgFiles:
    free5GC.conf:
      logger:
        # network function
        AMF:
          debugLevel: info
          ReportCaller: false
        SMF:
          debugLevel: info
          ReportCaller: false
        UDR:
          debugLevel: info
          ReportCaller: false
        UDM:
          debugLevel: info
          ReportCaller: false
        NRF:
          debugLevel: info
          ReportCaller: false
        PCF:
          debugLevel: info
          ReportCaller: false
        AUSF:
          debugLevel: info
          ReportCaller: false
        N3IWF:
          debugLevel: info
          ReportCaller: false
      # library
        NAS:
          debugLevel: info
          ReportCaller: false
        FSM:
          debugLevel: info
          ReportCaller: false
        NGAP:
          debugLevel: info
          ReportCaller: false
        NamfComm:
          debugLevel: info
          ReportCaller: false
        NamfEventExposure:
          debugLevel: info
          ReportCaller: false
        NsmfPDUSession:
          debugLevel: info
          ReportCaller: false
        NudrDataRepository:
          debugLevel: info
          ReportCaller: false
        OpenApi:
          debugLevel: info
          ReportCaller: false
        Aper:
          debugLevel: info
          ReportCaller: false
        CommonConsumerTest:
          debugLevel: info
          ReportCaller: false
      # webui
        WEBUI:
          debugLevel: info
          ReportCaller: false
  webui:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    urlport:
      port: 5000
      nodePort:
        enabled: false
        port: 35000
    ingress:
      enabled: false
      hostname: free5gc.local
      path: /
      pathType: Prefix
      # extraHosts:
        # - host: free5gc.local
        #   path: /
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/webuicfg.yaml
      webuicfg.conf:
        info:
          version: 1.0.0
          description: WebUI initial local configuration
        configuration: {}
  udm:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    sbi:
      port: 29503
      nodePort:
        enabled: false
        port: 30074
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/udmcfg.yaml
      udmcfg.conf:
        info:
          version: 1.0.0
          description: UDM initial local configuration
        configuration:
          nrfUri: http://nrf:29510
          serviceNameList:
            - nudm-sdm
            - nudm-uecm
            - nudm-ueau
            - nudm-ee
            - nudm-pp
          sbi:
            scheme: http
            tls:
              log: free5gc/udmsslkey.log
              pem: free5gc/support/TLS/udm.pem
              key: free5gc/support/TLS/udm.key
          udrclient:
            scheme: http
            ipv4Addr: udr
            port: 29504
          nrfclient:
            scheme: http
            ipv4Addr: nrf
            port: 29510
  udr:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    sbi:
      port: 29504
      nodePort:
        enabled: false
        port: 30074
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/udrcfg.yaml
      udrcfg.conf:
        info:
          version: 1.0.0
          description: UDR initial local configuration
        configuration:
          nrfUri: http://nrf:29510
          sbi:
            scheme: http
  pcf:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    sbi:
      port: 29507
      nodePort:
        enabled: false
        port: 30077
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/pcfcfg.yaml
      pcfcfg.conf:
        info:
          version: 1.0.0
          description: PCF initial local configuration
        configuration:
          pcfName: PCF
          nrfUri: http://nrf:29510
          sbi:
            scheme: http
          defaultBdtRefId: BdtPolicyId-
          serviceList:
            - serviceName: npcf-am-policy-control
            - serviceName: npcf-smpolicycontrol
              suppFeat: 3fff
            - serviceName: npcf-bdtpolicycontrol
            - serviceName: npcf-policyauthorization
              suppFeat: 3
            - serviceName: npcf-eventexposure
            - serviceName: npcf-ue-policy-control
  nssf:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    sbi:
      port: 29531
      nodePort:
        enabled: false
        port: 30081
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/nssfcfg.yaml
      nssfcfg.conf:
        info:
          version: 1.0.0
          description: NSSF initial local configuration
        configuration:
          nssfName: NSSF
          nrfUri: http://nrf:29510
          sbi:
            scheme: http
          serviceNameList:
            - nnssf-nsselection
            - nnssf-nssaiavailability
          supportedPlmnList:
            - mcc: 208
              mnc: 93
          supportedNssaiInPlmnList:
            - plmnId:
                mcc: 208
                mnc: 93
              supportedSnssaiList:
                - sst: 1
                  sd: "010203"
          nsiList:
            - snssai:
                sst: 1
                sd: "010203"
              nsiInformationList:
                - nrfId: http://nrf:29510/nnrf-nfm/v1/nf-instances
                  nsiId: 22
  amf:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    sbi:
      port: 29518
      nodePort:
        enabled: false
        port: 30088
    ngapp:
      port: 38412
      nodePort:
        enabled: true
        port: 30071
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/amfcfg.yaml
      amfcfg.conf:
        info:
          version: 1.0.0
          description: AMF initial local configuration
        configuration:
          amfName: AMF
          nrfUri: http://nrf:29510
          sbi:
            scheme: http
          serviceNameList:
            - namf-comm
            - namf-evts
            - namf-mt
            - namf-loc
            - namf-oam
          servedGuamiList:
            - plmnId:
                mcc: 208
                mnc: 93
              amfId: cafe00
          supportTaiList:
            - plmnId:
                mcc: 208
                mnc: 93
              tac: 1
          plmnSupportList:
            - plmnId:
                mcc: 208
                mnc: 93
              snssaiList:
                - sst: 1
                  sd: "010203"
          supportDnnList:
            - internet
          security:
            integrityOrder:
              - NIA2
            cipheringOrder:
              - NEA0
          networkName:
            full: free5GC
            short: free
          t3502: 720
          t3512: 3600
          non3gppDeregistrationTimer: 3240
  nrf:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    sbi:
      port: 29510
      nodePort:
        enabled: false
        port: 30070
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/nrfcfg.yaml
      nrfcfg.conf:
        info:
          version: 1.0.0
          description: NRF initial local configuration
        configuration:
          sbi:
            scheme: http
          DefaultPlmnId:
            mcc: 208
            mnc: 93
          serviceNameList:
            - nnrf-nfm
            - nnrf-disc
  smf:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    n4:
      port: 8805
      nodePort:
        enabled: false
        port: 30021
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    sbi:
      port: 29502
      nodePort:
        enabled: false
        port: 30080
    cfgFiles:
      uerouting.conf:
        info:
          version: 1.0.0
          description: Routing information for UE
      # https://github.com/free5gc/free5gc/blob/main/config/smfcfg.yaml
      smfcfg.conf:
        info:
          version: 1.0.0
          description: SMF initial local configuration
        configuration:
          smfName: SMF
          nrfUri: http://nrf:29510
          sbi:
            scheme: http
            tls:
              key: gofree5gc/support/TLS/smf.key
              pem: gofree5gc/support/TLS/smf.pem
          serviceNameList:
            - nsmf-pdusession
            - nsmf-event-exposure
          snssai_info:
            - sNssai:
                sst: 1
                sd: "010203"
              dnnSmfInfoList:
                - dnn: internet
          userplane_information:
            up_nodes:
              gNB1:
                type: AN
              UPF:
                type: UPF
                node_id: upf
            links:
              - A: gNB1
                B: UPF
          dnn:
            internet:
              dns:
                ipv4: 8.8.8.8
          ue_subnet: 10.250.0.0/16
          ulcl: false
  ausf:
    deploy: true
    podAnnotations:
      field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
    prometheus:
      port: 9089
      nodePort:
        enabled: false
        port: 30084
    sbi:
      port: 29509
      nodePort:
        enabled: false
        port: 30082
    cfgFiles:
      # https://github.com/free5gc/free5gc/blob/main/config/ausfcfg.yaml
      ausfcfg.conf:
        info:
          version: 1.0.0
          description: AUSF initial local configuration
        configuration:
          nrfUri: http://nrf:29510
          sbi:
            scheme: http
          serviceNameList:
            - nausf-auth
          plmnSupportList:
            - mcc: 208
              mnc: 93
          groupId: ausfGroup001
