How do I configure a NSP Workflows trigger framework?
Purpose
Use this procedure to install or uninstall a WFM framework. The WFM Trigger framework enables you to trigger workflows from an external system such as Git or HTTPS, without the need for NSP Workflows to monitor the external system directly.
The framework provided by NSP installs a single microservice that can handle at least one user -provided plugin installed into that microservice. The framework handles connections to the internal Kubernetes environment and to NSP Workflows, while the plug-in connects to the external system. The plugin must include a specified Python file to allow it to push to a Kafka topic in the NSP. From there, a Kafka Trigger can be created in NSP Workflows to trigger a workflow.
You can configure as many microservices as required, with different parameters. container images and Helm charts are provided in the Nokia Git repository.
This procedure provides general information. See the WFM Trigger Framework tutorial on the Network Developer Portal for more details.
Container image
You will need to use a container image generated from the base container image provided by NSP, that includes the code written to handle the external system. The name of the base image can be found either by browsing the NSP container repository or by looking at the provided defaulted values.yaml file.
Helm charts
A default values.yaml file is provided, and new values.yaml files must be derived from this one to get all the appropriate NSP-specific information that the pod needs to run. You need to change the following values:
-
pod_name: Each pod must be given a unique pod name to avoid clashes over resources and so to install properly.
-
topic_name: This specifies the topic name that messages will be sent on (and thus that the Kafka Trigger must listen on). The topic will always be wfm.trigger.<topic_name>. If this is not given, the pod_name will be used as the topic name.
-
pluginConfigFileName: The file name of any config file that the user happens to be using. If this is not set, it defaults to plugin.conf.
-
pluginConfigFileInstallPath: The install path of the config file. If this is not set, it defaults to /opt/nsp/configure/config.
-
pluginPythonClientFile: The name and path of the client file that's importing the framework_server_client. If this is not set, it defaults to /opt/nsp/launch_python_app.py.
-
pluginCertsFileName: The file name for any certs that are being used. If this is not set, it defaults to plugincert.pem.
-
pluginCertsInstallPath: The install path for any certs that are being used. If this is not set, it defaults to /opt/nsp.