Application Configuration Properties

Application Configuration Properties describes properties related to NRF Client configuration.

Table 1. Application Configuration Properties
Property Description
http.port Specifies the port for HTTP configuration. The default value is 8080.
nrf.mode The method for handling NRF registration and failure:
  • ACTIVE_ACTIVE (default) — NRF Client registers with and sends heartbeats to each NRF specified in nrf.clients. When an NRF is not available, NRF Client continues to attempt to send a heartbeat to it.
  • ACTIVE_STANDBYNRF Client expects to connect to only one NRF. The first NRF specified in nrf.clients is considered to be primary. If NRF Client fails to connect to this primary NRF, then the next in the list is attempted. If nrf.activeStandbyReturnToPrimary is set to true (default), then if the primary NRF becomes available again and NRF Client unregisters from the current NRF and reconnects to the primary.

The default value is ACTIVE_ACTIVE.

nrf.namespace The Kubernetes namespace to query for NF service pods. The default value is matrixx.
nrf.activeStandbyReturnToPrimary When set to true, when nf.mode is set to ACTIVE_STANDBY and NRF Client fails over to a standby NRF, the network function continues to try to re-register with the primary NRF. The default value is true.
nrf.hearbeatRetryMax The maximum number of times to attempt to send updates to the NRF. The default value is 3.
nrf.http2.enabled When set to true, HTTP/2 is used when communicating with NRFs. The default value is true.
nrf.http2.clearTextUpgrade When set to true, clear-text upgrade is used when communicating with NRFs. The default value is false.
nrf.security.tls.enabled When set to true, transport layer security (TLS) is used when communicating with NRFs. The default value is false.
nrf.security.tls.clientCertificatePath The local path to the PEM certificate for the NRF Client.
nrf.security.tls.clientKeyPath The local path to private PEM key for the NRF Client.
nrf.security.tls.serverCertificatePaths The list of local paths to the PEM certificates for the NRFs.
nrf.nfServiceQuery.enabled When set to true, the Kubernetes API is used to query the NF service pods. The default value is true.
nrf.nfServiceQuery.interval The interval of time at which to query the NF service pods. The default value is 10s.
nrf.nfServiceQuery.port The NF service instance port to use to query the /metrics directory. The default value is 9097.
nrf.nfServiceQuery.transport The NF service instance HTTP transport type to use when querying /metrics. Valid values are http or https. The default value is http.
nrf.nfServiceQuery.selectors A list of selectors for NF service pods to query. A pod is selected if any of the selectors are a match.
nrf.nfServiceQuery.selectors[].label The metadata label to match, for example, app.
nrf.nfServiceQuery.selectors[].value The metadata value for the matching label, for example, sba-5gc-chf.
nrf.useLocationHeader When set to true, use a location header returned by the NRF. The default value is true.
nrf.clients A list of NRFs to connect to. When using the ACTIVE_STANDBY connection strategy, the first client in the list is the primary.
nrf.clients[].host Specifies the transport, host, and port for the NRF, without any additional path. For example, http://nrf1.com:8081.
nrf.clients[].path An optional override of the standard path, including the instance placeholder. The default value is the following:
"/nnrf-nfm/v1/nf-instances/{nfInstanceId}"
nrf.clients[].retryInterval Specifies the retry interval for connecting to the NRF. The default value is 10s (10 seconds).
nrf.mapping A configuration setting for NRF mapping.
nrf.mapping.registration A configuration setting for NRF registration mapping.
nrf.mapping.registration.nfProfile A configuration setting for NRF registration mapping of an nfProfile.
Note: This must be overridden based on the actual NF service.
nrf.mapping.heartbeatPayload A configuration setting for the NRF heartbeat payload mapping.
Note: This must be overridden based on the actual NF service. It must include /nfStatus=REGISTERED and preferably /capacity and /load entries.
nrf.mapping.heartbeatPayload.op Specifies the operation for NRF heartbeat payload mapping.
nrf.mapping.heartbeatPayload.path Specifies the path for NRF heartbeat payload mapping.
nrf.mapping.heartbeatPayload.value Specifies the value for NRF heartbeat payload mapping.

Required Configuration Properties describes properties that must be set.

Table 2. Required Configuration Properties
Property Description
nrf.clients[].host The URL for the NRF, for example http://example.com:8081.
nrf.mapping.registration.nfProfile.fqdn The address information of the downstream service must be set if this information is used by other components to route traffic, for example, an SCP. Exactly one must be provided in the configuration.
nrf.mapping.registration.nfProfile.ipv4Addresses
nrf.mapping.registration.nfProfile.ipv6Addresses
nrf.nfServiceQuery The Kubernetes selectors to match the NF service being targeted. See the discussion about customizing for MATRIXX Charging Function services.

NRF-Related Configuration Properties describes properties that should be considered based on the target NRF

Table 3. NRF-Related Configuration Properties
Property Description
nrf.mode The connection strategy to use: ACTIVE_ACTIVE or ACTIVE_STANDBY. The default value is ACTIVE_ACTIVE.
nrf.clients[].retryInterval Specifies the retry interval for updating the NRF Client. The default value is 10s (10 seconds).
nrf.mapping.registration.nfProfile.heartBeatTimer The heartbeat interval, in seconds, must be set appropriately for the target NR to correctly detect a suspended service. The default value is 60 seconds.