Deploying the optional FTM components

You can deploy the optional FTM components by adding them to the spec.config.instance.components field in the FTM custom resource. The following snippet of YAML shows you where to add the optional components in the FTM custom resource definition.
spec:
  config:
    instance:
      components:
        <CompName1>:
          enabled: false
        <CompName2>:
          enabled: false
        <CompName3>:
          enabled: false
The following list describes how the FTM operator interprets the optional component configuration in the custom resource.
  • If a component is not provided in the components section, that component is enabled by default.
  • If the components section is not added in the custom resource, all the components are enabled by default.
  • If a component is not enabled, the FTM operator does not deploy the associated pod or run the associated database and IBM® MQ scripts. For more information on the database and the IBM MQ scripts for the FTM components that can be optionally deployed, see Table 1.
The configuration information for all the optional FTM components is shown in the following table.
Table 1. FTM components that can be deployed optionally
Deployment Component Database script IBM MQ script
<ftm-instance>-risk-engine Risk riskuidata.ddl Risk-mq-reference.txt
<ftm-instance>-settlement-engine Settlement izruidata.ddl  
<ftm-instance>-wxp-agent-server FTM Assistant    
<ftm-instance>-wxp-mcp-server FTM Assistant    

Deploying the optional FTM Assistant component

The steps to deploy the optional FTM Assistant component in FTM are shown in the following list.
  1. Add the following secrets to ftm-application-secret.
    • WATSONX_API_KEY
    • WATSONX_PROJECT_ID
    • KNOWLEDGE_MILVUS_USERNAME
    • KNOWLEDGE _MILVUS_PASSWORD
    • FIXES_MILVUS_USERNAME
    • FIXES_MILVUS_PASSWORD
    • RUNBOOKS_MILVUS_USERNAME
    • RUNBOOKS_MILVUS_PASSWORD
  2. Replace the variables in the YAML with values that are specific to your deployment. These variables are shown in the following list.
    • <Watsonx service URL>
    • <Milvus address for the Knowledge Agent>
    • <Milvus address for the Fixes Agent>
    • <Milvus address for the Runbooks Agent>
  3. If you use the Milvus instance or instances that are deployed in the external network, you need to add their ports to the network policy <ftm instance name>-yellow-zone under egress.ports.
    egress:
     - ports:
        - protocol: TCP
          port: <Milvus port>
  4. Add the following YAML snippet to the spec.config.instance.components field in the FTM custom resource.
    spec:
      config:
        instance:
          components:
            ftmAssistant:
              enabled: true
              watsonx:
                apiKey:
                  valueFrom:
                    secretKeyRef:
                      key: WATSONX_API_KEY
                      name: ftm-application-secret
                projectID:
                  valueFrom:
                    secretKeyRef:
                      key: WATSONX_PROJECT_ID
                      name: ftm-application-secret
                serviceURL: <Watsonx service URL>
              knowledgeAgent:
                milvus:
                  useSsl: true
                  address: <Milvus address for the Knowledge Agent>
                  username:
                    valueFrom:
                      secretKeyRef:
                        key: KNOWLEDGE_MILVUS_USERNAME
                        name: ftm-application-secret
                  password:
                    valueFrom:
                      secretKeyRef:
                        key: KNOWLEDGE_MILVUS_PASSWORD
                        name: ftm-application-secret
                  collection: ibm_docs_slate
                vectorDatabaseCertificate:
                  valueFrom:
                    secretKeyRef:
                      key: vectordb_knowledge.pem
                      name: ftm-vector-db-ssl-cert-secret
              fixesAgent:
                milvus:
                  address: <Milvus address for the Fixes Agent>
                  username:
                    valueFrom:
                      secretKeyRef:
                        key: FIXES_MILVUS_USERNAME
                        name: ftm-application-secret
                  password:
                    valueFrom:
                      secretKeyRef:
                        key: FIXES_MILVUS_PASSWORD
                        name: ftm-application-secret
                  collection: ftm_fixes
                vectorDatabaseCertificate:
                  valueFrom:
                    secretKeyRef:
                      key: vectordb_fixes.pem
                      name: ftm-vector-db-ssl-cert-secret
              runbooksAgent:
                milvus:
                  address: <Milvus address for the Runbooks Agent>
                  username:
                    valueFrom:
                      secretKeyRef:
                        key: RUNBOOKS_MILVUS_USERNAME
                        name: ftm-application-secret
                  password:
                    valueFrom:
                      secretKeyRef:
                        key: RUNBOOKS_MILVUS_PASSWORD
                        name: ftm-application-secret
                  collection: ftm_runbooks
                vectorDatabaseCertificate:
                  valueFrom:
                    secretKeyRef:
                      key: vectordb_runbooks.pem
                      name: ftm-vector-db-ssl-cert-secret