Chapter 2. Fuse Online
Fuse Online provides a web browser interface that lets a business expert integrate two or more different applications or services without writing code. It also provides features that allow the addition of code if it is needed for complex use cases.
Fuse Online runs an integration on OpenShift as a Spring Boot application that uses Apache Camel.
2.1. About Fuse Online distributions Copy linkLink copied to clipboard!
Fuse Online is Red Hat’s web-based integration platform. Syndesis is the open source project for Fuse Online. Fuse Online runs in these OpenShift environments:
| Host Environment | Installation |
| OpenShift Dedicated | Red Hat installs and provisions Fuse Online on Red Hat infrastructure. |
| OpenShift Container Platform | Customer installs and manages. |
2.2. Upgrading from Fuse Online 7.11.x to 7.12.x requires manual upgrade steps Copy linkLink copied to clipboard!
If you installed Fuse Online 7.11.x and want to upgrade to Fuse Online 7.12.x.x, you must manually upgrade to Fuse Online 7.12.x.0.
- In the Administrator perspective of the OpenShift Container Platform web console, navigate to Operators > Installed Operators.
- Click the Red Hat Integration Fuse Online 7.11.2 Operator.
- Click the Subscription tab.
Verify that Update approval is set to Manual:
- If Update approval is set to Manual, skip to the next step.
If Update approval is set to Automatic:
- Click Automatic.
- In the Change Update Approval Strategy dialog, select Manual and click Save.
- Under Update channel, click 7.11.2.
For the Change subscription update channel, select 7.12.x.
Note: The
latest,candidate, andstablechannels are Technology Preview features.- Under Upgrade status, click Upgrade available.
- Click Preview InstallPlan and then Approve.
Verify that the operator has fully completed the upgrade to Fuse Online 7.12.0:
- Navigate to the Operators > Installed Operators page and click Red Hat Integration Fuse Online. The Operator Details page opens.
-
Select the Syndesis tab. The status for the Fuse Online instance (the default name is app) initially shows
Installed(to indicate that Fuse Online 7.12.0 is installed). It then progresses through several phases (Installing,Starting, andInstalled). When it reaches theInstalledphase again, the upgrade to 7.12.0 is complete.
- Navigate back to the Operators > Installed Operators page, and then click Upgrade available for the Red Hat Integration Fuse Online operator.
- Click Preview InstallPlan and then Approve.
Verify that the operator has fully completed the upgrade to Fuse Online 7.12.x:
-
Navigate to Networking > Routes and click on the location link for
syndesisto open the Fuse Online web console. - In the upper right corner of the Fuse Online console, click the ? icon and then select About.
-
Verify that the About page includes
7_12_xin the version number.
-
Navigate to Networking > Routes and click on the location link for
2.3. Upgrading Fuse Online integrations Copy linkLink copied to clipboard!
To upgrade a Fuse Online environment that is running on OCP on-site, you must update Fuse Online by using the operator and then republish any running integrations as described in Upgrading Fuse Online.
On OCP 4.9 or later, when you upgrade to 7.11 by using the operator, the following warning is displayed during the Fuse Online Operator upgrade process:
W1219 18:38:58.064578 1 warnings.go:70] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
This warning appears because clients (that Fuse Online uses for the Kubernetes/OpenShift API initialization code) access a deprecated Ingress version. This warning is not an indicator of complete use of deprecated APIs and there is no issue with upgrading to Fuse Online 7.11.
2.4. Important notes for Fuse Online Copy linkLink copied to clipboard!
Important notes for the Fuse 7.12 release of the Fuse Online distribution:
- Support for Fuse Online is now deprecated as Fuse 7 is now in the maintenance support. There will not be any future development for Fuse Online when Fuse 7 moves out of support.
- Installation of Fuse Online is no longer supported on OCP 3.11.
- Fuse Online no longer supports Camel K runtime or the KNative connector.
- When Fuse Online is installed and provisioned on Red Hat infrastructure, the account is limited to a specific number of integrations that can be running at one time. For details, see the pricing plan.
- An OpenAPI schema that you upload to Fuse Online might not define input/output types. When Fuse Online creates a custom API client from an OpenAPI schema that does not specify input/output types then it is not possible to create an integration that maps integration data to fields that the API client can process or from fields that the API client processed. If an integration requires data mapping to or from a custom API, then when you upload the OpenAPI schema, click Review/Edit to open API Designer, which is an API editing tool, and add input/output type specifications.
- Since Fuse 7.8, an OpenAPI document that you use for a custom API client connector or for an API provider integration cannot have cyclic schema references. For example, a JSON schema that specifies a request or response body cannot reference itself as a whole nor reference any part of itself through any number of intermediate schemas.
On OCP 4.9 (or later), the
application-monitoringproject no longer works. It is a prerequisite for monitoring Fuse Online integrations and infrastructure components with Prometheus and Grafana.To work around this issue, you can use the built-in monitoring stack (in the
openshift-monitoringnamespace) to use theopenshift-user-workload-monitoringfeature and thegrafana-operatorto use theops addonas described in the following Adding Fuse Online monitoring resources (Prometheus and Grafana) on OCP 4.9 (or later) procedure.
2.4.1. Adding Fuse Online monitoring resources (Prometheus and Grafana) on OCP 4.9 (or later) Copy linkLink copied to clipboard!
Prerequisites
- Fuse Online is installed and running on OCP 4.9 (or later) on-site.
-
The
occlient tool is installed and it is connected to the OCP cluster in which Fuse Online is installed. -
You have
adminaccess to the OCP cluster. Your Fuse Online installation is configured with the
ops addonenabled. If required, you can enable it with this command:oc patch syndesis/app --type=merge -p '{"spec": {"addons": {"ops": {"enabled": true}}}}'oc patch syndesis/app --type=merge -p '{"spec": {"addons": {"ops": {"enabled": true}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Procedure
If there is an existing
openshift-monitoringconfiguration, skip to Step 2.Otherwise, create an
openshift-monitoringconfiguration, that sets the user workload monitoring option totrueand then skip to Step 3:Copy to Clipboard Copied! Toggle word wrap Toggle overflow If there is an existing
openshift-monitoringconfiguration:Check the existing
openshift-monitoringconfiguration to determine whether the user workload monitoring option is set to true:oc get -n openshift-monitoring cm/cluster-monitoring-config -ojsonpath='{.data.config\.yaml}'oc get -n openshift-monitoring cm/cluster-monitoring-config -ojsonpath='{.data.config\.yaml}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow If the result is
enableUserWorkload: true, the user workload monitoring option is set to true. Skip to Step 3.If the result shows any other configurations, continue to the next step to enable the monitoring of user workloads by editing the ConfigMap.
Open the ConfigMap file in an editor, for example:
oc -n openshift-monitoring edit cm/cluster-monitoring-config
oc -n openshift-monitoring edit cm/cluster-monitoring-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow Set enableUserWorkload to true. For example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the ConfigMap file.
Use the following command to watch the status of the pods in the
openshift-user-workload-monitoringnamespace:oc -n openshift-user-workload-monitoring get pods -w
oc -n openshift-user-workload-monitoring get pods -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow Wait until the status of the pods is Running, for example:
prometheus-operator-5d989f48fd-2qbzd 2/2 Running prometheus-user-workload-0 5/5 Running prometheus-user-workload-1 5/5 Running thanos-ruler-user-workload-0 3/3 Running thanos-ruler-user-workload-1 3/3 Running
prometheus-operator-5d989f48fd-2qbzd 2/2 Running prometheus-user-workload-0 5/5 Running prometheus-user-workload-1 5/5 Running thanos-ruler-user-workload-0 3/3 Running thanos-ruler-user-workload-1 3/3 RunningCopy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that the Fuse Online alert rules are enabled in Prometheus:
Access the internal prometheus instance
oc port-forward -n openshift-user-workload-monitoring pod/prometheus-user-workload-0 9090
oc port-forward -n openshift-user-workload-monitoring pod/prometheus-user-workload-0 9090Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Open your browser to
localhost:9090 -
Select Status> Targets. You should see three
syndesisendpoints. -
Press CTRL-C to terminate the
port-forwardprocess.
-
From the OperatorHub, install the Grafana Operator 4.1.0 to a namespace of your choosing, for example, to the
grafana-middlewarenamespace. Add a cluster role and a cluster role binding to allow the
grafana-operatorto list nodes and namespaces:Download the cluster role YAML file from the
grafana-operatorwebsite:curl https://raw.githubusercontent.com/grafana-operator/grafana-operator/master/deploy/cluster_roles/cluster_role_grafana_operator.yaml > tmp_role.yaml
curl https://raw.githubusercontent.com/grafana-operator/grafana-operator/master/deploy/cluster_roles/cluster_role_grafana_operator.yaml > tmp_role.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Add cluster permission for the
grafana-operatorto read other namespaces and nodes:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f tmp_role.yaml
oc apply -f tmp_role.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Enable the
grafana-operatorto read Grafana dashboards from other namespaces by using theDASHBOARD_NAMESPACES_ALLenvironment variable to limit the namespaces:oc -n grafana-middleware patch subs/grafana-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"DASHBOARD_NAMESPACES_ALL","value":"true"}]}}}'oc -n grafana-middleware patch subs/grafana-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"DASHBOARD_NAMESPACES_ALL","value":"true"}]}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Check that the
grafanapods are recreated:oc -n grafana-middleware get pods -w
oc -n grafana-middleware get pods -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow Optionally, view the
grafana-operatorlogs:oc -n grafana-middleware logs -f `oc -n grafana-middleware get pods -oname|grep grafana-operator-controller-manager` -c manager
oc -n grafana-middleware logs -f `oc -n grafana-middleware get pods -oname|grep grafana-operator-controller-manager` -c managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow Add a Grafana custom resource to start a Grafana server pod, for example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Allow the
grafana-operatorto read monitoring information:oc -n grafana-middleware adm policy add-cluster-role-to-user cluster-monitoring-view -z grafana-serviceaccount
oc -n grafana-middleware adm policy add-cluster-role-to-user cluster-monitoring-view -z grafana-serviceaccountCopy to Clipboard Copied! Toggle word wrap Toggle overflow Add a
GrafanaDatasourceto querythanos-querier:Copy to Clipboard Copied! Toggle word wrap Toggle overflow View the grafana server log:
oc logs -f `oc get pods -l app=grafana -oname`
oc logs -f `oc get pods -l app=grafana -oname`Copy to Clipboard Copied! Toggle word wrap Toggle overflow Access the grafana URL and view the Fuse Online dashboards:
echo "https://"$(oc -n grafana-middleware get route/grafana-route -ojsonpath='{.spec.host}')echo "https://"$(oc -n grafana-middleware get route/grafana-route -ojsonpath='{.spec.host}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. Obtaining technical support for Fuse Online Copy linkLink copied to clipboard!
To obtain technical support, in the Fuse Online console, in the left navigation panel, click Support. Use the Support page to download diagnostic information for all integrations or for one or more integrations that you choose. The page also provides a link for opening a support ticket and providing the diagnostic information that you downloaded.
2.6. Technology Preview features in Fuse Online Copy linkLink copied to clipboard!
This release includes the Technology Preview features that are listed below.
Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information, see Red Hat Technology Preview features support scope.
Fuse Online auditing
Fuse Online supports basic auditing for changes made by any user to the following Fuse Online components:
-
Connections - The
Nameand any other fields shown on the connector’s Details page in the Fuse Online web console. -
Connectors - The
Namefield. -
Integrations - The
Namefield.
-
Connections - The
Conditional expressions for mapping data fields
In the data mapper, you can specify a conditional expression and apply it to a data mapping. For example, a conditional expression can specify evaluation of a source field and how to populate the target field if the source field is empty. The limited set of expressions that you can specify are similar to Microsoft Excel expressions.
Document scope for user-defined properties in data mapper
In the data mapper, you can specify a scope for properties that you define for source and target mappings. In the Mapping Details panel, click Add (+) next to Properties. In the Create Property dialog. for the new Scope option, you can select the current message header, a message header from a previous step, or Camel Exchange Property for Camel-specific properties.
For a REST API client that uses OAuth, when you create an API client connector, you can change the default OAuth2 behavior of connections that you create from that connector. Fuse Online vendor extensions to the OpenAPI specification support the following:
- Providing client credentials as parameters.
- Obtaining a new access token based on HTTP response status codes.