Configuring CHF Diameter Adapter Properties
After initial deployment of CHF Diameter Adapter, you can customize the configuration.
You can configure CHF Diameter Adapter using YAML code that is typically supplied in the Helm values file.
The following subsections describe the configuration properties for CHF Diameter Adapter Converged Charging
Microservice and Spending Limit Control Microservice. The following is an example configuration for the Converged Charging
Microservice:
matrixx-app:
# Name of the application.
applicationName: "chf-diameter-adapter"
namespaceOverride: "matrixx"
# -- Same as nameOverride but for the partOf.
partOfOverride: "MATRIXX"
version: ${version}
globalRegistry: "localhost:32000"
##########################################################
# Deployment
##########################################################
deployment:
enabled: true
containers:
chf-diameter-adapter:
image:
repository: nf-chf-diameter-adapter
tag: ${project.version}
pullPolicy: IfNotPresent
env:
OTEL_SDK_DISABLED:
value: "true"
ports:
8080:
name: http
protocol: TCP
readinessProbe:
httpGet:
path: /health
port: http
livenessProbe:
httpGet:
path: /health
port: http
resources:
limits:
cpu: 4
requests:
cpu: 250m
terminationMessagePolicy: FallbackToLogsOnError
##########################################################
# Service object for servicing pods
##########################################################
service:
enabled: true
ports:
80:
name: http
protocol: TCP
targetPort: http
type: ClusterIP
##########################################################
# Ingress object for exposing services
##########################################################
ingress:
enabled: false
# Name of the ingress class
ingressClassName: ''
# Port of the service that serves pods
servicePort: http
#Set pathType: default is ImplementationSpecific; Options: Exact, Prefix
pathType: ImplementationSpecific
# List of host addresses to be exposed by this Ingress
hosts:
chf-diameter-adapter-example.local:
paths:
chf-diameter-adapter:
path: /
serviceName: chf-diameter-adapter
pathType: ImplementationSpecific
servicePort: 80
slc-diameter-adapter-example.local:
paths:
slc-diameter-adapter:
path: /
serviceName: slc-diameter-adapter
pathType: ImplementationSpecific
servicePort: 80
# Additional labels for this Ingress
additionalLabels: { }
# Add annotations to this Ingress
annotations: { }
# kubernetes.io/ingress.class: external-ingress
# ingress.kubernetes.io/rewrite-target: /
# ingress.kubernetes.io/force-ssl-redirect: true
# TLS details for this Ingress
tls: []
##########################################################
# autoscaling is used for horizonal pod autoscaling
##########################################################
autoscaling:
# enabled is a boolean flag for enabling or disabling autoscaling
enabled: false
minReplicas: 1
# maxReplicas sets the maximum number of replicas
maxReplicas: 100
# metrics is the list of metrics used for hpa
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 80
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80
##########################################################
# Service Monitor to collect Prometheus metrices
##########################################################
serviceMonitor:
enabled: false
# Additional labels
additionalLabels: { }
# Additional annotations
annotations: { }
# List of the endpoints of service from which prometheus will scrape data
endpoints:
- port: http
interval: 10s
honorLabels: true
path: /metrics
relabelings:
- sourceLabels: [ __meta_kubernetes_pod_node_name ]
targetLabel: node_name
- sourceLabels: [ __meta_kubernetes_pod_host_ip ]
targetLabel: node_ip
Next is an example configuration for the Spending Limit Control Microservice:
matrixx-app:
# Name of the application.
applicationName: "slc-diameter-adapter"
namespaceOverride: "matrixx"
# -- Same as nameOverride but for the partOf.
partOfOverride: "MATRIXX"
version: ${version}
globalRegistry: "localhost:32000"
##########################################################
# Deployment
##########################################################
deployment:
enabled: true
containers:
slc-diameter-adapter:
image:
repository: nf-slc-diameter-adapter
tag: ${project.version}
pullPolicy: IfNotPresent
env:
OTEL_SDK_DISABLED:
value: "true"
ports:
8080:
name: http
protocol: TCP
readinessProbe:
httpGet:
path: /health
port: http
livenessProbe:
httpGet:
path: /health
port: http
resources:
limits:
cpu: 4
requests:
cpu: 250m
terminationMessagePolicy: FallbackToLogsOnError
##########################################################
# Service object for servicing pods
##########################################################
service:
enabled: true
ports:
80:
name: http
protocol: TCP
targetPort: http
type: ClusterIP
##########################################################
# Ingress object for exposing services
##########################################################
ingress:
enabled: false
# Name of the ingress class
ingressClassName: ''
# Port of the service that serves pods
servicePort: http
# Set pathType: default is ImplementationSpecific; Options: Exact, Prefix
pathType: ImplementationSpecific
# Map of host addresses to be exposed by this Ingress
hosts:
slc-diameter-adapter-example.local:
paths:
slc-diameter-adapter:
path: /
serviceName: slc-diameter-adapter
pathType: ImplementationSpecific
servicePort: 80
chf-diameter-adapter-example.local:
paths:
chf-diameter-adapter:
path: /
serviceName: chf-diameter-adapter
pathType: ImplementationSpecific
servicePort: 80
# Additional labels for this Ingress
additionalLabels: { }
# Add annotations to this Ingress
annotations: { }
# kubernetes.io/ingress.class: external-ingress
# ingress.kubernetes.io/rewrite-target: /
# ingress.kubernetes.io/force-ssl-redirect: true
# TLS details for this Ingress
tls: []
##########################################################
# autoscaling is used for horizonal pod autoscaling
##########################################################
autoscaling:
# enabled is a boolean flag for enabling or disabling autoscaling
enabled: false
minReplicas: 1
# maxReplicas sets the maximum number of replicas
maxReplicas: 100
# metrics is the list of metrics used for hpa
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 80
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80
##########################################################
# Service Monitor to collect Prometheus metrices
##########################################################
serviceMonitor:
enabled: false
# Additional labels
additionalLabels: { }
# Additional annotations
annotations: { }
# List of the endpoints of service from which prometheus will scrape data
endpoints:
- port: http
interval: 10s
honorLabels: true
path: /metrics
relabelings:
- sourceLabels: [ __meta_kubernetes_pod_node_name ]
targetLabel: node_name
- sourceLabels: [ __meta_kubernetes_pod_host_ip ]
targetLabel: node_ip