5 Customizing Provisioning Gateway
In this section, you will learn to customize Provisioning Gateway deployment. You can customize it by overriding the default values of various configurable parameters.
# Copyright 2019 (C), Oracle and/or its affiliates. All rights reserved.
global:
dockerRegistry: ocudr-registry.us.oracle.com:5000
# Configure customer created service accounts
serviceAccountName:
# Configuration to enable UDR egress traffic through EGW
egress:
port: 8080
enabled: "true"
# port on which UDR's API-Gateway service is exposed
# If httpsEnabled is false, this Port would be HTTP/2.0 Port (unsecured)
# If httpsEnabled is true, this Port would be HTTPS/2.0 Port (secured SSL)
ingressGatewayHttpSignalingPort: 80
ingressGatewayHttpsSignalingPort: 443
#*********************************************************************
# ****************** UDR/SLF Configurations **************************
# *Please provde the SLF/UDR FQDNs persegment.
# *If you have only one segment, make sure you have the auditor_service.enable is set to false
# *Allowed values: FQDNs, IP:Port, FQDN:Port
#*********************************************************************
udr:
httpsEnabled: false
segDetails:
- name: SEG-1
fqdnValues: udr1-ingressgateway.udr1,udr2-ingressgateway.udr2
preferred: udr1-ingressgateway.udr1
- name: SEG-2
fqdnValues: udr3-ingressgateway.udr3,10.10.x.y:8081
preferred: udr3-ingressgateway.udr3
retryCount: 2
connectTimeout: 10000
connectionProbeTimer: 15000
#**************************************************************************
# ******** Sub-Section Start: Custom Extension Global Parameters ********
#**************************************************************************
customExtension:
allResources:
labels: {}
annotations: {}
lbServices:
labels: {}
annotations: {}
lbDeployments:
labels: {}
annotations: {}
nonlbServices:
labels: {}
annotations: {}
nonlbDeployments:
labels: {}
annotations: {}
# ******** Sub-Section End: Custiom Extensions Global Parameters ********
#**************************************************************************
# ******** Sub-Section Start: Prefix/Suffix Global Parameters ************
#**************************************************************************
k8sResource:
container:
prefix:
suffix:
# ******** Sub-Section End: Prefix/Suffix Global Parameters *************
#**************************************************************************
# provgw-service microservice configurations
provgw-service:
image:
name: provgw/provgw_service
tag: 1.8.0
pullPolicy: Always
service:
type: ClusterIP
port:
https: 5002
http: 5001
management: 9000
customExtension:
labels: {}
annotations: {}
deployment:
replicaCount: 2
customExtension:
labels: {}
annotations: {}
logging:
level:
root: "WARN"
resources:
limits:
cpu: 3
memory: 3Gi
requests:
cpu: 3
memory: 3Gi
target:
averageCpuUtil: 80
server:
redirect:
http: false
http2enabled: true
#Application Specific configuration
config:
#retryErrorCodes : Transient error codes on which provgw will retry the SLF requests
retryErrorCodes: 500,503
#retryCount: number of retries
retryCount: 2
#retryPeriod: time interval between each retry
retryPeriod: 2
minReplicas: 2
maxReplicas: 4
# provgw-service microservice configurations
auditor-service:
enabled: false
image:
name: provgw/auditor_service
tag: 1.8.0
pullPolicy: Always
service:
type: ClusterIP
port:
management: 9000
customExtension:
labels: {}
annotations: {}
deployment:
replicaCount: 1
customExtension:
labels: {}
annotations: {}
logging:
level:
root: "INFO"
resources:
limits:
cpu: 2
memory: 2Gi
requests:
cpu: 2
memory: 2Gi
target:
averageCpuUtil: 80
server:
redirect:
http: false
http2enabled: true
#Application Specific configuration
#This is mandatory for auditor application, Please provide the range of subscribers to audit.
#The key must be either msisdn or imsi
key:
type: msisdn
range: 1003000000-1003000200
config:
#Frequency between each audit
auditFrequency: 15000
#Throttle rate for SLF audit
throttleRate: 100
minReplicas: 1
maxReplicas: 1
prov-ingressgateway:
global:
# Docker registry name
# Specify type of service - Possible values are :- ClusterIP, NodePort, LoadBalancer and ExternalName
type: LoadBalancer
# Enable or disable IP Address allocation from Metallb Pool
metalLbIpAllocationEnabled: true
# Address Pool Annotation for Metallb
metalLbIpAllocationAnnotation: "metallb.universe.tf/address-pool: signaling"
# If Static node port needs to be set, then set staticNodePortEnabled flag to true and provide value for staticNodePort
# # Else random node port will be assigned by K8
staticNodePortEnabled: false
# In case of ASPEN Service Mesh enabled, to support clear text traffic from outside of the cluster below flag needs to be true.
istioIngressTlsSupport:
ingressGateway: false
image:
# image name
name: provgw/ocingress_gateway
# tag name of image
tag: 1.8.1
# Pull Policy - Possible Values are:- Always, IfNotPresent, Never
pullPolicy: Always
initContainersImage:
# inint Containers image name
name: provgw/configurationinit
# tag name of init Container image
tag: 1.4.0
# Pull Policy - Possible Values are:- Always, IfNotPresent, Never
pullPolicy: Always
updateContainersImage:
# update Containers image name
name: provgw/configurationupdate
# tag name of update Container image
tag: 1.4.0
# Pull Policy - Possible Values are:- Always, IfNotPresent, Never
pullPolicy: Always
deployment:
customExtension:
labels: {}
annotations: {}
service:
ssl:
tlsVersion: TLSv1.2
customExtension:
labels: {}
annotations: {}
privateKey:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
rsa:
fileName: rsa_private_key_pkcs1.pem
ecdsa:
fileName: ecdsa_private_key_pkcs8.pem
certificate:
k8SecretName: provgw-apigateway-secret
k8NameSpace: rovgw1
rsa:
fileName: apigatewayrsa.cer
ecdsa:
fileName: apigatewayecdsa.cer
caBundle:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
fileName: caroot.cer
keyStorePassword:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
fileName: key.txt
trustStorePassword:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
fileName: trust.txt
initialAlgorithm: RSA256
# Resource details
resources:
limits:
cpu: 3
memory: 4Gi
initServiceCpu: 1
initServiceMemory: 1Gi
updateServiceCpu: 1
updateServiceMemory: 1Gi
requests:
cpu: 3
memory: 4Gi
initServiceCpu: 1
initServiceMemory: 1Gi
updateServiceCpu: 1
updateServiceMemory: 1Gi
target:
averageCpuUtil: 80
log:
level:
root: WARN
ingress: INFO
oauth: INFO
# enable jaeger tracing
jaegerTracingEnabled: false
openTracing :
jaeger:
udpSender:
# udpsender host
host: "occne-tracer-jaeger-agent.occne-infra"
# udpsender port
port: 6831
probabilisticSampler: 0.5
# Number of Pods must always be available, even during a disruption.
minAvailable: 2
# Min replicas to scale to maintain an average CPU utilization
minReplicas: 2
# Max replicas to scale to maintain an average CPU utilization
maxReplicas: 5
# label to override name of api-gateway micro-service name
#fullnameOverride: provgw-endpoint
# To Initialize SSL related infrastructure in init/update container
initssl: false
# Cipher suites to be enabled on server side
ciphersuites:
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_AES_256_CCM
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
#OAUTH CONFIGURATION
oauthValidatorEnabled: false
nfType: SMF
nfInstanceId: 6faf1bbc-6e4a-4454-a507-a14ef8e1bc11
producerScope: nsmf-pdusession,nsmf-event-exposure
allowedClockSkewSeconds: 0
nrfPublicKeyKubeSecret: nrfpublickeysecret
nrfPublicKeyKubeNamespace: ingress
validationType: strict
producerPlmnMNC: 123
producerPlmnMCC: 346
#Server Configuration for http and https support
#Server side http support
enableIncomingHttp: true
#Server side https support
enableIncomingHttps: false
#Client side https support
enableOutgoingHttps: false
maxRequestsQueuedPerDestination: 5000
maxConnectionsPerIp: 10
#The connectio TImeout must be greater than the requestTImeout
connectionTimeout: 25000 #(ms)
#The requestTImeout value must be greater than or equals to the the product of config.retryPeriod and config.retryCount plus 5
requestTimeout: 21000 #(ms)
#Service Mesh (Istio) to take care of load-balancing
serviceMeshCheck: false
# configuring routes
routesConfig:
- id: traffic_mapping_rest_group_prov
uri: http://{{ .Release.Name }}-provgw-service:5001
path: /**
order: 1
prov-egressgateway:
#fullnameOverride : 'provgw-egress-gateway'
nfType: ProvGw
#global:
# dockerRegistry: udr-pv2-bastion-1:5000/ocudr
deploymentEgressGateway:
image: provgw/ocegress_gateway
imageTag: 1.8.1
pullPolicy: Always
initContainersImage:
# inint Containers image name
name: configurationinit
# tag name of init Container image
tag: 1.4.0
# Pull Policy - Possible Values are:- Always, IfNotPresent, Never
pullPolicy: Always
updateContainersImage:
# update Containers image name
name: configurationupdate
# tag name of update Container image
tag: 1.4.0
# Pull Policy - Possible Values are:- Always, IfNotPresent, Never
pullPolicy: Always
# enable jagger tracing
jaegerTracingEnabled: false
deployment:
customExtension:
labels: {}
annotations: {}
openTracing :
jaeger:
udpSender:
# udpsender host
host: "jaeger-agent.cne-infra"
# udpsender port
port: 6831
probabilisticSampler: 0.5
# ---- Oauth Configuration - BEGIN ----
oauthClient:
enabled: false
dnsSrvEnabled: false
httpsEnabled: false
virtualFqdn: localhost:port
staticNrfList:
- localhost:port
nfType: UDR
nfInstanceId: 5a7bd676-ceeb-44bb-95e0-f6a55a328b03
consumerPlmnMNC: 14
consumerPlmnMCC: 310
maxRetry: 2
apiPrefix: ""
errorCodeSeries: 4XX
retryAfter: 5000
# ---- Oauth Configuration - END ----
#jetty client configuration
maxConcurrentPushedStreams: 1000
maxRequestsQueuedPerDestination: 1024
#maxConnectionsPerDestination: 4
maxConnectionsPerIp: 4
connectionTimeout: 10000 #(ms)
requestTimeout: 1000 #(ms)
jettyIdleTimeout: 0 #(ms,<=0 -> to make timeout infinite)
minReplicas: 2
maxReplicas: 2
minAvailable: 5
# ---- HTTPS Configuration - BEGIN ----
initssl: false
enableOutgoingHttps: false
service:
type: ClusterIP
customExtension:
labels: {}
annotations: {}
ssl:
tlsVersion: TLSv1.2
initialAlgorithm: RSA256
privateKey:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
rsa:
fileName: rsa_private_key_pkcs1.pem
ecdsa:
fileName: ecdsa_private_key_pkcs8.pem
certificate:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
rsa:
fileName: apigatewayrsa.cer
ecdsa:
fileName: apigatewayecdsa.cer
caBundle:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
fileName: caroot.cer
keyStorePassword:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
fileName: key.txt
trustStorePassword:
k8SecretName: provgw-apigateway-secret
k8NameSpace: provgw
fileName: trust.txt
# ---- HTTPS Configuration - END ----
#Enable this if loadbalancing is to be done by egress instead of K8s
K8ServiceCheck: false
# Resource details
resources:
limits:
cpu: 3
memory: 5Gi
initServiceCpu: 1
initServiceMemory: 1Gi
updateServiceCpu: 1
updateServiceMemory: 1Gi
requests:
cpu: 3
memory: 5Gi
initServiceCpu: 1
initServiceMemory: 1Gi
updateServiceCpu: 1
updateServiceMemory: 1Gi
target:
averageCpuUtil: 80
#Set the root log level
log:
level:
root: WARN
egress: INFO
oauth: INFO
The configurable parameters of Provisioning Gateway are:
Note:
( * ) - The fields in the following table tagged with '*" are mandatory.parameter | Description | Default value | Range or Possible Values (If applicable) | Notes |
---|---|---|---|---|
dockerRegistry | Docker registry from where the images will be pulled | ocudr-registry.us.oracle.com:5000 | Not applicable | |
serviceAccountName | Service account name | null | Not Applicable | The serviceaccount, role and rolebindings required for deployment should be done prior to the installation. Use the created serviceaccountname here. |
prefix.container | Container configurable prefix | null | Not Applicable | If this is configured with some value, the same will be used as prefix for container names on different pods of ProvGw deployment. If Not configured, release name will be used as preifx. |
prefix.configmap | Configmap configurabe prefix | null | Not Applicable | If this is configured with some value, the same will be used as prefix for configmap names. if Not configured, release name will be used as preifx. |
prefix.hpa | HPA configurable prefix | null | Not Applicable | If this is configured with some value, the same will be used as prefix for HPA names. If Not configured, release name will be used as preifx. |
egress.enabled | Enable egress gateway | true | true/false | This flag will enable egress gateway and all the requests to SLF will go via egress gateway from provisioning gateway |
egress.port | Port of egress gateway | 8080 | Not Applicable | the https port of egress gateway which will send the requests to UDRs |
*udr.segDetails | Segment details of UDRs | **Not Applicable | Not Applicable |
To be used to send SLF requests to UDRs. This accepts yaml array of segments. name - Name of the segment fqdnValues - FQDNs/SLFs present in that segment preferred - preferred SLF among the fqdnValues e.g. udr: segs: - name: SEG-1 fqdnValues: ocudr1-ingressgateway.ocudr1,ocudr2-ingressgateway.ocudr2 preferred: ocudr1-ingressgateway.ocudr1 - name: SEG-2 fqdnValues: ocudr3-ingressgateway.ocudr3,ocudr4-ingressgateway.ocudr4 preferred: ocudr3-ingressgateway.ocudr3 |
udr.httpsEnabled | Enable https while sending requests UDR. | false | true/false | If UDR ingressgateway initssl and Incominghttps is enabled, and we need https only, then please enable this. Make sure the prov-egressgateway is deployed with initssl and enableOutGoingHttps flags as true |
udr.connectTimeout | The provgw timeout value for any request in case UDR/SLF doesn't respond in milliseconds | 10000 | Not Applicable | Time is in milliseconds |
udr.connectionProbeTimer | Connection probe Timeout for periodic fetching of the active SLF in a segment in milliseconds | 15000 | Not Applicable | Time is in milliseconds |
customExtension.allResources.labels | Custom Labels that needs to be added to all the OCNRF k8s resources | null | Not Applicable | This can be used to add custom label(s) to all k8s resources that will be created by OCNRF helm chart. |
customExtension.allResources.annotations | Custom Annotations that needs to be added to all the OCNRF k8s resources | null |
Not Applicable Note: ASM related annotations to be added under ASM Specific Configuration section |
This can be used to add custom annotation(s) to all k8s resources that will be created by OCNRF helm chart. |
customExtension.lbServices.labels | Custom Labels that needs to be added to OCNRF Services that are considered as Load Balancer type | null | Not Applicable | This can be used to add custom label(s) to all Load Balancer Type Services that will be created by OCNRF helm chart. |
customExtension.lbServices.annotations | Custom Annotations that needs to be added to OCNRF Services that are considered as Load Balancer type | null | Not Applicable | This can be used to add custom annotation(s) to all Load Balancer Type Services that will be created by OCNRF helm chart. |
customExtension.lbDeployments.labels | Custom Labels that needs to be added to OCNRF Deployments that are associated to a Service which is of Load Balancer type | null | Not Applicable | This can be used to add custom label(s) to all Deployments that will be created by OCNRF helm chart which are associated to a Service which if of Load Balancer Type. |
customExtension.lbDeployments.annotations | Custom Annotations that needs to be added to OCNRF Deployments that are associated to a Service which is of Load Balancer type | null |
Not Applicable Note: ASM related annotations to be added under ASM Specific Configuration section |
This can be used to add a custom annotation(s) to all Deployments that will be created by OCNRF helm chart which are associated to a Service which if of Load Balancer Type. |
customExtension.nonlbServices.labels | Custom Labels that needs to be added to OCNRF Services that are considered as not Load Balancer type | null | Not Applicable | This can be used to add custom label(s) to all non-Load Balancer Type Services that will be created by OCNRF helm chart. |
customExtension.nonlbServices.annotations | Custom Annotations that needs to be added to OCNRF Services that are considered as not Load Balancer type | null | Not Applicable | This can be used to add a custom annotation(s) to all non-Load Balancer Type Services that will be created by OCNRF helm chart. |
customExtension.nonlbDeployments.labels | Custom Labels that needs to be added to OCNRF Deployments that are associated to a Service which is not of Load Balancer type | null |
Not Applicable Note: ASM related annotations to be added under ASM Specific Configuration section |
This can be used to add custom label(s) to all Deployments that will be created by OCNRF helm chart which are associated to a Service which if not of Load Balancer Type. |
customExtension.nonlbDeployments.annotations | Custom Annotations that needs to be added to OCNRF Deployments that are associated to a Service which is not of Load Balancer type | null | Not Applicable | This can be used to add custom annotation(s) to all Deployments that will be created by OCNRF helm chart which are associated to a Service which if not of Load Balancer Type. |
k8sResource.container.prefix | Value that will be prefixed to all the container names of OCNRF. | null | Not Applicable | This value will be used to prefix to all the container names of OCNRF. |
k8sResource.container.suffix | Value that will be suffixed to all the container names of OCNRF. | null | Not Applicable | This value will be used to prefix to all the container names of OCNRF. |
Following table provides parameters for provgw-service micro service.
parameter | Description | Default value | Range of possible values(if applicable | Notes |
---|---|---|---|---|
image.pullPolicy | This setting will tell if image needs to be pulled or not | Always |
Always IfNotPresent Never |
|
service.type | ProvGw service type | ClusterIP |
ClusterIP NodePort LoadBalancer |
The Kubernetes service type for exposing ProvGw deployment Note: Suggested to be set as ClusterIP (default value) always |
config.retryErrorCodes | Transient Error codes for retry | 500,503 | comma separated HTTP error codes | Upon receiving these transient error codes from UDR, provGw will retry with the same request to UDR. |
image.name | Image name | provgw/provgw-service | Not Applicable | |
image.tag | Tag of Image | 1.8.0 | Not Applicable | |
service.port.http | HTTP port | 5001 | Not Applicable | The http port to be used in provGw service |
service.port.https | HTTPS port | 5002 | Not Applicable | The https port to be used in provgw service |
service.port.management | Management port | 9000 | Not Applicable | The Prometheus management port to be used for ProvGw service |
deployment.replicaCount | Replicas of provgw pod | 2 | Not applicable | Number of provgw pods to be maintained by replica set created with deployment |
config.retryCount | Retry count in case of transient error | 2 | Not applicable | Number of times retry should happen in case of transient error |
config.retryPeriod | retry interval in seconds | 2 | Not applicable | The time gap between two retries. min value should be 1 |
resources.requests.cpu | Cpu Allotment for nudr-drservice pod | 3 | Not applicable | The cpu to be allocated for prov-gw pod during deployment |
resources.requests.memory | Memory allotment for nudr-drservice pod | 4Gi | Not applicable | The memory to be allocated for prov-gw pod during deployment |
resources.limits.cpu | Cpu allotment limitation | 3 | Not applicable | |
resources.limits.memory | Memory allotment limitation | 4Gi | Not applicable | |
resources.target.averageCpuUtil | CPU utilization limit for autoscaling | 80 | Not Applicable | CPU utilization limit for creating HPA |
minReplicas | Minimum Replicas | 2 | Not Applicable | Minimum number of pods |
maxReplicas | Maximum Replicas | 4 | Not Applicable | Maximum number of pods |
service.customExtension.labels | Custom Labels that needs to be added to provgw specific Service. | null | Not applicable | This can be used to add custom label(s) to provgw Service. |
service.customExtension.annotations | Custom Annotations that needs to be added to provgw specific Services. | null | Not applicable | This can be used to add custom annotation(s) to provgw Service. |
deployment.customExtension.labels | Custom Labels that needs to be added to provgw specific Deployment. | null | Not applicable | This can be used to add custom label(s) to provgw Deployment. |
deployment.customExtension.annotations | Custom Annotations that needs to be added to provgw specific Deployment. | null | Not applicable | This can be used to add custom annotation(s) to provgw Deployment. |
server.redirect.http | Enable redirecting HTTP mesagases | false | true/false | |
server.http2enabled | Enabled HTTP2 support flag | true | true/false | |
logging.level.root | Log Level | WARN |
WARN INFO DEBUG ERROR |
Log level of the Provisioning gateway pod |
Following table provides parameters for auditor-service micro service.
Parameter | Description | Default Value | Range of possible values (if applicable | Notes |
---|---|---|---|---|
enable | Enable/disable auditor service | false | true/false | This flag enables or disables auditor service |
image.name | Image name | provgw/auditor-service | Not Applicable | |
image.tag | Tag of Image | 1.8.0 | Not Applicable | |
image.pullPolicy | This setting will tell if the image needs to be pulled or not | Always |
Always IfNotPresent Never |
|
service.type | ProvGw service type | ClusterIP |
ClusterIP NodePort LoadBalancer |
The Kubernetes service type for exposing ProvGw deployment Note: Suggested to be set as ClusterIp (default value) always |
deployment.replicaCount | Replicas of auditor pod | 1 | Not applicable | Number of auditor pods to be maintained by replica set created with deployment |
logging.level.root | Log Level | INFO |
WARN INFO DEBUG ERROR |
Log level of the auditor pod |
key.type | type of key to be used for auditing | msisdn | msisdnimsi | |
key.range | Range of keys to be audited | Not applicable | Not applicable | |
config.auditFrequency | the frequency at which audit will start reporting again after completion of the previous instance | 15000 | Not applicable | time in milliseconds |
config.throttleRate | Throttling rate for the auditor microservice to send messages to udr | 100 | 1 - 2000 | The total number of messages throttled per second to each slf |
server.redirect.http | Enable redirecting HTTP mesagases | false | true/false | |
server.http2enabled | Enabled HTTP2 support flag | true | true/false | |
resources.requests.cpu | Cpu Allotment for nudr-drservice pod | 2 | Not applicable | The cpu to be allocated for auditor pod during deployment |
resources.requests.memory | Memory allotment for nudr-drservice pod | 2Gi | Not applicable | The memory to be allocated for auditor pod during deployment |
resources.limits.cpu | Cpu allotment limitation | 2 | Not applicable | |
resources.limits.memory | Memory allotment limitation | 2Gi | Not applicable | |
resources.target.averageCpuUtil | CPU utilization limit for autoscaling | 80 | Not Applicable | CPU utilization limit for creating HPA |
minReplicas | Minimum Replicas | 1 | Not Applicable | Minimum number of pods |
maxReplicas | Maximum Replicas | 1 | Not Applicable | Maximum number of pods |
service.customExtension.labels | Custom Labels that needs to be added to auditor specific Service. | null | Not applicable | This can be used to add custom label(s) to auditor Service. |
service.customExtension.annotations | Custom Annotations that needs to be added to auditor specific Services. | null | Not applicable | This can be used to add custom annotation(s) to auditor Service. |
deployment.customExtension.labels | Custom Labels that needs to be added to auditor specific Deployment. | null | Not applicable | This can be used to add custom label(s) to auditor Deployment. |
deployment.customExtension.annotations | Custom Annotations that needs to be added to auditor specific Deployment. | null | Not applicable | This can be used to add custom annotation(s) to auditor Deployment. |
Following table provides parameters for provgw-ingressgateway micro service (API Gateway).
Parameter | Description | Default value | Range or Possible Values (If applicable) | Notes |
---|---|---|---|---|
global.type | provgw-prov-ingressgateway service type | LoadBalancer |
Possbile Values- ClusterIP NodePort LoadBalancer |
|
global.metalLbIpAllocationEnabled | Enable or disable Address Pool for Metallb | true | true/false | |
global.metalLbIpAllocationAnnotation | Address Pool for Metallb | "metallb.universe.tf/address-pool: signaling" | Not applicable | |
global.staticNodePortEnabled | If Static node port needs to be set, then set staticNodePortEnabled flag to true and provide value for staticNodePort | false | Not applicable | |
global.publicHttpSignalingPort | Port used on which ingressgateway listens for incoming http requests. | 80 | Valid Port | |
global.publicHttpsSignallingPort | Port used on which ingressgateway listens for incoming https requests. | 443 | Valid Port | |
image.name | Docker image name | provgw/ocingress_gateway | Not applicable | |
image.tag | Image version tag | 1.8.1 | Not applicable | |
image.pullPolicy | This setting will tell if image need to be pulled or not | Always |
Possible Values - Always IfNotPresent Never |
|
initContainersImage.name | Docker image name | provgw/configurationinit | Not applicable | |
initContainersImage.tag | Image version tag | 1.4.0 | Not applicable | |
initContainersImage.pullPolicy | This setting will tell if image need to be pulled or not | Always |
Possible Values - Always IfNotPresent Never |
|
updateContainersImage.name | Docker image name | provgw/configurationupdate | Not applicable | |
updateContainersImage.tag | Image version tag | 1.4.0 | Not applicable | |
updateContainersImage.pullPolicy | This setting will tell if image need to be pulled or not | Always |
Possible Values - Always IfNotPresent Never |
|
service.ssl.privateKey.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.privateKey.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.privateKey.rsa.fileName | rsa private key stored in the secret | rsa_private_key_pkcs1.pem | Not applicable | |
service.ssl.privateKey.ecdsa.fileName | ecdsa private key stored in the secret | ecdsa_private_key_pkcs8.pem | Not applicable | |
service.ssl.certificate.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.certificate.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.certificate.rsa.fileName | rsa certificate stored in the secret | apigatewayrsa.cer | Not applicable | |
service.ssl.certificate.ecdsa.fileName | ecdsa certificate stored in the secret | apigatewayecdsa.cer | Not applicable | |
service.ssl.caBundle.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.caBundle.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.caBundle.fileName | ca Bundle stored in the secret | caroot.cer | Not applicable | |
service.ssl.keyStorePassword.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.keyStorePassword.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.keyStorePassword.fileName | keyStore password stored in the secret | key.txt | Not applicable | |
service.ssl.trustStorePassword.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.trustStorePassword.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.trustStorePassword.fileName | trustStore password stored in the secret | trust.txt | Not applicable | |
resources.limits.cpu | Cpu allotment limitation | 3 | Not applicable | |
resources.limits.memory | Memory allotment limitation | 4Gi | Not applicable | |
resources.limits.initServiceCpu | Maximum amount of CPU that K8s will allow the ingress-gateway init container to use. | 1 | Not applicable | |
resources.limits.initServiceMemory | Memory Limit for ingress-gateway init container | 1Gi | Not applicable | |
resources.limits.updateServiceCpu | Maximum amount of CPU that K8s will allow the ingress-gateway update container to use. | 1 | Not applicable | |
resources.limits.updateServiceMemory | Memory Limit for ingress-gateway update container | 1Gi | Not applicable | |
resources.requests.cpu | Cpu allotment for provgw-prov-ingressgateway pod | 3 | Not Applicable | |
resources.requests.memory | Memory allotment for provgw-prov-ingressgateway pod | 4Gi | Not Applicable | |
resources.requests.initServiceCpu | The amount of CPU that the system will guarantee for the ingress-gateway init container, and K8s will use this value to decide on which node to place the pod | Not applicable | ||
resources.requests.initServiceMemory | The amount of memory that the system will guarantee for the ingress-gateway init container, and K8s will use this value to decide on which node to place the pod | Not applicable | ||
resources.requests.updateServiceCpu | The amount of CPU that the system will guarantee for the ingress-gateway update container, and K8s will use this value to decide on which node to place the pod. | Not applicable | ||
resources.requests.updateServiceMemory | The amount of memory that the system will guarantee for the ingress-gateway update container, and K8s will use this value to decide on which node to place the pod. | Not applicable | ||
resources.target.averageCpuUtil | CPU utilization limit for autoscaling | 80 | Not Applicable | |
minAvailable | Number of pods always running | 2 | Not Applicable | |
minReplicas | Min replicas to scale to maintain an average CPU utilization | 2 | Not applicable | |
maxReplicas | Max replicas to scale to maintain an average CPU utilization | 5 | Not applicable | |
log.level.root | Logs to be shown on provgw-prov-ingressgateway pod | WARN | valid level | |
log.level.ingress | Logs to be shown on provgw-prov-ingressgateway pod for ingress related flows | INFO | valid level | |
log.level.oauth | Logs to be shown on provgw-prov-ingressgateway pod for oauth related flows | INFO | valid level | |
initssl | To Initialize SSL related infrastructure in init/update container | true | Not Applicable | |
jaegerTracingEnabled | Enable/Disable Jaeger Tracing | false | true/false | |
openTracing.jaeger.udpSender.host | Jaeger agent service FQDN | occne-tracer-jaeger-agent.occne-infra | Valid FQDN | |
openTracing.jaeger.udpSender.port | Jaeger agent service UDP port | 6831 | Valid Port | |
openTracing.jaeger.probabilisticSampler | Probablistic Sampler on Jaeger | 0.5 | Range: 0.0 - 1.0 | Sampler makes a random sampling decision with the probability of sampling. For example if the value set is 0.1, approximately 1 in 10 traces will be sampled. |
oauthValidatorEnabled | OAUTH Configuration | false | Not Applicable | |
enableIncomingHttp | Enabling for accepting http requests | true | Not Applicable | |
enableIncomingHttps | Enabling for accepting https requests | true | true or false | |
enableOutgoingHttps | Enabling for sending https requests | false | true or false | |
maxRequestsQueuedPerDestination | Queue Size at the provgw-prov-ingressgateway pod | 5000 | Not Applicable | |
maxConnectionsPerIp | Connections from ingressgateway to other microServices | 10 | Not Applicable | |
routesConfig | Routes configured to connect to ProvGw | - id: traffic_mapping_rest_group_prov uri: http://{{ .Release.Name }}-prov-gw:5001 path: /** | Not Applicable | |
service.customExtension.labels | Custom Labels that needs to be added to ingress-gateway specific Service. | null | Not applicable | This can be used to add custom label(s) to ingress-gateway Service. |
service.customExtension.annotations | Custom Annotations that needs to be added to ingress-gateway specific Services. | null | Not applicable | This can be used to add custom annotation(s) to ingress-gateway Service. |
deployment.customExtension.labels | Custom Labels that needs to be added to ingress-gateway specific Deployment. | nul | Not applicable | This can be used to add custom label(s) to ingress-gateway Deployment. |
deployment.customExtension.annotations | Custom Annotations that needs to be added to ingress-gateway specific Deployment. | null |
Not applicable Note: ASM related annotations to be added under ASM Specific Configuration section |
This can be used to add custom annotation(s) to ingress-gateway Deployment. |
connectionTimeout | Timeout for each connection request | 25000 | Not applicable | This is used for configuring the timeout value for each client connection. This value must be greater than the requestTimeout |
requestTimeout | TImeout for each request | 21000 | Not applicable | This config is used for configuring the request time out value. This must be greater than the product of config.retryCount and config.retryPeriod from provgw micro service |
serviceMeshCheck | Load balancing will be handled by Ingress gateway, if true it would be handled by serviceMesh | true | true/false |
Following table provides parameters for provgw-egressgateway micro service (API Gateway).
Parameter | Description | Default Value | Range or Possible Values(if applicable) | Notes |
---|---|---|---|---|
type | provgw-prov-egressgateway service type | LoadBalancer |
Possbile Values- ClusterIP NodePort LoadBalance |
|
image.name | Docker Image name | provgw/ocegress_gateway | Not applicable | |
image.tag | Image version tag | 1.8.1 | Not applicable | |
image.pullPolicy | This setting will tell if the image needs to be pulled or not | Always |
Possible Values - Always IfNotPresent Never |
|
initContainersImage.name | Docker Image name | provgw/configurationinit | Not applicable | |
initContainersImage.tag | Image version tag | 1.4.0 | Not applicable | |
initContainersImage.pullPolicy | This setting will tell if the image needs to be pulled or not | Always |
Possible Values - Always IfNotPresent Never |
|
updateContainersImage.name | Docker Image name | provgw/configurationupdate | Not applicable | |
updateContainersImage.tag | Image version tag | 1.4.0 | Not applicable | |
updateContainersImage.pullPolicy | This setting will tell if the image needs to be pulled or not | Always |
Possible Values - Always IfNotPresent Never |
|
service.ssl.privateKey.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.privateKey.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.privateKey.rsa.fileName | rsa private key stored in the secret | rsa_private_key_pkcs1.pem | Not applicable | |
service.ssl.privateKey.ecdsa.fileName | ecdsa private key stored in the secre | ecdsa_private_key_pkcs8.pem | Not applicable | |
service.ssl.certificate.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.certificate.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.certificate.rsa.fileName | rsa certificate stored in the secret | apigatewayrsa.cer | Not applicable | |
service.ssl.certificate.ecdsa.fileName | ecdsa certificate stored in the secret | apigatewayecdsa.cer | Not applicable | |
service.ssl.caBundle.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.caBundle.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.caBundle.fileName | ca Bundle stored in the secret | caroot.cer | Not applicable | |
service.ssl.keyStorePassword.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.keyStorePassword.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.keyStorePassword.fileName | keyStore password stored in the secret | key.txt | Not applicable | |
service.ssl.trustStorePassword.k8SecretName | name of the secret which stores keys and certificates | provgw-apigateway-secret | Not applicable | |
service.ssl.trustStorePassword.k8NameSpace | namespace in which secret is created | provgw | Not applicable | |
service.ssl.trustStorePassword.fileName | trustStore password stored in the secret | trust.txt | Not applicable | |
minAvailable | Number of pods always running | 2 | Not applicable | |
minReplicas | Min replicas to scale to maintain an average CPU utilization | 2 | Not applicable | |
maxReplicas | Max replicas to scale to maintain an average CPU utilization | 5 | Not applicable | |
log.level.root | Logs to be shown on ocudr-egressgateway pod | WARN | Not applicable | |
log.level.egress | Logs to be shown on ocudr-egressgateway pod for egress related flows | INFO | Not applicable | |
log.level.oauth | Logs to be shown on ocudr-egressgateway pod for oauth related flows | INFO | Not applicable | |
resources.limits.cpu | Cpu allotment limitation | 3 | Not applicable | |
resources.limits.memory | Memory allotment limitation | 4Gi | Not applicable | |
resources.limits.initServiceCpu | Maximum amount of CPU that K8s will allow the egress-gateway init container to use. | 1 | Not applicable | |
resources.limits.initServiceMemory | Memory Limit for egress-gateway init container | 1Gi | Not applicable | |
resources.limits.updateServiceCpu | Maximum amount of CPU that K8s will allow the egress-gateway update container to use. | 1 | Not applicable | |
resources.limits.updateServiceMemory | Memory Limit for egress-gateway update container | 1Gi | Not applicable | |
resources.requests.cpu | Cpu allotment for provgw-prov-egressgateway pod | 3 | Not Applicable | |
resources.requests.memory | Memory allotment for provgw-prov-egressgateway pod | 4Gi | Not Applicable | |
resources.requests.initServiceCpu | The amount of CPU that the system will guarantee for the egress-gateway init container, and K8s will use this value to decide on which node to place the pod | Not applicable | ||
resources.requests.initServiceMemory | The amount of memory that the system will guarantee for the egress-gateway init container, and K8s will use this value to decide on which node to place the pod | Not applicable | ||
resources.requests.updateServiceCpu | The amount of CPU that the system will guarantee for the egress-gateway update container, and K8s will use this value to decide on which node to place the pod. | Not applicable | ||
resources.requests.updateServiceMemory | The amount of memory that the system will guarantee for the egress-gateway update container, and K8s will use this value to decide on which node to place the pod. | Not applicable | ||
resources.target.averageCpuUtil | CPU utilization limit for autoscaling | 80 | Not Applicable | |
openTracing.jaeger.probabilisticSampler | Probabilistic Sampler on Jaeger | 0.5 | Range: 0.0 - 1.0 | Sampler makes a random sampling decision with the probability of sampling. For example if the value set is 0.1, approximately 1 in 10 traces will be sampled. |
enableOutgoingHttps | Enabling for sending https requests | false | true/false | |
oauthClientEnabled | Enable if oauth is required | false | true/false | Enable based on Oauth configuration |
nrfAuthority | Nrf Authoriy configuration | 10.75.224.7:8085 | Not Applicable | |
nfInstanceId | Nrf Instance Id | Not Applicable | ||
consumerPlmnMNC | plmnmnc | 345 | Not Applicable | |
consumerPlmnMCC | plmnmcc | 567 | Not Applicable | |
service.customExtension.labels | Custom Labels that needs to be added to egress-gateway specific Service. | null | Not applicable | This can be used to add custom label(s) to ingress-gateway Service. |
service.customExtension.annotations | Custom Annotations that needs to be added to egress-gateway specific Services. | null | Not applicable | This can be used to add custom annotation(s) to egress-gateway Service. |
deployment.customExtension.labels | Custom Labels that needs to be added to egress-gateway specific Deployment. | null | Not applicable | This can be used to add custom label(s) to egress-gateway Deployment. |
deployment.customExtension.annotations | Custom Annotations that needs to be added to egress-gateway specific Deployment. | null | Not applicable | This can be used to add custom annotation(s) to egress-gateway Deployment. |