Install TMF Usage Management Microservice

Perform this task to install the TM Forum (TMF) usage management microservice implemented through TMF Gateway.

Before you begin

The TMF usage management microservice communicates with MATRIXX Engine through Traffic Routing Agent (TRA), so you must identify the host and port that the microservice uses to communicate with the TRA.

Procedure

  1. Obtain the following TMF usage management image and Helm chart and source these two resources in your own registry:
    • tmf-usage-management-version-build.tar.sig — The TMF usage management microservice image.
    • tmf-usage-management-helm-chart-version-build.tgz — The TMF usage management Helm chart.
    For information about obtaining images, see the discussion about obtaining and hosting images in MATRIXX Installation and Upgrade.
  2. Add the TMF MATRIXX Data Containers (MDCs) to the MATRIXX Engine configuration directly in the custom values YAML file for MATRIXX Engine.
    Use a configMap within the configurationSources section, as shown in this example:
    global:
      image:
        registry:
          createSecret: false
      monitoring:
        enabled: true
      tracing:
        enabled: ${KTX_TELEMETRY_TEMPO_ENABLED}
        openTelemetry:
          endpoint:
            host: otel-collector-opentelemetry-collector.open-telemetry
      development: true
      configurationSources:
        examplePricing:
          docker:
            image: example-pricing-sideloader:${MTX_IMAGE_VERSION}
        engine-tmf-config:
          configmap:
            name: engine-tmf-config-20220907-1019
            data:
              tmf_create_config.info: |-
                # Private MDC definitions
                Do you want to add any private MDCs (y/n)?y
                How many private MDCs do you want to add?14
     
                Added MDC:00001:What is the container's name?TMFUsageEvent  
                Added MDC:00001:What is the container's key?-1  
                Added MDC:00001:What is the name of the base container (if any)?MtxUsageEvent
                Added MDC:00001:What is the created schema version?2
                Added MDC:00001:What is the deleted schema version?0
    
                Added MDC:00002:What is the container's name?TMFUsageSpecificationUser
                Added MDC:00002:What is the container's key?-2
    Note: This example is not a complete MDC configuration. For details about all the MDCs and MDC fields to add, see the discussion about mapping TMF APIs to MATRIXX MDCs.
  3. Configure the TMF usage management microservice custom values for the Helm install in the TMF values YAML file as shown in the following example.
    This includes configuring the TRA host and port and all the other custom values required for your installation. For descriptions of the TMF configuration properties, see the discussion about TMF Open API Gateway configuration.
  4. Create a namespace for the TMF microservices if it does not exist already:
    kubectl create ns matrixx-tmf
  5. Install the TMF usage management microservice Helm charts and images from your custom registry within the TMF microservices namespace:
    helm install tmf <YOUR_REGISTRY>/tmf-usage-management --version release-version -f <TMF-CUSTOM-VALUES-FILE> -n matrixx-tmf

Example

This is an example TMF values YAML file:
# Default values for tmf-usage-management.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
 
registry:
  name: <YOUR_IMAGES_REGISTRY_URL>
  username: <YOUR_IMAGES_REGISTRY_LOGIN_USER>  password: <YOUR_IMAGES_REGISTRY_LOGIN_PASSWORD>  
  pullPolicy: Always
  pullSecretName: <REGISTRY_SECRET_NAME>
  createSecret: true
image:
  nameOverride: "" # Leave blank unless you want to use a different tmf-usage-management image name
  versionOverride: "" # Leave blank unless you want to use a different tmf-usage-management image name
replicaCount: 1
resources:
  limits:
    memory: 1024Mi
env:
  LOG_LEVEL: DEBUG
  engine.host: <TRA_HOST>
  engine.port: <TRA_PORT>
  http.instances: 4
  http.oauth2.enable: false # Set to true to add OAuth authentication
  http.oauth2.clientId: my-client # Add your OAuth client id
  http.oauth2.clientSecret: secret # Add your OAuth client secret
  http.oauth2.site: http://hydra:4445 # Add your OAuth URL
  http.oauth2.introspectionPath: /oauth2/introspect # Add your OAuth introspection path
  http.serviceUrl: http://tmf-service:8080 # Configure your tmf-usage-management service URL required to form the TMF response href