3 Customizing SCP

This section provides list of configuration parameters in the Helm file that are used for customizing SCP. The OCNRF deployment is customized by overriding the default values of various configurable parameters.

Follow the below steps to customize the ocscp_values_1.7.3.yaml file as per the required parameters:
  1. Go to the Oracle Documentation Help Center (OHC) Web site.
  2. Navigate to Industries->Communications->Cloud Native Core->Release 2.2.1.
  3. Click the SCP Custom Template link to download the zip file.
  4. Unzip the file to get ocscp-custom-configtemplates-mibs-1.7.3 file that contains the ocscp-custom-configTemplates-1.7.3.0.0. This file is used during installation.
  5. Customize the ocscp_values_1.7.3.yaml file.
  6. Save the updated ocscp_values_1.7.3.yaml file in the helm chart directory.

SCP Configuration Parameters

The following sections explain the list of configuration parameters in the Helm file.

Note:

In the following tables, the generic notations are: M: Mandatory; O: Optional; C: Conditional.

Global Parameters

This configuration is used by all the micro services and the user can modify the values of these parameters.

Table 3-1 Global Parameters

Attribute Name DataType Range Default Value M/O/C Description
domain string Labels can be letter a-z, number 0-9, hyphen (-). Hyphen cannot be first character. Label combined with dot (.) forms domain svc.cluster.local M Option to configure the Service Domain of the K8 cluster.

To know cluster domain one can use command:

kubectl -n kube-system get configmap kubeadm-config -o yaml | grep clusterName

clusterDomain string Labels can be letter a-z, number 0-9, hyphen (-). Hyphen cannot be first character. Label combined with dot (.) forms domain cluster.local M Option to configure the Domain of the K8 cluster. Ideally, it is domain attribute value by removing "svc."
ingressGWAvailable boolean true/false false O Option to indicate whether Ingress Gateway is present in the deployment. If ingress gateway is available then set ingressGWAvailable flag to true and provide ingress gateway IP and Port in publicSignalingIP and publicSignalingPort respectively, else set to false. Note: If ingressGWAvailable flag is true then service type for scp-worker will be set to ClusterIP, otherwise it will be set to LoadBalancer.
publicSignalingIPSpecified boolean true/false false O Option to enable/disable Loadbalancer IP configuration statically for Signaling interface.
publicSignalingIP IPv4 Address Valid IPV4 address as per RFC 791 N/A C Option to configure static Signaling Loadbalancer IP. Configured value will be used only if signalingloadbalanceripenabled is configured as "true".
publicSignalingPort integer Min- 0 , Max-65535 8000 M Option to configure Signaling Port
adminport integer Min- 0 , Max-65535 8001 M Option to configure Admin Port (used for debugging purpose)
imageRepository string valid repository

<scp_repository_path>:5000/ocscp

M User need to set imageRepository to the repository where SCP images are loaded.
customExtension.allResources.lables string K8s label object syntax {} O Option to configure custom labels for the entire deployment, applicable to all resource types. Format is:

<string_label_1_key>: <string_label_1_value> <string_label_2_key>: <string_label_2_value> ......

customExtension.allResources.annotations string

K8s annotation object syntax

{}

O Option to configure custom annotations for the entire deployment, applicable to all resource types. Format is:
<string_annotation_1_key>: <string_annotation_1_value>
 <string_annotation_2_key>: <string_annotation_2_value>
 .....
Note: Following is the mandatory annotations if deploying SCP in Aspen Service Mesh:
sidecar.istio.io/inject: "\"false\""
customExtension.lbServices. labels string K8s label object syntax {} O Option to configure custom labels for the LoadBalancer pod(s) of the deployment, applicable to "Service" resource type. Format is:
<string_label_1_key>: <string_label_1_value>
 <string_label_2_key>: <string_label_2_value>
 ......
customExtension.lbServices. annotations string

K8s annotation object syntax

{}

O Option to configure custom annotations for the LoadBalancer pod(s) of the deployment, applicable to "Service" resource type. Format is:
<string_annotation_1_key>: <string_annotation_1_value>
 <string_annotation_2_key>: <string_annotation_2_value>
 .....
Note: Following is the mandatory annotations if deploying SCP in Aspen Service Mesh:
sidecar.istio.io/inject: "\"true\""

If integrating with OSO 1.6 monitoring services in Aspen SM, use following annotations: oracle.com/cnc: "\"true\""

customExtension.lbDeployments.labels string K8s label object syntax {} O Option to configure custom labels for the LoadBalancer pod(s) of the deployment, applicable to "Deployment" resource type. Format is:
<string_label_1_key>: <string_label_1_value>
 <string_label_2_key>: <string_label_2_value>
 ......
customExtension.lbDeployments.annotations string

K8s annotation object syntax

{}

O Option to configure custom annotations for the LoadBalancer pod(s) of the deployment, applicable to "Deployment" resource type. Format is:
<string_annotation_1_key>: <string_annotation_1_value>
 <string_annotation_2_key>: <string_annotation_2_value>
 .....
customExtension.nonlbServices.labels string K8s label object syntax {} O Option to configure custom labels for the Non LoadBalancer pod(s) of the deployment, applicable to "Service" resource type. Format is:
<string_label_1_key>: <string_label_1_value>
 <string_label_2_key>: <string_label_2_value>
 ......
customExtension.nonlbServices.annotations string

K8s annotation object syntax

{}

O Option to configure custom annotations for the Non LoadBalancer pod(s) of the deployment, applicable to "Service" resource type. Format is:
<string_annotation_1_key>: <string_annotation_1_value>
 <string_annotation_2_key>: <string_annotation_2_value>
 .....
customExtension.nonlbDeployments.labels string K8s label object syntax {} O Option to configure custom labels for the Non LoadBalancer pod(s) of the deployment, applicable to "Deployment" resource type. Format is:
<string_label_1_key>: <string_label_1_value>
 <string_label_2_key>: <string_label_2_value>
 ......
customExtension.nonlbDeployments.annotations string

K8s annotation object syntax

{}

O Option to configure custom annotations for the Non LoadBalancer pod(s) of the deployment, applicable to "Deployment" resource type. Format is:
<string_annotation_1_key>: <string_annotation_1_value>
 <string_annotation_2_key>: <string_annotation_2_value>
 .....
Note: Following is the mandatory annotations if deploying SCP in Aspen Service Mesh:
sidecar.istio.io/inject: "\"true\""

If integrating with OSO 1.6 monitoring services in Aspen SM, use following annotations: oracle.com/cnc: "\"true\""

k8sResource.container.prefix string NA {} O Option to add prefix to container names.
k8sResource.container.suffix string NA

{}

O Option to add suffix to container names.
hookJob.resources.limits.cpu integer N/A 1 M Maximum limit of cpu for hook job.
hookJob.resources.limits.memory integer N/A 1Gi M Max limit of memory for hook job in Giga Bytes.
hookJob.resources.requests.cpu integer N/A 1 M Max allocated vCPU for hook job
hookJob.resources.requests.memory integer N/A 1Gi M Requested memory (RAM) for hook job in Giga Bytes
database.dbHost string Valid IPv4 address as per RFC 791 or Valid FQDN N/A M Hostname or IP address of DB connection service
database.dbPort string Valid port value N/A M Port for MySQL Database connection service
database.dbAppUserSecretName string N/A N/A M Name of the Kubernetes secret object containing Database username and password
database.dbPrivilegedUserSecretName string N/A N/A M Name of the Kubernetes secret object containing Database username and password for an admin user
scpInfo.fqdn string Labels can be letter a-z, number 0-9, hyphen (-). Hyphen cannot be first character. Label combined with dot (.) forms domain N/A M Fully Qualified Domain Name of SCP

Format: <releaseName>-scp-worker.<Namespace>.<domain>

scpInfo.nfType string NA CUSTOM_ORACLE_SCP M NA
scpInfo.locality string As per 3GPP TS 29.510 spec N/A M Locality of the current SCP Instance (e.g. geographic location, data center). Same locality must be present in ServingLocalities also.
scpInfo.mediation_status string

mediation_status: ENABLED/DISABLED

DISABLED O Option to enable/disable mediation. Note once this option is enabled, all the requests will get routed towards mediation. To turn it disable state, user needs to redeploy SCP.
scpInfo.customInfo.mateScpInfo.capacity integer Min = 0, Max = 65535 500 M Static capacity information in the range of 0-65535, expressed as a weight relative to other SCP instances of the same type.
scpInfo.customInfo.mateScpInfo.priority integer

Priority: Min = 0, Max = 65535.

1 M

priority: Priority (relative to other SCPs) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority.

scpInfo.customInfo.mateScpInfo.mateSCPLocalities string

Localities: As per 3GPP TS 29.510 spec

mateSCPLocalities: - Loc10

M List of mated localities of the current SCP.
scpInfo.customInfo.servingLocalities string NA servingLocalities: Loc7, Loc8, Loc9, USEast M List of serving localities of the current SCP (apart from the locality in present in "locality" attribute)
scpInfo.customInfo.remainingLocalities string NA

remainingLocalities: Loc1, Loc2, Loc3, Loc4, Loc5, Loc6

M List of localities which will be served by current SCP but are not part of mateSCPLocalities and servingLocalities
scpInfo.customInfo.servingScope string NA servingScope: Reg1, Reg2 M

Region that SCP can support. It is optional and if left blank then it needs to be left blank in NRF Details as well. If it is not present then servingScope will be taken as "default". Hence put a need on NRF details to have servingScope set either to "default" or leave it blank servingScope from there so that "default" will be used in NRF Detail's servingScope"

scpInfo.nfInstanceId string String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 [15]. N/A M String uniquely identifying current SCP instance. The format of the Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122.
scpInfo.nfServices.serviceInstanceId string String uniquely identifying a NF service instance. The format of the NF Service Instance ID is Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 [15]. f86b54b7-aef9-4c78-b346-3bfb7f380812 O Instance ID of the SCP service.

Note:

  • nfServices are completely optional, one or all services can be removed, for removing all services, user also need to remove nfServices key as well.
  • nfServices block from ocscp_values.yaml can be removed, if user need to configure any of this services, user need to provide this configuration while deploying it through helm using custom ocscp_values.yaml file.
scpInfo.nfServices.serviceName string NA nmediation-http O Supported values for serviceName:
  • nmediation-http (Mediation service)
  • ocscp-sds (Subscriber Data Service)
scpInfo.nfServices.fqdn string fqdn: Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain. NA O FQDN of SCP domain.

For ocscp-sds FQDN: Format is ocscp-sds service: <releaseName>-scp-sds.<Namespace>.<domain>

scpInfo.nfServices.port integer port: 0 to 65535 80 O Port number of the NF service.
scpInfo.nfServices.scheme string NA http O HTTP scheme.
scpInfo.nfServices.priority integer 0 to 65535 0 O Mention the priority of the service.
scpInfo.nfServices.capacity integer 0 to 65535 100 O Mention the capacity of the service.
scpInfo.nfServices.load integer 0 to 100 0 O Mention the load of the service.
scpInfo.nfServices.nfServiceStatus string REGISTERED or SUSPENDED (TS 29.510) REGISTERED O Mention the status of the service specific to the NF.
scpInfo.nfServices.ipEndPoints.ipv4Address ipv4Address NA NA O It is the IP address of the NF.
scpInfo.nfServices.ipEndPoints.port integer NA 80 O Port of the NF
scpInfo.nfServices.apiPrefix integer Can be combination of letters from a-z and A-Z NA O API Prefix
scpInfo.nfServices.versions.apiFullVersion string NA NA O Version of API
scpInfo.nfServices.versions.apiVersionInUri string NA NA O URI of API
applicationConfig.nfType string Valid 5g NF Type as per 3GPP TS 29.510. NA O Type of NF service.
applicationConfig.serviceName string Valid 5g Service name as per 3GPP TS 29.510. NA O Service Name
applicationConfig.applicationPriority string nmediation-http

ocscp-sds

NA O Following are the values: nmediation-http

ocscp-sds

scplocalityconfig.mapping_param string LOCALITY, NFINSTANCEID, FQDN LOCALITY M

Mapping parameter(or Key to look for), will be used to query the corresponding field in NF profile received in response to NF discovery.

This configuration is used to update the Discovery response based on the match criteria (id_value) with SCP IP/Port/FQDN in NF Profile received. It is used to handle case of AMF discovery from any consumer so that consumer can send requests back to SCP and not directly to AMF after discovering it. For this functionality consumers must send AMF discovery requests to SCP.
scplocalityconfig.mapping_info.id_value string NA N/A M Used to match value against the value obtained from mapping parameter.
scplocalityconfig.mapping_info.ip_v4_address string Valid IPV4 address as per RFC 791 NA M The IP address to be used while updating ipv4Address and callback URI in NF discovery response.
scplocalityconfig.mapping_info.fqdn string Labels can be letter a-z, number 0-9, hyphen (-). Hyphen cannot be first character. Label combined with dot (.) forms domain. NA M The fqdn to be used while updating fqdn in NF discovery response.
scplocalityconfig.mapping_info.port integer 0 to 65535 NA M The port to be used while updating port in NF discovery response.
PROBING_LISTENER_PORT integer Min- 0, Max-65535 8002 M This port will be used by scp-worker listening for probing.
SIGNALLING_LISTENER_PORT integer Min- 0, Max-65535 8080 M This port will be used by scp-worker listening for signaling.
scpServiceAccount string NA NA O

Service account that SCP pods will use. User may provide SCP service account but if it is left empty (or removed), a default Service Account is created by SCP for its use.

Default is empty.

The following is the default Clusterrole used by SCP when clusterRoleBindingEnabled flag is true:

ClusterRole Rules

rules:

- apiGroups: ["config.ocscp.oracle.io"]

resources: ["*"]

verbs: ["*"]

- apiGroups: ["rbac.ocscp.oracle.io"]

resources: ["*"]

verbs: ["*"]

- apiGroups: ["networking.ocscp.oracle.io"]

resources: ["*"]

verbs: ["*"]

- apiGroups: ["authentication.ocscp.oracle.io"]

resources: ["*"]

verbs: ["*"]

- apiGroups: ["apiextensions.k8s.io"]

resources: ["customresourcedefinitions"]

verbs: ["*"]

- apiGroups: ["extensions"]

resources: ["thirdpartyresources", "thirdpartyresources.extensions", "ingresses", "ingresses/status"]

verbs: ["*"]

- apiGroups: [""]

resources: ["configmaps"]

verbs: ["create", "get", "list", "watch", "update"]

- apiGroups: [""]

resources: ["endpoints", "pods", "services", "namespaces", "nodes", "secrets"]

verbs: ["get", "list", "watch"]

The following is the default Role used by SCP when clusterRoleBindingEnabled flag is set to false:

rules:

- apiGroups:

- networking.ocscp.oracle.io

resources:

- virtualservices

- serviceentries

- gateways

- envoyfilters

- destinationrules

- sidecars

verbs: ["*"]

- apiGroups: ["config.ocscp.oracle.io"]

resources: ["*"]

verbs: ["*"]

- apiGroups: ["rbac.ocscp.oracle.io"]

resources: ["*"]

verbs: ["*"]

- apiGroups: ["authentication.ocscp.oracle.io"]

resources: ["*"]

verbs: ["*"]

- apiGroups: [""]

resources:

- pods

- services

verbs: ["*"]

- apiGroups:

- "" # "" indicates the core API group

resources:

- secrets

- endpoints

verbs:

- get

- watch

- list

clusterRoleBindingEnabled Boolean true/false true M When clusterRoleBindingEnabled flag is set to true, the pilot creates custom resources definition (CRD) and thus user must delete CRDs manually, as earlier, after deletion of scp deployment.

In case a user provides custom serviceAccount, the application has sufficient role to create CRDs in that cluster.

When clusterRoleBindingEnabled flag is set to false, CRDs are created during SCP helm deployment and deleted after deletion of SCP deployment.

When clusterRoleBindingEnabled flag is set to false, scp discovery services are restricted to its namespaces only.

nrfProfiles.nfType string Valid 5g NF Type as per 3GPP TS 29.510.

[]

i.e. Blank, which means subscribe for all supported NF Types.

M Description is nfType of NRF
nrfProfiles.servingScope string Region that NRF can support USEast O Blank value is treated as "default" region with the condition that scpInfo also configured with Blank. Partial configuration is invalid and will not be accepted. SCP auto detect its own region based on the servingLocalities. If serving localities belong to different regions then NRF will treat it as a error and will not creating reverseProxy. This field is applicable only for NRF and if provided used in grouping NFs with same ServingScope.
nrfProfiles.capacity integer 0 to 65535 10000 O Mention the capacity of the service.
nrfProfiles.locality string As per 3GPP TS 29.510 spec N/A M Locality of the current NRF Instance (e.g. geographic location, data center). Same locality must be present in ServingLocalities also.
nrfProfiles.nfInstanceId string String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 [15]. N/A M String uniquely identifying current NRF instance. The format of the Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122.
nrfProfiles.priority integer 0 to 65535 0 O Mention the priority of the service.
nrfProfiles.nfServices.serviceName string NA nmediation-http O Supported values for serviceName:
  • nmediation-http (Mediation service)
  • ocscp-sds (Subscriber Data Service)
nrfProfiles.nfServices.fqdn string fqdn: Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain. NA O FQDN of SCP domain.
nrfProfiles.nfServices.port integer port: 0 to 65535

apiPrefix: Can be combination of letters from a-z and A-Z

80 O Port number of the NF service.
nrfProfiles.nfServices.scheme string NA http O HTTP scheme.
nrfProfiles.nfServices.priority integer 0 to 65535 0 O Mention the priority of the service.
nrfProfiles.nfServices.capacity integer 0 to 65535 100 O Mention the capacity of the service.
nrfProfiles.nfServices.load integer 0 to 100 0 O Mention the load of the service.
nrfProfiles.nfServices.nfServiceStatus string REGISTERED or SUSPENDED (TS 29.510) REGISTERED O Mention the status of the service specific to the NF.
nrfProfiles.nfServices.ipEndPoints.ipv4Address ipv4Address NA NA O It is the IP address of the NF.
nrfProfiles.nfServices.ipEndPoints.port integer NA 80 O Port of the NF
nrfProfiles.nfServices.apiPrefix integer Can be combination of letters from a-z and A-Z NA O API Prefix
nrfProfiles.nfServices.versions.apiFullVersion string NA NA O API version
nrfProfiles.nfServices.versions.apiVersionInUri string NA NA O API version in URI
nrfProfiles.nfServices.serviceInstanceId string String uniquely identifying a NF service instance. The format of the NF Service Instance ID is Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 [15]. f86b54b7-aef9-4c78-b346-3bfb7f380812 O Instance ID of the SCP service.

Note:

  • nfServices are completely optional, one or all services can be removed, for removing all services, user also need to remove nfServices key as well.
  • nfServices block from values.yaml can be removed, if user need to configure any of this services, user need to provide this configuration while deploying it through helm using custom ocscp_values.yaml file.
scpSoothsayerConfig.systemOptions.trafficPolicy.connectionPool.tcp.tcpKeepalive.probes integer

Maximum number of keepalive probes to send without response before deciding the connection is dead.

9 O NA
scpSoothsayerConfig.systemOptions.trafficPolicy.connectionPool.tcp.tcpKeepalive.time integer The time duration that a connection must be idle before keep-alive probes start being sent. 180s O NA
scpSoothsayerConfig.systemOptions.trafficPolicy.connectionPool.tcp.tcpKeepalive.interval integer

The time duration between keep-alive probes.

60s O NA
scpSoothsayerConfig.systemOptions.trafficPolicy.connectionPool.tcp.connectTimeout integer NA 250ms O TCP keep alive settings for upstream connections.
scpSoothsayerConfig.systemOptions.trafficPolicy.connectionPool.http.idleTimeout integer NA 3600s O HTTP Idle timeout for upstream connections. TCP keep alive settings for upstream connections. All 3 (probe, time and interval) are required if tcpkeepalive is enabled. Following the scenarios while using these parameters:
  1. Only HTTP IdleTimeout is configured. idleTimeout must be set to a value less than kube-proxy timeout value so that before kube-proxy silently discards connection, connection gets terminated gracefully by HTTP.
  2. Only TCP keepalive is configured. TCP keepalive must be set to a value less than kube-proxy timeout value so that before kube-proxy silently discards connection, connection gets terminated by TCP RESET if no ACK is received within the defined interval.
  3. Both TCP keepalive and HTTP idleTimeout are configured. In this case idleTimeout can be more than kube-proxy timeout but TCP keepalive must be less than kube-proxy timeout. TCP keepalive keeps refreshing the connection at kube-proxy and if no HTTP request is received within the idleTimeout period, connection will get gracefully terminated by HTTP.
scpSoothsayerConfig.reverseProxyEnabled boolean true/false true M If enabled then for all the NFs which support reverseProxy, Reverse proxy (reverseProxySupport = true) will get enabled by default. In case user wants to turn it off after deployment, then use the APIs provided to reconfigure reverseProxySupport option.
scpSoothsayerConfig.nrfServiceForAudit string nnrf-nfm/nnrf-disc nnrf-nfm O Configure NRF service type Service to get profiles from NRF.

Possible values are:

  • nnrf-nfm
  • nnrf-disc

User needs to configure one of the above which will be used by Audit to query to NRF for fetching the profiles.

SCP Soothsayer Configuration Parameter

This configuration is specific to soothsayer configuration microservice.

Table 3-2 scpc-configuration

Attribute Name DataType Range Dafault Value M/O/C Description
scpc-configuration.imageDetails.image string

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

scpc-configuration M

Image Tag to be used for Configuration container

scpc-configuration.imageDetails.tag string

Tag: valid ASCII that may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters

NA M Tag name of SCP Configuration image
scpc-configuration.imageDetails.pullPolicy string Always, IfNotPresent, Never Always M This setting indicates if image need to be pulled or not
scpc-configuration.resources.requests.memory integer NA 4Gi M

Requested memory (RAM) for configuration micro-service in Giga Bytes.

scpc-configuration.resources.requests.cpu integer NA 3 M Max allocated vCPU for configuration micro-service
scpc-configuration.resources.limits.memory integer NA 4Gi M Max limit of memory for configuration micro-service.
scpc-configuration.resources.limits.cpu integer NA 3 M Max limit of cpu for configuration micro-service.
scpc-configuration.log.level string {TRACE, DEBUG, INFO, WARN, ERROR} INFO O Enable desired level of logging for the service.
scpc-configuration.defaultTopologySource string (NRF,LOCAL) NRF O Used to set Topology Source globally (For all NFs).
scpc-configuration.initializationFailTimeout integer NA 160000 O initializationFailTimeout in ms - Maximum lifetime in milliseconds of a connection in the pool after it is closed.
scpc-configuration.idleTimeout integer NA 10000 O idleTimeout in ms - Maximum idle time for connection
scpc-configuration.minimumIdle integer NA 1 O Minimum number of idle connections maintained by HikariCP in a connection pool
scpc-configuration.connectionTimeout integer NA 20000 O connectionTimeout in ms - Maximum number of milliseconds that a client will wait for a connection
scpc-configuration.maxPoolSize integer NA 10 O Maximum pool size Hikari CP can create
scpc-configuration.maxLifetime integer NA 240 O Maximum lifetime in ms of a connection in the pool after it is closed.
scpc-configuration.service.type string ClusterIP, LoadBalancer, NodePort LoadBalancer O When this value is enabled, it overrides the default derivation of Service Type.
scpc-configuration.service.publicConfigIPSpecified boolean true/false false O Option to enable/disable Loadbalancer IP configuration statically for OAM interface.
scpc-configuration.service.publicConfigIP <IPv4 Address> Valid IPV4 address as per RFC 791 NA C Option to configure static Loadbalancer IP. Configured value will be used only if oamloadbalanceripenabled is configured as "true"
scpc-configuration.service.staticnodeportenabled boolean true/false false O Option to enable/disable configuring static Node Port for OAM interface.
scpc-configuration.service.nodeport integer 30000 to 32767 31612 C Option to configure static Node Port for OAM interface. Configured value will be used only if staticnodeportenabled is configured as "true"
scpc-configuration.service.configServiceNetworkNameEnabled boolean true/false false O Option to enable/disable metalLB IP allocation dynamically from the pool for OAM interface.
scpc-configuration.service.configServiceNetworkName string NA metallb.universe.tf/address-pool: oam C metalLB network name
scpc-configuration.service.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-configuration.service.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-configuration.deployment.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-configuration.deployment.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-configuration.nodeSelector.nodeKey string nodeSelector: Use this configuration to apply nodeSelector to Configuration service pods

nodeKey: Key of the node label

ocscp O Enable node selector for Configuration Service pods
scpc-configuration.nodeSelector.nodeValue string

nodeValue: Value of the node label

scpc-configuration O Value of the node label

SCP Soothsayer Subscription Parameter

This configuration is specific to soothsayer subscription microservice.

Table 3-3 scpc-subscription

Attribute Name Data Type Range Default Value M/O/C Description
scpc-subscription.imageDetails.image string

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

soothsayer-subscription M NA
scpc-subscription.imageDetails.tag string Tag: valid ASCII that may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters. 1.7.3 M Image Tag to be used for Configuration container.
scpc-subscription.imageDetails.pullPolicy string Always, IfNotPresent, Never Always M NA
scpc-subscription.resources.requests.memory integer NA 1Gi M

Requested memory (RAM) for configuration micro-service in Giga Bytes.

scpc-subscription.resources.requests.cpu integer NA 0.5 M Max allocated vCPU for configuration micro-service
scpc-subscription.resources.limits.memory integer NA 1Gi M Max limit of memory for configuration micro-service.
scpc-subscription.resources.limits.cpu integer NA 0.5 M Max limit of cpu for configuration micro-service.
scpc-subscription.guardTime integer Min: 5 Max: 180 (in seconds) 10 O Configure guardTime in seconds. This is the advance time before validityTimerExpi ry at which subscription is initiated.
scpc-subscription.subscriptionValidityPeriod integer Min: 1 Max: 168 (in hours) 168 O Parameter used to set the period after which a subscription gets expired. NRF may or may not accept honor this. Defaulted to 7 days i.e. 168 hours
scpc-subscription.log.level string {TRACE, DEBUG, INFO, WARN, ERROR} INFO O Enable desired level of logging for the service.
scpc-subscription.scpToRegisterWithNrfRegions string Valid Regions to be registered with or empty for no registration [] M Set scpToRegisterW ithNrfRegions with regions, to register the high priority NRFs in specified regions. Example - scpToRegisterW ithNrfRegions: ["reg1,reg2"] Or can be set in below format.

Example - scpToRegisterW ithNrfRegions: - reg1 - reg2

scpc-subscription.initializationFailTimeout integer NA 160000 O initializationFailTimeout in ms - Maximum lifetime in milliseconds of a connection in the pool after it is closed.
scpc-subscription.idleTimeout integer NA 10000 O idleTimeout in ms - Maximum idle time for connection
scpc-subscription.minimumIdle integer NA 1 O Minimum number of idle connections maintained by HikariCP in a connection pool
scpc-subscription.connectionTimeout integer NA 20000 O connectionTimeout in ms - Maximum number of milliseconds that a client will wait for a connection
scpc-subscription.maxPoolSize integer NA 10 O Maximum pool size Hikari CP can create
scpc-subscription.maxLifetime integer NA 240 O Maximum lifetime in ms of a connection in the pool after it is closed.
scpc-subscription.service.type string ClusterIP, LoadBalancer, NodePort ClusterIP O When this value is enabled, it overrides the default derivation of Service Type.
scpc-subscription.service.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-subscription.service.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-subscription.deployment.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-subscription.deployment.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-subscription.nodeSelector.nodeKey string nodeSelector: Use this configuration to apply nodeSelector to Configuration service pods

nodeKey: Key of the node label

ocscp O Enable node selector for Configuration Service pods
scpc-subscription.nodeSelector.nodeValue string

nodeValue: Value of the node label

scpc-subscription O Value of the node label

SCP Soothsayer Notification Parameter

This configuration is specific to soothsayer notification microservice.

Table 3-4 scpc-notification

Attribute Name DataType Range Default Value M/O/C Description
scpc-notification.imageDetails.image string

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

soothsayer-notification M Image name of SCP notification.
scpc-notification.imageDetails.tag string

Tag: valid ASCII that may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters

1.7.3 M

Image Tag to be used for Configuration container

scpc-notification.imageDetails.pullPolicy string Always, IfNotPresent, Never Always M  
scpc-notification.resources.requests.memory integer NA 4Gi M

Requested memory (RAM) for configuration micro-service in Giga Bytes.

scpc-notification.resources.requests.cpu integer NA 3 M Max allocated vCPU for configuration micro-service
scpc-notification.resources.limits.memory integer NA 4Gi M Max limit of memory for configuration micro-service.
scpc-notification.resources.limits.cpu integer NA 3 M Max limit of cpu for configuration micro-service.
scpc-notification.log.level string {TRACE, DEBUG, INFO, WARN, ERROR} INFO O Enable desired level of logging for the service.
scpc-notification.defaultLocalityToScp boolean true/false true O If set to true then registration notification for NF coming to SCP with no locality present will get considered in SCP's locality and that NF will get treated as within serving locality.
scpc-notification.initializationFailTimeout integer NA 160000 O initializationFailTimeout in ms - Maximum lifetime in milliseconds of a connection in the pool after it is closed.
scpc-notification.idleTimeout integer NA 10000 O idleTimeout in ms - Maximum idle time for connection
scpc-notification.minimumIdle integer NA 1 O Minimum number of idle connections maintained by HikariCP in a connection pool
scpc-notification.connectionTimeout integer NA 20000 O connectionTimeout in ms - Maximum number of milliseconds that a client will wait for a connection
scpc-notification.maxPoolSize integer NA 10 O Maximum pool size Hikari CP can create
scpc-notification.maxLifetime integer NA 240 O Maximum lifetime in ms of a connection in the pool after it is closed.
scpc-notification.mergeNFServices.status boolean true/false false M Option to enable/disable merge NFServices within a NF Profile.
scpc-notification.mergeNFServices.supportedNFServices List of strings. (example in description) Valid 5g NF Services as per 3GPP TS 29.510. []i.e. Blank, which means consider all supported NF Services. If not provided, all supported NF Services will be considered nudm-uecm, nudm-sdm C

List of NFService's for which merge nf services within a NF Profile will be triggered.

Format Example:

supportedNFServices:

- nudm-uecm

- nudm-sdm

Note: This list will be considered only if above status flag is enabled.

scpc-notification.service.type string ClusterIP, LoadBalancer, NodePort ClusterIP O When this value is enabled, it overrides the default derivation of Service Type.
scpc-notification.service.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-notification.service.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-notification.deployment.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-notification.deployment.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-notification.nodeSelector.nodeKey string nodeSelector: Use this configuration to apply nodeSelector to Configuration service pods

nodeKey: Key of the node label

ocscp O Enable node selector for Configuration Service pods
scpc-notification.nodeSelector.nodeValue string

nodeValue: Value of the node label

scpc-notification O Value of the node label

SCP Soothsayer Audit Parameter

This configuration is specific to soothsayer audit microservice.

Table 3-5 scpc-audit

Attribute Name DataType Range Default Value M/O/C Description
scpc-audit.imageDetails.image string

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

soothsayer-audit M Image name of the SCP audit.
scpc-audit.imageDetails.tag string

Tag: valid ASCII that may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters

1.7.3 M

Image Tag to be used for Configuration container

scpc-audit.imageDetails.pullPolicy string Always, IfNotPresent, Never Always M  
scpc-audit.resources.requests.memory integer NA 4Gi M

Requested memory (RAM) for configuration micro-service in Giga Bytes.

scpc-audit.resources.requests.cpu integer NA 3 M Max allocated vCPU for configuration micro-service
scpc-audit.resources.limits.memory integer NA 4Gi M Max limit of memory for configuration micro-service.
scpc-audit.resources.limits.cpu integer NA 3 M Max limit of cpu for configuration micro-service.
scpc-audit.auditInterval integer Min: 1 Max: 2147483647 120 M Time interval in seconds that user want to configure
scpc-audit.auditInitialRetryInterval integer Min: 1 Max: 2147483647 2 M Retry interval in seconds for which audit keeps on retrying until successful response from NRF.
scpc-audit.log.level string {TRACE, DEBUG, INFO, WARN, ERROR} INFO O Enable desired level of logging for the service.
scpc-audit.initializationFailTimeout integer NA 160000 O initializationFailTimeout in ms - Maximum lifetime in milliseconds of a connection in the pool after it is closed.
scpc-audit.idleTimeout integer NA 10000 O idleTimeout in ms - Maximum idle time for connection
scpc-audit.minimumIdle integer NA 1 O Minimum number of idle connections maintained by HikariCP in a connection pool
scpc-audit.connectionTimeout integer NA 20000 O connectionTimeout in ms - Maximum number of milliseconds that a client will wait for a connection
scpc-audit.maxPoolSize integer NA 10 O Maximum pool size Hikari CP can create
scpc-audit.maxLifetime integer NA 240 O Maximum lifetime in ms of a connection in the pool after it is closed.
scpc-audit.service.type string ClusterIP, LoadBalancer, NodePort ClusterIP O When this value is enabled, it overrides the default derivation of Service Type.
scpc-audit.service.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-audit.service.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-audit.deployment.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-audit.deployment.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-audit.nodeSelector.nodeKey string nodeSelector: Use this configuration to apply nodeSelector to Configuration service pods

nodeKey: Key of the node label

ocscp O Enable node selector for Configuration Service pods
scpc-audit.nodeSelector.nodeValue string

nodeValue: Value of the node label

scpc-audit O Value of the node label

SCP Worker Parameter

This configuration is specific to SCP worker.

Table 3-6 scp-worker

Attribute Name DataType Range Default Value M/O/C Description
scp-worker.imageDetails.image string

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

scp-worker M Image name of SCP worker.
scp-worker.imageDetails.tag string

Tag: valid ASCII that may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters

1.7.3 M Image Tag to be used for scp worker container.
scp-worker.imageDetails.pullPolicy string Always, IfNotPresent, Never Always M  
scp-worker.resources.requests.memory integer NA 8Gi M

Requested memory (RAM) for configuration micro-service in Giga Bytes.

scp-worker.resources.requests.cpu integer NA 4 M Max allocated vCPU for configuration micro-service
scp-worker.resources.limits.memory integer NA 8Gi M Max limit of memory for configuration micro-service.
scp-worker.resources.limits.cpu integer NA 4Gi M Max limit of cpu for configuration micro-service.
scp-worker.jaeger.address fqdn Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain N/A M Option to Configure Jaeger Collector FQDN
scp-worker.jaeger.port_value integer

Min: 0

Max: 65535

N/A M Option to Configure Jaeger Collector Port
scp-worker.tracingenable boolean true/false true O Option to enable/disable Jaeger tracing.
scp-worker.admin.enablejaegerbody boolean true/false false O Option to enable/disable tracing for full body of all Request/Response messages. The configuration will be added only if tracingenable is configured as "true".
scp-worker.admin.retrytimeoutvalue integer

min: 1

max: 3600

5 O

Option to configure time to wait (in seconds) before making new requests to the a upstream cluster after receiving 503 or 429 response code.

This value will only be used if 'retry-after' header is not present in response.

scp-worker.log.level string trace/debug/info/warning warning O Enable desired level of logging for the service.
scp-worker.log.format string NA '{"messagetimestamp": "%Y-%m-%d %T.%e%z", "threadid": "%t", "severity": "%l", "logger_name": "%n", "messagebody": "%v", "procid": "%P"}' O Option to specify log format for worker
scp-worker.service.type string ClusterIP, LoadBalancer, NodePort ClusterIP O When this value is enabled, it overrides the default derivation of Service Type.
scp-worker.service.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scp-worker.service.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scp-worker.deployment.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scp-worker.deployment.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
Note: Following is the mandatory annotations if deploying SCP in Aspen Service Mesh:
sidecar.istio.io/inject: "\"true\""

If integrating with OSO 1.6 monitoring services in Aspen SM, use following annotations: traffic.sidecar.istio.io/excludeInboundPorts: "8001"

scp-worker.nodeSelector.nodeKey string nodeSelector: Use this configuration to apply nodeSelector to Configuration service pods

nodeKey: Key of the node label

ocscp O Enable node selector for Configuration Service pods
scp-worker.nodeSelector.nodeValue string

nodeValue: Value of the node label

scp-worker O Value of the node label
scp-worker.ignoreSdsDbError boolean true/false false O Flag to decide to ignore DB errors reported from SDS App. If set to true any DB error reported by SDS app will be ignored.
scp-worker.prometheus boolean true/false true O Option to enable/disable Prometheus metrics scraping.
scp-worker.minreplicas integer NA 2 M Minimum replica count of scp-worker micro-service.
scp-worker.maxreplicas integer Min: 2 Max: 32 32 M Maximum replica count of scp-worker micro-service.
scp-worker.refresh_interval.seconds integer NA N/A O Refresh Interval (250 milliseconds) to check memory Overload condition
scp-worker.refresh_interval.nanos integer NA N/A O  
scp-worker.resource_monitors.max_heap_size_bytes integer NA N/A O Maximum configured heap size for scp-worker micro-service (4GB)
scp-worker.actions. stop_accepting_requests %age in decimal value Min: 0 Max: 1 0.70 O Option to configure threshold percentage at which SCP will stop accepting new requests.
scp-worker.actions. stop_accepting_connections %age in decimal value Min: 0 Max: 1 0.75 O Option to configure threshold percentage at which SCP will stop accepting new connections. This percentage should be always greater than the percentage configured for stop_accepting_requests
scp-worker.actions.shrink_heap %age in decimal value Min: 0 Max: 1 0.70 O Option to configure threshold percentage at which SCP will start freeing unused memory blocks. This percentage should be always minimum of threshold configured for stop_accepting_requests and stop_accepting_connections
scp-worker.downstream.idleTimeout integer NA 3600 (in seconds) O

The idle timeout is defined as the period in which there are no active requests. When the idle timeout is reached the connection is closed. Refer to the scenarios/recommendations mentioned in systemOptions under scpc-soothsayer for more details.

Note: The request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.

scp-worker.downstream.tcpKeepalive.probes integer NA 9 # linux default tcpKeepalive- O

tcpKeepalive.probes- M. if tcpKeepalive is set.

Set tcpKeepalive attribute to enable TCP Keepalives.

tcpKeepalive.probes - Maximum number of keepalive probes to send without response before deciding the connection is dead

scp-worker.downstream.tcpKeepalive.time integer NA 180 (in seconds) M. if tcpKeepalive is set. The time duration that a connection must be idle before keep-alive probes start being sent.
scp-worker.downstream.tcpKeepalive.interval integer NA 60 (in seconds) M. if tcpKeepalive is set. The time duration between keep-alive probes.

SCP Pilot Parameter

This configuration is specific to SCP pilot.

Table 3-7 scpc-pilot

Attribute Name DataType Range Default Value M/O/C Description
scpc-pilot.imageDetail.image string image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator N/A M docker repository that contains scpc-pilot micro service image
scpc-pilot.imageDetail.tag string Tag: valid ASCII that may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters N/A M Image Tag to be used for scpc-pilot micro service
scpc-pilot.imageDetails.pullPolicy string Always, IfNotPresent, Never Always M  
scpc-pilot.enableTracing boolean true/false True O Option to enable/disable tracing request.
scpc-pilot.minreplicas integer NA 1 M Minimum replica count of scp-pilot micro-service.
scpc-pilot.maxreplicas integer Min: 1 Max: 4 4 M Maximum replica count of scp-pilot micro-service.
scpc-pilot.nodeSelector.nodeKey string NA N/A O Use this configuration to apply nodeSelector to Configuration service pods nodeKey: Key of the node label
scpc-pilot.nodeSelector.nodeValue string NA NA O Value of the node label
scpc-pilot.resources.requests.memory integer NA 6Gi M

Requested memory (RAM) for configuration micro-service in Giga Bytes.

scpc-pilot.resources.requests.cpu integer NA 4 M Max allocated vCPU for configuration micro-service
scpc-pilot.resources.limits.memory integer NA 6Gi M Max limit of memory for configuration micro-service.
scpc-pilot.resources.limits.cpu integer NA 4 M Max limit of cpu for configuration micro-service.
scpc-pilot.log.logOutputLevel
"<Module:level>,<Module:level>,...." 
				
Supported Modules: ads, default, mcp, model, rbac

Supported Level: debug, info, warn, error, fatal, none

"default:info" O Option to increase/decrease scpc-pilot log level.
scpc-pilot.log.logStacktraceLevel
"<Module:level>,<Module:level>,...." 
				
Supported Modules: ads, default, mcp, model, rbac

Supported Level: debug, info, warn, error, fatal, none

"default:none" O Option to increase/decrease scpc-pilot Stack Trace level.
scpc-pilot.traceSampling integer 0.0 to 100.0 with a precision of 0.01 1 O

Option to set the sampling rate for Jaeger traces (e.g 1 means 1% of traffic passing through scp-w will get traced.)

If traceSampling is omitted, it will be taken as 1.

scpc-pilot.service.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-pilot.service.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scpc-pilot.deployment.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scpc-pilot.deployment.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type

SDS Database Parameter

This configuration is specific to SCP SDS database.

Table 3-8 scp-pilot

Attribute Name DataType Range Default Value M/O/C Description
scp-sds.imageDetail.image string image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator N/A M docker repository that contains scp-sds micro service image
scp-sds.imageDetail.tag string Tag: valid ASCII that may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters N/A M Image Tag to be used for scp-sds micro service
scp-sds.imageDetails.pullPolicy string Always, IfNotPresent, Never Always M  
scp-sds.initializationFailTimeout integer NA 160000 O initializationFailTimeout in ms - Maximum lifetime in milliseconds of a connection in the pool after it is closed.
scp-sds.idleTimeout integer NA 10000 O idleTimeout in ms - Maximum idle time for connection
scp-sds.minimumIdle integer NA 1 O Minimum number of idle connections maintained by HikariCP in a connection pool
scp-sds.connectionTimeout integer NA 20000 O connectionTimeout in ms - Maximum number of milliseconds that a client will wait for a connection
scp-sds.maxPoolSize integer NA 10 O Maximum pool size Hikari CP can create
scp-sds.maxLifetime integer NA 240 O Maximum lifetime in ms of a connection in the pool after it is closed.
scp-sds.minreplicas integer NA 2 M Minimum replica count of scp-sds micro-service.
scp-sds.maxreplicas integer Min: 2 Max: 32 32 M Maximum replica count of scp-sds micro-service.
scp-sds.nodeSelector.nodeKey string NA N/A O Use this configuration to apply nodeSelector to Configuration service pods nodeKey: Key of the node label
scp-sds.nodeSelector.nodeValue string NA NA O Value of the node label
scp-sds.resources.requests.memory integer NA 2Gi M

Requested memory (RAM) for configuration micro-service in Giga Bytes.

scp-sds.resources.requests.cpu integer NA 4 M Max allocated vCPU for configuration micro-service
scp-sds.resources.limits.memory integer NA 2Gi M Max limit of memory for configuration micro-service.
scp-sds.resources.limits.cpu integer NA 4 M Max limit of cpu for configuration micro-service.
scp-sds.log.level string TRACE/DEBUG/INFO/WARN INFO O Option to increase/decrease scp-sds log level.
scp-sds.service.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scp-sds.service.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type
scp-sds.deployment.customExtension.labels
<string_label_1_key>: <string_label_1_value>
    <string_label_2_key>: <string_label_2_value>
K8s label object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific labels applicable to "Service" Resource Type
scp-sds.deployment.customExtension.annotations
<string_annotation_1_key>: <string_annotation_1_value>
    <string_annotation_2_key>: <string_annotation_2_value>
K8s annotations object syntax
customExtension:
  labels: {}
  annotations: {}
O Optional field to configure service specific annotations applicable to "Service" Resource Type

Note:

By default, the sampling rate of jaeger tracing is 1%. If the user wants to increase it then use the below tag at same level as 'resources' under 'scpc-pilot' section. traceSampling: <% user wants sampling rate to be> Example: traceSampling: 10

Logging level

The description of each logging level is as mentioned below:

Table 3-9 Logging level

Logging Level Description
ALL All levels including custom levels.
DEBUG Designates fine-grained informational events that are most useful to debug an application.
INFO Designates informational messages that highlight the progress of the application at coarse-grained level.
WARN Designates potentially harmful situations.
ERROR Designates error events that might still allow the application to continue running.
FATAL Designates very severe error events that will presumably lead the application to abort.
OFF The highest possible rank and is intended to turn off logging.
TRACE Designates finer-grained informational events than the DEBUG.