5.1.4 NRF Client Parameters

To configure NRF client parameters, you should configure the following parameters in the ocnwdaf-<version>.custom-values.yaml file. The following table provides details about the NRF client customization parameters in the ocnwdaf-<version>.custom-values.yaml file:

Table 5-4 Configurable Parameters - NRF Client Configuration

Parameter Description Details
global.deploymentNrfClientService.envNfNamespace This is a mandatory parameter. Contains the namespace of the services to be monitored by performance service. Default value: No services are monitored, leave blank.

Note:

If no services are to be monitored, envNfNamespace can be left blank.
nrf-client.configmapApplicationConfig.profile This is a mandatory parameter. Contains configuration parameters that goes into nrf-client's config map.

Note:

See config-map table for configurable parameters
.
Default Value: Valid profile. Please refer to the ocnwdaf-<version>custom-values.yaml example below.
appinfo.infraServices This is a conditional parameter.
Set this parameter to an empty array if any one of the following conditions are met:
  • Deploying on occne 1.4 or lesser version
  • Not deploying on OCCNE
  • Do not wish to monitor infra services such as db-monitor service
NA
perf-info.configmapPerformance.prometheus This is a conditional parameter. Specifies Prometheus server URL.

Note:

If no value is specified, OCNWDAF reports "0" load to NRF.
Default Value: http://prometheus-server.prometheus:5802
global.leaderPodDbName Contains the name for Leader Pod Database in the global parameters. This database is unique per site. Range: Valid database name.
nrf-client-nfmanagement.dbConfig.leaderPodDbName Contains the name for Leader Pod Database in the nrf-client-nfmanagement.dbConfig. Range: Valid database name.
global.networkDbName Contains the network database name in the global parameters.

Default Value: Valid Release Database name.

For Example: nwdafReleaseDB

nrf-client-nfmanagement.dbConfig.networkDbName Contains the network database name in the nrf-client-nfmanagement.dbConfig parameters. Default Value: networkDbNameRef
nrf-client-nfmanagement.enablePDBSupport Set this to true to enable PDB Support.

Note:

If this parameter is set to true, helm test will fail. It is an expected behavior, as the mode is active and on standby, leader pod (nrf-client-management) will be in a ready state and follower will not be in ready state, which will lead to failure in the helm test.

Range: true or false

Default Value: true
nrf-client-nfmanagement.replicas Contains number of NRF-Client replicas. Default Value: 2

Table 5-5 Configurable parameters of NRF Client Configuration in Config-map

Parameter Description Details
primaryNrfApiRoot Primary NRF hostname and port Hostname/IP:Port. Range: Valid API root

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

SecondaryNrfApiRoot secondary NRF hostname and port Hostname/IP:Port

For example: nrf2-api-gateway.svc:80

Range: Valid API root

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

retryAfterTime When primary NRF is down, this will be the wait Time (in ISO 8601 duration format) after which request to primary NRF will be retried to detect primary NRF's availability.

For example: PT120S

Range: Valid ISO 8601 duration format

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

nrfClientType The NfType of the NF registering. This should be set to OCNWDAF. Default Value: OCNWDAF

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

nrfClientSubscribeTypes NF Type(s) for which the NF wants to discover and subscribe to the NRF.

Note:

Leave blank if OCNWDAF does not require this option.
Range: AMF, NRF, UDM, SMF, AUSF, NEF, PCF, SMSF, NSSF, UDR, LMF, GMLC, 5G_EIR, SEPP, UPF, N3IWF, AF, UDSF, BSF, CHF, NWDAF

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

appProfiles NfProfile of OCNWDAF to be registered with NRF. Range: Valid NF Profile

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

enableF3 Support for 29.510 Release 15.3. Range: true or false

Default Value: true

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

enableF5 Support for 29.510 Release 15.5. Range: true or false

Default Value: true

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

renewalTimeBeforeExpiry Time(seconds) before the subscription validity expires.

For example: 3600 (1hr)

Range: Time in seconds

Default Value: 3600

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

validityTime The default validity time (days) for subscriptions.

For example: 30 (30 days)

Range: Time in days

Default Value: 30

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

enableSubscriptionAutoRenewal Enable renewal of subscriptions automatically. Range: true or false

Default Value: true

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.6.x

acceptAdditionalAttributes Enable additionalAttributes as part of 29.510 Release 15.5. Range: true or false

Default Value: false

Applicable to: OCNWDAF

enableVirtualNrfResolution Enable virtual NRF session retry by alternate routing service. Range: true or false

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.9.0

virtualNrfFqdn Virtual NRF FQDN used to query static list of route. Default Value: nrf.oracle.com

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.9.0

virtualNrfScheme Scheme to be used with the virtual FQDN. Range: http or https

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.9.0

requestTimeoutGracePeriod An additional grace period where no response is received from the NRF. This additional period shall be added to the requestTimeout value. This will ensure that the egress-gateway shall first timeout, and send an error response to the NRF-client. Range: Integer value

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.9.0

nrfRetryConfig Configurations required for the NRF Retry mechanism. Default Value: Valid configuration. Please refer to the ocnwdaf-<version>custom-values.yaml example below.

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.9.0

healthCheckConfig Configurations required for the Health check of NRFs.

Default Value: Valid configuration. Please refer to the ocnwdaf-<version>custom-values.yaml example below.

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.9.0

supportedDataSetId The data-set value to be used in queryParams for NFs autonomous or on-demand discovery.

Range: SUBSCRIPTION, POLICY, EXPOSURE, APPLICATION.

Applicable to: OCNWDAF

Added, Deprecated, or Updated: Added in Release 1.7.1

Table 5-6 NRF Client Parameters

Parameter Description Detail
nrfclient.nrf-client.configmapApplicationConfig.profile This is a mandatory parameter. It contains configuration parameters that goes into nrf-client's config map.

Note:

See configmap table for configurable parameters

Applicable to: OCNWDAF

nrfclient.nrf-client This is a mandatory parameter. Microservice level control if specific microservice need to be disabled.

Applicable to: OCNWDAF

config-server This is a mandatory parameter. Details of Config-server microservice.

Applicable to: OCNWDAF

config-server.enabled This is a mandatory parameter. Engineering-parameter

Applicable to: OCNWDAF

config-server.envMysqlDatabase This is a mandatory parameter. It specifies MySQL Config Server Database Name. Default Value: Provisional DB name

Applicable to: OCNWDAF

config-server.dbConfig.dbEngine This is a mandatory parameter. Database hook Configuration Default Value: Database Engine name

Applicable to: OCNWDAF

appinfo.enabled This is a mandatory parameter. Use to enable or disable appinfo microservices.

Range: true or false

Default Value: true

Applicable to: OCNWDAF

appinfo.debug

This is a mandatory parameter.

Represent appinfo image name.

Note: Registry is taken from global section:

  • image: oc-app-info
  • appinfo image tag
  • imageTag: 23.1.0
  • Set Log Level to DEBUG.
  • If false, Log Level shall be INFO

Range: true or false

Default Value: false

Applicable to: OCNWDAF

serviceMeshCheck

Not supported in this OCNWDAF release.

Default Value: Leave blank.

Not supported in this OCNWDAF release.

istioSidecarQuitUrl

Not supported in this OCNWDAF release.

Default Value: Leave blank.

Not supported in this OCNWDAF release.

istioSidecarReadyUrl

Not supported in this OCNWDAF release.

Default Value: Leave blank.

Not supported in this OCNWDAF release.

Table 5-7 NRF Client NF Discovery Parameters

Parameter Description Details
nrf-client.nrf-client-nfdiscovery This is a mandatory parameter. Contains deployment specific configuration for Nrf-Client Discovery Microservice

Applicable to: OCNWDAF

configmapApplicationConfig This is a mandatory parameter.

Applicable to: OCNWDAF

cpuRequest This is a mandatory parameter. Default Value: 2

Applicable to: OCNWDAF

cpuLimit This is a mandatory parameter. Default Value: 2

Applicable to: OCNWDAF

memoryRequest This is a mandatory parameter. Default Value: 1Gi

Applicable to: OCNWDAF

memoryLimit This is a mandatory parameter. Default Value: 1Gi

Applicable to: OCNWDAF

minReplicas This is a mandatory parameter. Default Value: 1

Applicable to: OCNWDAF

maxReplicas This is a mandatory parameter. Default Value: 5

Applicable to: OCNWDAF

averageCpuUtil This is a mandatory parameter. Default Value: 80

Applicable to: OCNWDAF

commonCfgServer.configServerSvcName This is a mandatory parameter. Default Value: nsconfig

Applicable to: OCNWDAF

commonCfgServer.port This is a mandatory parameter. Default Value: 8080

Applicable to: OCNWDAF

commonCfgClient.enabled This is a mandatory parameter. Default Value: *cfgClientEnabled

Applicable to: OCNWDAF

nrf-client.nrf-client-nfdiscovery.dbConfig This is a mandatory parameter. Contains database credentials of Nrf-Client Discovery parameters. Default Value: Valid database host (Example: ocnwdaf-nsdb.db)

Applicable to: OCNWDAF

dbConfig.dbHost This is a mandatory parameter. DB credential of nrf-client-nfdiscovery parameters.

Applicable to: OCNWDAF

dbConfig.dbPort This is a mandatory parameter. Databse credential of nrf-client-nfdiscovery parameters. Default Value: 3306

Applicable to: OCNWDAF

dbConfig.secretName This is a mandatory parameter.Contains name of the secret. Default Value: Provisional DB secret

Applicable to: OCNWDAF

dbConfig.dbName This is a mandatory parameter. Contains name of the database. Default Value: Provisional DB name

Applicable to: OCNWDAF

dbConfig.dbUNameLiteral This is a mandatory parameter. Contains the name of the Key configured for "DB Username" in Secret with following name: "<dbConfig.secretName>".

Applicable to: OCNWDAF

dbConfig.dbPwdLiteral This is a mandatory parameter. Contains the name of the Key configured for "DB Password" in Secret with following name: "<dbConfig.secretName>".

Applicable to: OCNWDAF

dbConfig.dbEngine This is a mandatory parameter. Database engine name. Default Value: NDBCLUSTER

Applicable to: OCNWDAF

serviceMeshCheck

Not supported in this OCNWDAF release.

Default Value: Leave blank.

Not supported in this OCNWDAF release.

istioSidecarQuitUrl

Not supported in this OCNWDAF release.

Default Value: Leave blank.

Not supported in this OCNWDAF release.

istioSidecarReadyUrl

Not supported in this OCNWDAF release.

Default Value: Leave blank.

Not supported in this OCNWDAF release.

Table 5-8 NRF Client NF Management Parameters

Parameter Description Details
nrf-client-nfmanagement This is a mandatory parameter. Contains deployment specific configuration for nrf-client-nfmanagement microservice

Applicable to: OCNWDAF

configmapApplicationConfig This is a mandatory parameter.

Applicable to: OCNWDAF

replicas This is a mandatory parameter. Default Value: 1

Applicable to: OCNWDAF

cpuRequest This is a mandatory parameter. Default Value: 1

Applicable to: OCNWDAF

cpuLimit This is a mandatory parameter. Default Value: 1

Applicable to: OCNWDAF

memoryRequest This is a mandatory parameter. Default Value: 1Gi

Applicable to: OCNWDAF

memoryLimit This is a mandatory parameter. Default Value: 1Gi

Applicable to: OCNWDAF

commonCfgServer.configServerSvcName This is a mandatory parameter. Default Value: nsconfig

Applicable to: OCNWDAF

commonCfgServer.port This is a mandatory parameter. Default Value: 8080

Applicable to: OCNWDAF

commonCfgClient.enabled This is a mandatory parameter. Default Value: *cfgClientEnabled

Applicable to: OCNWDAF

dbConfig This is a mandatory parameter. Contains database credentials of Nrf-Client Discovery parameters, Default Value: Valid dbConfig set of properties. Please refer to the ocnwdaf-<version>custom-values.yaml example.

Applicable to: OCNWDAF

dbConfig.dbHost This is a mandatory parameter. DB credential of nrf-client-nfdiscovery parameters. Default Value: Valid database host (Example: ocnwdaf-nsdb.db)

Applicable to: OCNWDAF

dbConfig.dbPort This is a mandatory parameter. Database credential of nrf-client-nfdiscovery parameters. Default Value: 3306

Applicable to: OCNWDAF

dbConfig.secretName This is a mandatory parameter. Contains name of the secret. Default Value: Provisional DB secret

Applicable to: OCNWDAF

dbConfig.dbName This is a mandatory parameter. Contains name of the database. Default Value: Provisional DB name

Applicable to: OCNWDAF

dbConfig.dbUNameLiteral This is a mandatory parameter. Contains the name of the Key configured for "DB Username" in Secret with following name: "<dbConfig.secretName>".

Applicable to: OCNWDAF

dbConfig.dbPwdLiteral This is a mandatory parameter. Contains the name of the Key configured for "DB Password" in Secret with following name: "<dbConfig.secretName>".

Applicable to: OCNWDAF

bConfig.dbEngine This is a mandatory parameter. Database engine name. Default Value: NDBCLUSTER

Applicable to: OCNWDAF

serviceMeshCheck

Not supported in this OCNWDAF release.

Default Value: Leave blank.

Not supported in this OCNWDAF release.

istioSidecarQuitUrl

Not supported in this OCNWDAF release.

Default Value: Leave blank.

Not supported in this OCNWDAF release.

istioSidecarReadyUrl Not supported in this OCNWDAF release. Default Value: Leave blank.

Not supported in this OCNWDAF release.

Here is a sample configuration for NRF client in ocnwdaf-<version>custom-values.yaml file:
# Please add below in global section of custom values.yaml of NF deployment.
global:
  # The value of nfName is specified as ocnf which is stands of Oracle NF.
  # nfName is used as a prefix in serivce names of nrf client's service and other services it connects to for eg appinfo, config server etc.
  nfName: ocnf
  # Global control to enable/disable deployment of NF Discovery service, enable it if on demand discovery of NF is required.
  nrfClientNfDiscoveryEnable: true
  # Global control to enable/disable deployment of NF Management service.
  nrfClientNfManagementEnable: true
  # Global Parameter to enable/disable DEBUG Container tool
  extraContainers: "DISABLED"
  extraContainersTpl: |
    - command:
        - /bin/sleep
        - infinity
      image: {{ printf "%s/%s:%s" (include "getdockerregistry.name" .) "ocdebugtool/ocdebug-tools" "22.3.1" }}
      imagePullPolicy: Always
      name: {{ printf "%s-tools-%s" (include "getprefix" .) (include "getsuffix" .) | trunc 63 | trimPrefix "-" | trimSuffix "-"  }}
      resources:
        requests:
          ephemeral-storage: "2Gi"
          cpu: "0.5"
          memory: "1Gi"
        limits:
          ephemeral-storage: "4Gi"
          cpu: "1"
          memory: "2Gi"
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
          add:
          - NET_RAW
          - NET_ADMIN
        readOnlyRootFilesystem: false
        runAsUser: 7000
  # Global parameter to mention if alternate-route service is available(deployed) or not.
  alternateRouteServiceEnable: false
  altServiceHTTP2Enabled: true
  altServiceReqTimeout: 3000
  altServiceLookupInterval: 3000
  # Metrics name for OSO
  cncMetricsName: cnc-metrics
  # Jaeger tracing host
  envJaegerAgentHost: ''
  # Jaeger tracing port
  envJaegerAgentPort: 6831
  # Provide value for NodePort
  nrfClientNodePort: 0
  # Docker registry from which config-server images, nrf-client images will be pulled
  #dockerRegistry: ocnrf-registry.us.oracle.com:5000
  dockerRegistry: cgbu-cnc-comsvc-release-docker.dockerhub-phx.oci.oraclecorp.com
  # Readiness-Detector image details with tag
  #Vendor name
  vendor: "Oracle"
  # application name
  applicationName: "nrf-client"
  # prefix for Metrics
  metricPrefix: &metricPrefix ""
  # suffix for Metrics
  metricSuffix: &metricSuffix ""
  # Common service port
  nrfClientCommonServicePort: '9090'
  # Prometheus configuration
  prometheusScrapingConfig:
    enabled: false
    path: "/actuator/prometheus"
  nfInstanceId: 'fe7d992b-0541-4c7d-ab84-c6d70b1b01b1'
  configServerEnable: true
  # Config-Server Service. Shall be used as {{ ReleaseName }}-configServerFullNameOverride
  configServerFullNameOverride: ocpm-config
  # Mysql Host
  envMysqlHost: &mySqlHostRef 10.233.5.39 # Changed
  envMysqlSecondaryHost: ''
  # Mysql Port
  envMysqlPort: &mySqlPortRef '3306'
  envMysqlSecondaryPort: ''
  # Mysql Secret Name
  dbCredSecretName: &dbCredSecretNameRef 'ocnf-db-pass'
  # Mysql Config Server Databse Name
  # Global Control to disable appinfo service
  appinfoServiceEnable: true
  # Global Control to disable performance info service
  performanceServiceEnable: true
  egressGatewayHost: ocn-nrf-simulator-service.ocnwdaf-ns # Changed
  # Deployment Specific configuration
  deploymentNrfClientService:
    # Services to be monitored by performance service
    # If no services are to be monitored, envNfNamespace,envNfType,envConsumeSvcName can be left blank
    envNfNamespace: ''
    envNfType: ''
    envConsumeSvcName: ''
    # Egress gateway Host. Shall be used as {{ ReleaseName }}-envEgressGatewayFullnameOverride
    envEgressGatewayFullnameOverride: egressgateway
    # Egress gateway Port
    envEgressGatewayPort: "8080" # Changed
    # Callback URI to receive Notifications from NRF
    nfApiRoot: http://ocnrf-ingressgateway.ocnrf:80
    nodeSelectorEnabled: false
    nodeSelectorKey: zone
    nodeSelectorValue: app
  # K8s Secret containing Database/user/password for DB Hooks for creating tables
  privilegedDbCredSecretName: &privDbCredSecretNameRef 'ocnf-privileged-db-pass'
  releaseDbName: &dbNameRef 'ocnf_config_server'
  networkDbName: &networkDbNameRef 'nrfNetworkDB'
  # Database Name for LeaderPod
  # Every NF has to configure a different LeaderPod for each site
  # so that when the sites are geo-redundant, the entries in the table do not crash.
  leaderPodDbName: &leaderPodDbRef 'leaderPodDb'
 
  # Service Account Name
  serviceAccountName: ""
   
  # Application name that is added in logs as labels
  app_name: "nrfclient"
  supportedVersions:
    - autoscaling/v2
    - autoscaling/v2beta2
    - autoscaling/v2beta1
    - autoscaling/v1
    - policy/v1
    - policy/v1beta1
  #Resource Values for Hook Jobs
  hookJobResources:
    limits:
      cpu: 2
      memory: 2Gi
    requests:
      cpu: 1
      memory: 1Gi
 
 
# Details of perf-info microservices
perf-info:
   image: occnp/oc-perf-info
   imageTag: 22.4.1 # Changed from 22.3.2
   # Service namespace for perf-info
   service_namespace: ocnrf
   # Replicas for perf Info
   replicas: 2
   # Pull Policy - Possible Values are:- Always, IfNotPresent, Never
   imagepullPolicy: IfNotPresent
   service:
     type: ClusterIP
     port: 5905
   resources: {}
     # We usually recommend not to specify default resources and to leave this as a conscious
     # choice for the user. This also increases chances charts run on environments with little
     # resources, such as Minikube. If you do want to specify resources, uncomment the following
     # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
     # limits:
     #  cpu: 100m
     #  memory: 128Mi
     # requests:
     #  cpu: 100m
     #  memory: 128Mi
   nodeSelector: {}
   tolerations: []
   affinity: {}
   commonCfgClient:
     enabled: false
   commonCfgServer:
   # Do not comment this line in case you want to deploy both config-server and APIGW in same namespace simultaneously
   # Otherwise comment this line and use 'host'
     configServerSvcName: 'common-config-server'
     host: 'common-config-server'
     port: '80'
     pollingInterval: 5000
   dbConfig:
     dbHost: *mySqlHostRef
     dbPort: *mySqlPortRef
     secretName: *dbCredSecretNameRef
     dbName: *dbNameRef
     # Name of the Key configured for "DB Username" in Secret with following name: "<dbConfig.secretName>"
     dbUNameLiteral: mysql-username
     # Name of the Key configured for "DB Password" in Secret with following name: "<dbConfig.secretName>"
     dbPwdLiteral: mysql-password
   ingress:
      enabled: false
   configmapPerformance:
     prometheus: http://prometheus-server.prometheus:5802
 
# Microservice level control if specific microservice need to be disabled
nrf-client:
   # This config map is for providing inputs to NRF-Client
   configmapApplicationConfig:
      &configRef
      # Config-map to provide inputs to Nrf-Client
      # primaryNrfApiRoot - Primary NRF Hostname and Port
      # SecondaryNrfApiRoot - Secondary NRF Hostname and Port
      # nrfRouteList - Can be used to specify routes with priority instead of primary and secondary NRF API root
      # useNrfRouteList - Can be used to specify whether nrfRouteList should be used instead of primary and secondary NRF API root
      # nrfScheme - Scheme of primary and secondary NRF http or https
      # retryAfterTime - Default downtime(in Duration) of an NRF detected to be unavailable.
      # nrfClientType - The NfType of the NF registering
      # nrfClientSubscribeTypes - the NFType for which the NF wants to subscribe to the NRF.
      # appProfiles - The NfProfile of the NF to be registered with NRF.
      # enableF3 - Support for 29.510 Release 15.3
      # enableF5 - Support for 29.510 Release 15.5
      # registrationRetryInterval - Retry Interval after a failed autonomous registration request
      # subscriptionRetryInterval - Retry Interval after a failed autonomous subscription request
      # discoveryRetryInterval - Retry Interval after a failed autonomous discovery request
      # discoveryRefreshInterval - The default interval after which autonomous discovery requests will be resent
      # discoveryDurationBeforeExpiry - This value specifies the rate at which the NF shall resend discovery requests to NRF. The value shall be configured in terms of percentage(1-100). if the discovery ValidityPeriod is 60s, then the discovery requests shall be sent at discoveryDurationBeforeExpiry * 60/100
      # renewalTimeBeforeExpiry - Time Period(seconds) before the Subscription Validity time expires.
      # validityTime - The default validity time(days) for subscriptions.
      # enableSubscriptionAutoRenewal - Enable Renewal of Subscriptions automatically.
      # nfHeartbeatRate - This value specifies the rate at which the NF shall heartbeat with the NRF. The value shall be configured in terms of percentage(1-100). if the heartbeatTimer is 60s, then the NF shall heartbeat at nfHeartBeatRate * 60/100
      # acceptAdditionalAttributes - Enable additionalAttributes as part of 29.510 Release 15.5
      # retryForCongestion - The duration(seconds) after which nrf-client should retry to a NRF server found to be congested.
      # supportedDataSetId - The data-set value to be used in queryParams for NFs autonomous/on-demand discovery. e.g. data-set=POLICY
      # enableVirtualNrfResolution- enable virtual NRF session retry by Alternate routing service
      # virtualNrfFqdn - virtual NRF FQDN used to query static list of route
      # virtualNrfScheme - http or https
      # useAlternateScpOnAlternateRouting - enable use SCP on alternate routing service
      # subscriberNotificationRetry - number of health status notification retries to a subscriber
      # requestTimeoutGracePeriod - grace period(seconds) for timeout period until no response is received from NRF
      # nrfRetryConfig - configurations required for the NRF Retry mechanism
      #serviceRequestType - type of service operation for which configuration is applicable
      #primaryNRFRetryCount - number of retries for primary instance
      #nonPrimaryNRFRetryCount - number of retries for non-primary instance
      #alternateNRFRetriesCount - number of retry attempts
      #errorReasonsForFailure - httpStatusCode or error conditions for which retry shall be attempted
      #requestTimeout - timeout period(seconds) where no response is received from NRF
      #gatewayErrorCodes - httpStatusCode sent by gateway for which retry shall be attempted
      # healthCheckConfig - configurations required for the Health check of NRFs
      #healthCheckCount - consecutive success/failure operation count (default -1 means disabled)
      #healthCheckInterval - interval duration in seconds to perform health check
      #requestTimeout - timeout period(seconds) where no response is received from NRF
      #errorReasonsForFailure - httpStatusCode or error conditions for which the NRF is considered as unhealthy
      #gatewayErrorCodes - httpStatusCode sent by gateway for the NRF shall be considered unhealthy
      #enableDiscoveryRefresh - Feature flag to enable Automatic Discovery Refresh
      #enableRediscoveryIfNoProdNFs - Feature flag to enable rediscovery when No Producer NFs are available
      #offStatesForRediscoveryIfNoProdNFs - Comma separated value for states to consider Producer NFs as not available
 
      #appProfiles=[{"nfInstanceId":"fe7d992b-0541-4c7d-ab84-c6d70b1b01b1","nfType":"NWDAF","nfStatus":"REGISTERED","plmnList":null,"nsiList":null,"fqdn":"pcf.oracle.com","interPlmnFqdn":null,"ipv4Addresses":null,"ipv6Addresses":null,"priority":null,"capacity":null,"load":null,"locality":null,"udrInfo":null,"udmInfo":null,"ausfInfo":null,"amfInfo":null,"smfInfo":null,"upfInfo":null,"pcfInfo":null,"bsfInfo":null,"customInfo":null,"recoveryTime":null,"nfServices":[{"serviceInstanceId":"03063893-cf9e-4f7a-9827-067f6fa9dd01","serviceName":"nnrf-nfmanagement","versions":[{"apiVersionInUri":"v1","apiFullVersion":"1.2.2","expiry":"2019-08-03T18:55:08.871+0000"}],"scheme":"http","nfServiceStatus":"REGISTERED","fqdn":"nrf.oracle.com","interPlmnFqdn":null,"apiPrefix":"bsf-service","defaultNotificationSubscriptions":null,"allowedPlmns":null,"allowedNfTypes":["PCF","NEF", "NWDAF"],"allowedNfDomains":null,"allowedNssais":null,"priority":null,"capacity":null,"load":null,"recoveryTime":null,"supportedFeatures":null}],"sNssais":null}]
 
      profile: |-       
         [appcfg]
         primaryNrfApiRoot=ocn-nrf-simulator-service.ocnwdaf-ns:8080
         secondaryNrfApiRoot=
         nrfRouteList=[{"nrfApi":"nrfDeployName-nrf-1:8080","scheme":"http","weight":100,"priority":1}]
         useNrfRouteList=false
         nrfScheme=http
         retryAfterTime=PT120S
         nrfClientType=NRF
         nrfClientSubscribeTypes=PCF
         appProfiles=[{"nfInstanceId":"fe7d992b-0541-4c7d-ab84-c6d70b1b01b1","nfType":"NWDAF","nfStatus":"REGISTERED","plmnList":null,"nsiList":null,"fqdn":"ocn-nwdaf-communication","interPlmnFqdn":null,"ipv4Addresses":null,"ipv6Addresses":null,"priority":null,"capacity":null,"load":null,"locality":null,"udrInfo":null,"udmInfo":null,"ausfInfo":null,"amfInfo":null,"smfInfo":null,"upfInfo":null,"pcfInfo":null,"bsfInfo":null,"customInfo":null,"recoveryTime":null,"nfServices":[{"serviceInstanceId":"03063893-cf9e-4f7a-9827-067f6fa9dd01","serviceName":"nnrf-nfmanagement","versions":[{"apiVersionInUri":"v1","apiFullVersion":"1.2.2","expiry":"2019-08-03T18:55:08.871+0000"}],"scheme":"http","nfServiceStatus":"REGISTERED","fqdn":"nrf.oracle.com","interPlmnFqdn":null,"apiPrefix":"bsf-service","defaultNotificationSubscriptions":null,"allowedPlmns":null,"allowedNfTypes":["PCF","NEF", "NWDAF"],"allowedNfDomains":null,"allowedNssais":null,"priority":null,"capacity":null,"load":null,"recoveryTime":null,"supportedFeatures":null}],"sNssais":null}]
         enableF3=true
         enableF5=true
         registrationRetryInterval=5000
         subscriptionRetryInterval=5000
         enableDiscoveryRefresh=false
         discoveryRetryInterval=5000
         discoveryRefreshInterval=10
         discoveryDurationBeforeExpiry=90
         renewalTimeBeforeExpiry=3600
         enableRediscoveryIfNoProdNFs=false
         offStatesForRediscoveryIfNoProdNFs=SUSPENDED,UNDISCOVERABLE,DEREGISTERED
         validityTime=30
         enableSubscriptionAutoRenewal=true
         nfHeartbeatRate=80
         acceptAdditionalAttributes=true
         retryForCongestion=5
         supportedDataSetId=
         enableVirtualNrfResolution=false
         virtualNrfFqdn=nrf.oracle.com
         virtualNrfScheme=http
         useAlternateScpOnAlternateRouting=
         subscriberNotificationRetry=2
         requestTimeoutGracePeriod=2
         enableDiscoveryRefresh=false
         nrfRetryConfig=[{"serviceRequestType":"ALL_REQUESTS","primaryNRFRetryCount":1,"nonPrimaryNRFRetryCount":1,"alternateNRFRetryCount":-1,"errorReasonsForFailure":["503","504","500","SocketTimeoutException","JsonProcessingException","UnknownHostException","NoRouteToHostException","IOException"],"gatewayErrorCodes":["503"],"requestTimeout":10},{"serviceRequestType":"AUTONOMOUS_NFREGISTER","primaryNRFRetryCount":1,"nonPrimaryNRFRetryCount":1,"alternateNRFRetryCount":-1,"errorReasonsForFailure":["503","504","500","SocketTimeoutException","JsonProcessingException","UnknownHostException","NoRouteToHostException","IOException"],"gatewayErrorCodes":["503"],"requestTimeout":10}]
         healthCheckConfig={"healthCheckCount":-1,"healthCheckInterval":5,"requestTimeout":10,"errorReasonsForFailure":["503","504","500","SocketTimeoutException","IOException"],"gatewayErrorCodes":["503", "504", "500"]}
 
   # Deployment specific configuration for Nrf-Client Discovery Microservice
   nrf-client-nfdiscovery:
      global:
          #ephemeralStorage value in MB. Value 0 means ephemeral-storage will not be set during deployment.
          logStorage: 0 #default calculated value 70
          crictlStorage: 0 #default calculated value 1
          ephemeralStorageLimit: 0 #default calculated value 1024
          maxUnavailable: "25%"
      configmapApplicationConfig: *configRef
      # NRF Client Microservice image name
      image: nrf-client
      # NRF Client Microservice image tag
      imageTag: '22.3.3'
      envJaegerSamplerParam: '1'
      envJaegerSamplerType: ratelimiting
      envJaegerServiceName: nrf-client-nfdiscovery
      # Resource Details
      cpuRequest: 2
      cpuLimit: 2
      memoryRequest: 1Gi
      memoryLimit: 1Gi
      # Min replicas to scale to maintain an average CPU utilization
      minReplicas: 1
      # Max replicas to scale to maintain an average CPU utilization
      maxReplicas: 2
      averageCpuUtil: 80
      type: ClusterIP
      # Set to true if the discovery results should be cached.
      cacheDiscoveryResults: false
      # Discovery Service Port
      envDiscoveryServicePort: 5910
      # Management Service Port
      envManagementServicePort: 5910
      #Restart Policy for hooks
      hookRestartPolicy: Never
      # prefix for Metrics
      metricPrefix: *metricPrefix
      # suffix for Metrics
      metricSuffix: *metricSuffix
      #The sidecar (istio url) when deployed in serviceMesh
      # Default value: http://127.0.0.1:15000/quitquitquit
      istioSidecarQuitUrl: ""
      # Default value: http://127.0.0.1:15000/ready
      istioSidecarReadyUrl: ""
      # Flag to enable service Mesh
      serviceMeshCheck: false
      # Flag to switch between "HELM" based or "REST" based nfProfile configuration
      nfProfileConfigMode: "HELM"
      # Flag to enable/ disable the feature
      # Allowed Values: DISABLED, ENABLED, USE_GLOBAL_VALUE
      extraContainers: USE_GLOBAL_VALUE
      commonCfgClient:
         enabled: false
      commonCfgServer:
        # Do not comment this line in case you want to deploy both config-server and APIGW in same namespace simultaneously
        # Otherwise comment this line and use 'host'
        configServerSvcName: 'common-config-server'
        host: 'common-config-server'
        port: '80'
        pollingInterval: 5000
        nfProfileUri: 'nf/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList'
      dbConfig:
        dbHost: *mySqlHostRef
        dbPort: *mySqlPortRef
        secretName: *privDbCredSecretNameRef
        dbName: *dbNameRef     
        # Name of the Key configured for "DB Username" in Secret with following name: "<dbConfig.secretName>"
        dbUNameLiteral: mysql-username
        # Name of the Key configured for "DB Password" in Secret with following name: "<dbConfig.secretName>"
        dbPwdLiteral: mysql-password
 
   # Deployment specific configuration for Nrf-Client Management Microservice
   nrf-client-nfmanagement:
      global:
         #ephemeralStorage value in MB. Value 0 means ephemeral-storage will not be set during deployment.
         logStorage: 0 #default calculated value 70
         crictlStorage: 0 #default calculated value 1
         ephemeralStorageLimit: 0 #default calculated value 1024
         minAvailable: 1
      configmapApplicationConfig: *configRef
      # NRF Client Microservice image name
      image: nrf-client
      # NRF Client Microservice image tag
      imageTag: '22.3.3'
      envJaegerSamplerParam: '1'
      envJaegerSamplerType: ratelimiting
      envJaegerServiceName: nrf-client-nfmanagement
      enablePDBSupport: false
      # Resource Details
      replicas: 1
      cpuRequest: 1
      cpuLimit: 1
      memoryRequest: 1Gi
      memoryLimit: 1Gi
      type: ClusterIP
      #Restart Policy for hooks
      hookRestartPolicy: Never
      # prefix for Metrics
      metricPrefix: *metricPrefix
      # suffix for Metrics
      metricSuffix: *metricSuffix
      #The sidecar (istio url) when deployed in serviceMesh
      # Default value: http://127.0.0.1:15000/quitquitquit
      istioSidecarQuitUrl: ""
      # Default value: http://127.0.0.1:15000/ready
      istioSidecarReadyUrl: ""
      # Flag to enable service Mesh
      serviceMeshCheck: false
      # Flag to switch between "HELM" based or "REST" based nfProfile configuration
      nfProfileConfigMode: "HELM"
      # Flag to switch between "HELM" based or "REST" based nrfRoute configuration
      nrfRouteConfigMode: "HELM"
      # Flag to enable/ disable the feature
      # Allowed Values: DISABLED, ENABLED, USE_GLOBAL_VALUE
      extraContainers: USE_GLOBAL_VALUE
      commonCfgClient:
         enabled: false
      commonCfgServer:
        # Do not comment this line in case you want to deploy both config-server and APIGW in same namespace simultaneously
        # Otherwise comment this line and use 'host'
        configServerSvcName: 'common-config-server'
        host: 'common-config-server'
        port: '80'
        pollingInterval: 5000
      dbConfig:
        dbHost: *mySqlHostRef
        dbPort: *mySqlPortRef
        secretName: *privDbCredSecretNameRef
        dbName: *dbNameRef
        networkDbName: *networkDbNameRef
        # Database for leaderPod selection
        leaderPodDbName: *leaderPodDbRef
        # Name of the Key configured for "DB Username" in Secret with following name: "<dbConfig.secretName>"
        dbUNameLiteral: mysql-username
        # Name of the Key configured for "DB Password" in Secret with following name: "<dbConfig.secretName>"
        dbPwdLiteral: mysql-password
         
# Details of Config-server microservice
config-server:
   enabled: true
   image: occnp/oc-config-server
   imageTag: 22.3.2
   fullNameOverride: "config-server"
   envJaegerServiceName: pcf-config
   # This is the NfInstanceId of NF that will get deployed. This shall be used in the profile being registered.
   nfInstanceId: 'fe7d992b-0541-4c7d-ab84-c6d70b1b01b1'
   # Mysql Config Server Databse Name
   envMysqlDatabase: ocnf_config_server
   # Replicas for Config server - This is exact value without scaling
   replicas: 1
   nodeSelectorEnabled: false
   nodeSelectorKey: zone
   nodeSelectorValue: app
   # Resource details
   resources:
    limits:
      cpu: 1
      memory: 1Gi
    requests:
      cpu: 0.5
      memory: 1Gi
   servicePcfConfig:
       type: NodePort
 
# Details of appinfo microservices
appinfo:
   enabled: true
   image: occnp/oc-app-info
   imageTag: 22.3.2
   pullPolicy: IfNotPresent
    # Replicas for Appinfo - This is exact value without scaling
   replicas: 1
   # Set Log Level to DEBUG. If false, Log Level shall be INFO
   debug: true
   serviceAccountName: ''
    
   commonCfgClient:
     enabled: false
   commonCfgServer:
   # Do not comment this line in case you want to deploy both config-server and APIGW in same namespace simultaneously
   # Otherwise comment this line and use 'host'
     configServerSvcName: 'common-config-server'
     host: 'common-config-server'
     port: '80'
     pollingInterval: 5000
   dbConfig:
     dbHost: *mySqlHostRef
     dbPort: *mySqlPortRef
     secretName: *dbCredSecretNameRef
     dbName: *dbNameRef
     # Name of the Key configured for "DB Username" in Secret with following name: "<dbConfig.secretName>"
     dbUNameLiteral: mysql-username
     # Name of the Key configured for "DB Password" in Secret with following name: "<dbConfig.secretName>"
     dbPwdLiteral: mysql-password
   # Service to be monitored by appinfo
   # nFType in core_services must consist of nfType used in nrfclient profile.
   #Examples-1 NRF with all services listed
   #core_services:
   #  nrf:
   #  - "ocnrf-nfRegistration"
   #  - "ocnrf-nfSubscription"
   #Example-2 NRF without listing any services
   core_services: {}
   # Infrastructure services
   # If using occne 1.4 or if you don't want to monitor infra services such as db-monitor service then the below mentioned
   # attribute 'infraServices' should be uncommented and empty array should be passed as already mentioned.
   # If infraServices is not set, by default appinfo shall monitor status of db-monitor-svc and db-replication-svc.
   #infraServices: []