Installing Process Federation Server for Business Automation Workflow on containers
Process Federation Server helps you create a federated process environment. It provides business users with a single point of access to their list of tasks, list of process instances, list of case instances, and list of launchable workflows. This accessibility is available regardless of the type of process that they are working on and the backend system where the process artifacts are stored. Process Federation Server containers include indexers, retrievers, REST services, and integrate with a Federated Data Repository (Elasticsearch or OpenSearch) cluster where it stores both federated data and saved searches.
For more information about Process Federation Server containers, see
Administering and operating IBM® Process Federation Server Containers

This Process Federation Server deployment can be set up to federate traditional (on premise) Business Automation Workflow servers and Business Automation Workflow on containers servers. For Business Automation Workflow running in Cloud Pak for Business Automation or running in a Kubernetes cluster, they can only be federated if they are running in the same namespace as Process Federation Server.
- Preparing for a Process Federation Server deployment
- Deploying required components
- Deploying Process Federation Server
- Completing post-deployment tasks for Process Federation Server
- Verifying your Process Federation Server deployment
- Configuring your workflow for federation
- Troubleshooting your Process Federation Server deployment
- Uninstalling your Process Federation Server deployment
Preparing for a Process Federation Server deployment
Process Federation Server requires a Business Automation Workflow on containers installation, and integrates with components in Business Automation Workflow.
Process Federation Server is
deployed by the Process Federation Server operator, which
processes custom resources (CRs) of type ProcessFederationServer. A
ProcessFederationServer CR defines the deployment properties of the Process Federation Server servers, and
pfs_configuration is the top-level configuration property in a
ProcessFederationServer CR.
- Make sure that you have the resources for your deployment. See Planning for a CP4BA Process Federation Server production deployment
. - Prepare storage, including the persistent volumes (PVs) and persistent volume claim (PVCs) for
Process Federation Server.Process Federation Server requires a PV for logs to be created before you can deploy. You have the following options, depending on whether your Kubernetes environment supports dynamic provisioning. You can optionally choose to persist dump files by setting
pfs_configuration.dump.persistenttotrue.- Option 1: If your environment supports dynamic provisioning:
Enable dynamic provisioning by setting
pfs_configuration.logs.storage.use_dynamic_provisioningtotrueand provide the storage class name ofpfs_configuration.logs.storage.storage_classin the CR file.If you also want to persist dump files, set
pfs_configuration.dump.persistenttotrue. - Option 2: If your environment does not support dynamic provisioning:
Disable dynamic provisioning by setting
pfs_configuration.logs.storage.use_dynamic_provisioningtofalse. Then, create a PV manually and setpfs_configuration.logs.storage.existing_pvc_namein the CR file to the value of thenameproperty of your PV.To persist dump files, disable dynamic provisioning by setting
pfs_configuration.dump.storage.use_dynamic_provisioningtofalse. Then, create a PV manually and setpfs_configuration.dump.storage.existing_pvc_namein the CR file to the value of thenameproperty of your PV.
- Option 1: If your environment supports dynamic provisioning:
- Prepare storage for the Federated Data Repository (Elasticsearch or OpenSearch) cluster that is
deployed for Process Federation Server. See Preparing storage for a Federated Data Repository.If you prefer, you can also use your own external federated data repository. See Referencing an external federated data repository.Note: Linux® on IBM Z must use an external Federated Data Repository.
- Set up SCC for a Federated Data Repository. See Setting up the security context constraint for a Federated Data Repository.
- If you set the Process Federation Server admin secret
name in
pfs_configuration.admin_secret_name, the operator creates this secret automatically. However, if you want to create it manually, use the following content:apiVersion: v1 kind: Secret metadata: name: ibm-pfs-admin-secret type: Opaque data: ltpaPassword: <LTPA_PASSWORD> sslKeyPassword: <SSL_KEY_PASSWORD>ltpaPasswordis used to set the LTPA passwordsslKeyPasswordis used as the keystore and truststore password- All values under
dataare Base64-encoded.
Deploying required components
To install Process Federation Server, you must use the operator to configure the root Certificate Authority (CA), Cloud Pak foundational services, and optionally Business Automation Application, and Business Teams service.
shared_configuration.sc_optional_components: opensearch in a
custom resource (CR). For more information about OpenSearch options, see Using OpenSearch provided by IBM Cloud Pak® foundational services
.- Run the command
kubectl get icp4acluster -o yamlto make sure that Cloud Pack foundation services, root Certificate Authority, Business Automation Workflow (optional), Business Teams service (optional), and Business Automation Application (optional) are ready.. Make sure that.status.components.prereq.rootCAStatusisReadyand.status.components.prereq.rootCASecretNamehas the correct secret name.For any issues with the resources, check the pod logs by following the instructions in Troubleshooting your Process Federation Server deployment.
- Make sure that the expected pods are listed in the
kubectl get podscommand result.For example, the results ofkubectl get podswith label selector might look similar to:[root@XXXXXXX ~]# kubectl get pods -l app.kubernetes.io/name=Opensearch NAME READY STATUS RESTARTS AGE opensearch-all-000 1/1 Running 1 (4d2h ago) 7d5h opensearch-all-001 1/1 Running 1 (4d2h ago) 7d5h opensearch-all-002 1/1 Running 1 (4d2h ago) 7d5h opensearch-snapshot-repo-krhfx 0/1 Completed 0 17mIf you are using a Business Automation Workflow OpenSearch instance, then all
opensearch-all-XXXpods need to be ready.For more information about OpenSearch options, see Using OpenSearch provided by IBM Cloud Pak foundational services
.
Deploying Process Federation Server
- Configure your
ProcessFederationServerCR. Your starting CR might look similar to:apiVersion: icp4a.ibm.com/v1 kind: ProcessFederationServer metadata: name: pfsdeploy spec: appVersion: 25.0.0 license: accept: true shared_configuration: sc_deployment_license: production storage_configuration: sc_medium_file_storage_classname: <Required> sc_slow_file_storage_classname: <Required> pfs_configuration: replicas: 1In a production deployment cluster, for the pfs_configuration.replicas parameter, it is recommended that you set a value of 2 or higher.
For more information, see the Process Federation Server configuration section in IBM Business Automation Workflow Runtime and Workstream Services parameters
. - Apply your custom resource by running the following
command.
kubectl apply -f your_custom_resource_name
Completing post-deployment tasks for Process Federation Server
- Add LDAP users in Zen.
- Connect to the URL:
https://cluster_address, where cluster_address is the IBM Cloud Pak console route. You can get the console route by running the command:
The output might look similar to:kubectl get ingress zen-ingress -o jsonpath='{.spec.rules[0].host}' && echo
Using the example output, the console URL would look similar to:cpd-namespace_name.apps.mycluster.mydomainhttps://cpd-namespace_name.apps.mycluster.mydomain/zen - To retrieve credentials for Zen, run
kubectl get secret platform-auth-idp-credentials -o jsonpath=\{.data.admin_password} | base64 --decode && echo kubectl get secret platform-auth-idp-credentials -o jsonpath=\{.data.admin_username} | base64 --decode && echo - Log in to the IBM Cloud Pak dashboard using the URL from step 1a and the credentials from step 1b.
- Go to .
- Type the names of users that you want to add, and click Next.
- Assign the users to roles, or add them to a group. You can add your LDAP user under Users or you can add your LDAP user group under User groups. For both users and user groups, make sure that at least one role is selected. For example, roles include administrator, automation administrator, automation analyst, automation developer, automation operator, and user.
- Click Add to register the users.
- Connect to the URL:
Verifying your Process Federation Server deployment
- Get your Process Federation Server REST base URL
by running the command:
kubectl get pfs cr_name -o=jsonpath='{.status.endpoints[?(@.name=="Process Federation Server External base URL")].uri}' - To access Process Federation Server REST, see Process Federation Server REST APIs.
To add custom configuration for Process Federation Server, see Customizing Process Federation Server
.
Configuring your workflow for federation
- To federate traditional (on-premises) Business Automation Workflow servers, see Federating a traditional IBM Business Automation Workflow system from IBM Process Federation Server running on containers
. - To federate Business Automation Workflow on container servers
or Workflow servers in Cloud Pak for Business Automation, see Federating IBM Business Automation Workflow in CP4BA
. - You can enable Workplace in the Common UI console. For more information, see Enabling Common UI.
A dedicated custom resource (CR) called the FederatedSystem CR is provided. Each server to be
federated into the Process Federation Server container
applies the dedicated FederatedSystem CR. The full parameter list for the CR is found in Federated system parameters
.
Troubleshooting your Process Federation Server deployment
- Get the Process Federation Server operator pod
name by running the following command.
kubectl get pods|grep pfs-operator - Using the pod name, get the Process Federation Server operator log by
running the following
command.
kubectl logs pfs_operator_pod_name
Uninstalling your Process Federation Server deployment
- Delete your Process Federation Server instance by
running the following
command.
kubectl delete processfederationserver pfs_cr_name