Chapter 1. Installing Fuse Online on OCP 4.x

Fuse Online is a flexible and customizable, open source platform that provides core integration capabilities as a service.

Each installation of Fuse Online is referred to as a Fuse Online instance (or environment). In a given OpenShift project, there can be exactly one Fuse Online instance. Each Fuse Online instance has its own URL. In a single OpenShift cluster, there can be multiple Fuse Online instances.

You can install Fuse Online as an OpenShift developer user if you have the proper permissions to install operators from OperatorHub. You can install a default Fuse Online instance or a customized Fuse Online instance. For a customized Fuse Online instance, you must edit the default custom resource.

Important

The Fuse Online installation process requires access to registry.redhat.io, which is the Red Hat Ecosystem Catalog for container images.

The following topics provide details for installing Fuse Online:

1.1. Overview of the steps required to install Fuse Online on OCP 4.x

To install Fuse Online on OCP 4.x, here are the main steps:

  1. Generate an OpenShift secret that configures authentication to Red Hat container images.
  2. Install the Fuse Online Operator from the OperatorHub to a project (namespace) on the cluster.
  3. Optionally, if you want to include an external database for persisting connection and integration definitions, create an OpenShift secret.
  4. Add a Fuse Online instance to an OpenShift 4.x project.

    Optionally, edit the custom resource to enable one or more add-on features and/or implement one or more custom configuration settings.

  5. Optionally, grant permission to other developer users so that they can access the Fuse Online web console.

1.1.1. Considerations for installing Fuse Online in a restricted environment (OCP 4.6 and later)

Before you install Fuse Online in a restricted environment, you must complete the following tasks.

Prerequisite

  • You have cluster admin access on the restricted environment’s OpenShift cluster.

Procedure

  • Mirror all of the Fuse Online images to a location available on your private network. For more information about installing images for OpenShift operators in a restricted environment, see the Using Operator Lifecycle Manager on restricted networks section in the OpenShift documentation.
  • Set up a custom Maven repository with the Fuse repository contents. For detailed information, see the Red Hat Solution: How to create an offline Maven repository for Fuse 7.
  • Before you install Fuse Online, edit the Fuse Online custom resource. Use the maven:mirror setting to instruct Fuse Online to only look at the single specified Maven repository to access Maven artifacts when it builds integrations.

    In the following example, replace https://customRepo with your offline repository’s URL:

    components:
      server:
        features:
          maven:
            mirror: https://customRepo
  • Set the HTTPS_PROXY, HTTP_PROXY, and NO_PROXY environment variables to syndesis-oauthproxy. You can set these environment values when you install Fuse Online or afterwards.

    To set the environment values on syndesis/app after you install Fuse Online:

    1. Retrieve the values from proxy/cluster by using the following commands:

      myhttpProxy=$(oc get proxy/cluster -ojsonpath='{.status.httpProxy}')
      
      myhttpsProxy=$(oc get proxy/cluster -ojsonpath='{.status.httpsProxy}')
      
      mynoProxy=$(oc get proxy/cluster -ojsonpath='{.status.noProxy}')
    2. Set the values by using the following oc patch command:

      oc patch syndesis/app --type=merge -p "{\"spec\": {\"components\": {\"oauth\": {\"environment\": {\"HTTPS_PROXY\": \""${myhttpsProxy}"\", \"HTTP_PROXY\": \"${myhttpProxy}\", \"NO_PROXY\": \"${mynoProxy}\"}}}}}"

      This command returns the following confirmation:

      syndesis.syndesis.io/app patched

      Because you changed the syndesis-oauthproxy deployment, OpenShift recreates the syndesis-oauthproxy-1-deploy pod.

  • By default, the todo sample application is disabled (in the Fuse Online custom resource, the addon:todo:enabled value is set to false). Optionally, after you install Fuse Online in a restricted environment, you can download the todo sample application from https://github.com/syndesisio/todo-example and follow the steps in the Readme file, changing the repository URL to the location available on your private network.

1.2. When editing the default custom resource is required before installing Fuse Online

The Fuse Online installation includes a default custom resource, which specifies the default settings for configurable Fuse Online environment add-on features and parameter settings.

You need to edit the default custom resource before you install Fuse Online if you want the installed Fuse Online environment to:

  • Use a URL that you specify for the OpenShift route by which the Fuse Online console can be reached. The default is that the installation process calculates this route.
  • Use an external database to store connection and integration definitions. The default is that the environment uses an internal database.
  • Increase the amount of internal storage that is available for persisting connection and integration definitions. The default, which is 1Gi, is sufficient for most Fuse Online environments.

To configure a Fuse Online environment for any one of these behaviors, you MUST edit the custom resource when you install Fuse Online. In other words, you cannot change the configuration of an installed Fuse Online environment to implement any of these behaviors. Also, after you install a Fuse Online environment that is configured for any of these behaviors, you cannot change that behavior in the installed environment.

1.3. Descriptions of custom resource attributes that configure Fuse Online

In addition to the custom resource attributes that you can specify only before installation, there are a number of custom resource attributes that you can change before or after installation.

Table 1 provides a brief description of configurable custom resource settings and indicates when you can change them: before and/or after installation. To achieve the Fuse Online configuration that you want, use the information in this table to determine how you need to change the custom resource before installation or how you want to change it after installation. Then follow the appropriate procedure:

For OCP 4.x:

Table 1.1. Configurable custom resource settings

Feature/SettingWhen you can set thisSpecification

Enhanced activity tracking

Additional information about enhanced activity tracking follows this table.

Set only before installation

addons:
  jaeger:
    enabled: true
    clientOnly: false
    operatorOnly: false

Enhanced activity tracking is enabled, by default. If you want to customize the Jaeger configuration, you can set clientOnly or operatorOnly to true.

External database

Additional information about using an external database follows this table.

Set only before installation

spec:
  components:
    database:
      externalDbURL: postgresql://custom-postgres:5432
      user: db-user-name
      name: db-name


Replace custom-postgres:5432 with the host name and port for a PostgreSQL database.
Replace db-user-name with the name of a user account that can access that database.
Replace db-name with the name of the database.

Internal storage capacity for connections and integrations.

Ignored if you also specify an external database.

Additional information about increasing internal storage follows this table.

Set only before installation

spec:
  components:
    database:
      resources:
        volumeCapacity: 1Gi
        volumeName: my-volume


Replace 1Gi with the amount of storage you need. The default is 1Gi.

Replace my-volume with the name of the volume to use for internal storage. This parameter is optional.

OpenShift route for accessing Fuse Online console

Set only before installation

spec:
  routeHostname: project.route.com


Replace project.route.com with the OpenShift route by which the Fuse Online console can be reached.
For example: north-project.6a63.fuse-online.openshiftapps.com

Memory and CPU

Increase the default amount of memory that is available to one or more components.

Each component defines its own memory requirement, which means that each pod has a limit on the amount of memory it is assigned. For information about limit and request settings, see the section on Configuring cluster memory to meet container memory and risk requirements in the OpenShift documentation.

You can also specify CPU resources for the server component.

The database component is the internal database that stores connection and integration definitions.

The meta component provides the business logic, such as the connectors, which the server loads.

The prometheus component monitors Fuse Online infrastructure components and Fuse Online integrations.

Set only before installation

components:
  server:
    resources:
      limit:
        memory: "1024Mi"
        cpu: "800m"
      request:
        memory: "512Mi"
        cpu: "500m"
  meta:
    resources:
      limit:
        memory: "750Mi"
      request:
        memory: "300Mi"
  database:
    resources:
      limit:
        memory: "300Mi"
      request:
        memory: "300Mi"
  prometheus:
    resources:
      limit:
        memory: "750Mi"
      request:
        memory: "750Mi"

3scale discovery

Expose APIs for Fuse Online API provider integrations so that they are discoverable by Red Hat 3scale.

More information: Configuring Fuse Online to enable 3scale discovery of APIs.

Set before or after installation

components:
    server:
      features:
        managementUrlFor3scale: https://url-for-3scale


Specify the URL for your 3scale user interface.

Backups

Additional setup steps are described in Backing up a Fuse Online environment.

Set before or after installation

spec:
  backup:
    schedule: interval


Replace interval with the desired duration between backups. Use cron utility format for intervals and predefined schedules. Do not specify the @ sign in front of the interval.

Node affinity and tolerations

Determines the placement of Fuse Online infrastructure component and integration pods onto nodes within the cluster.

Node affinity allows you to specify an affinity for Fuse Online pods towards a group of nodes to be placed on.

Tolerations allows you to control which nodes the Fuse Online pods run on and to prevent other workloads from using those nodes.

See also: Configuring Fuse Online pods.

Set before or after installation

Note: Use infraScheduling for Fuse Online infrastructure component deployments. For Fuse Online integration deployments, replace infraScheduling with integrationScheduling.

spec:
  infraScheduling:
    tolerations:
      key: value
      operator: value
      effect: value


spec:
  infraScheduling:
    affinity:
      nodeAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
          weight:
          preference:
            matchExpressions:
              key: value
              operator: value
              values:
                value1,
                value2

Integration limit

Specify the maximum number of running integrations. The default, 0, does not limit the number of running integrations.

Set before or after installation

components:
    server:
      features:
        integrationLimit: 0

Database connection pool

You can adjust the server connection pool configuration to manage the connections to the database.

Additional information about the database pool configuration follows this table.

Set before or after installation

components:
  server:
    connectionPool:
      connectionTimeout: 30000
      idleTimeout: 600000
      leakDetectionThreshold: 0
      maxLifetime: 1800000
      maximumPoolSize: 10
      minimumIdle: 10

Java Options

You can specify Java options for the syndesis-server and syndesis-meta components.

Depending on the Java option, you can specify different values for the components. For example, you can set a JVM-related parameter for syndesis-server only, because it requires more computer resources than syndesis-meta.

Set before or after installation

components:+   server:
    javaOptions:
      -option_name=my_value   meta:
    javaOptions:
      -option_name=my_value

Replace -option_name with the Java option name. You can specify any Java option prefix (-D, -X, or -XX).

Replace my_value with value for the option.

For example, to configure the HTTP proxy: components:+   server:
    javaOptions:
      -Dhttp.proxyHost=10.0.0.100 -Dhttp.proxyPort=8800   meta:
    javaOptions:
      -Dhttp.proxyHost=10.0.0.100 -Dhttp.proxyPort=8800`

Maven Arguments

Specify additional Maven options to use when building Fuse Online integrations.

Set before or after installation

components:
    server:
      features:
        maven:
          additionalArguments:
            "typeA=stringA typeB=stringB"


For example:
          additionalArguments:
            "-Dhttp.proxy=my_proxy -DpropA=valueA"

Maven Mirror

Specify the single repository from which you want Fuse Online to access Maven artifacts when it builds integrations. Ignore the Maven repositories that Fuse Online would access by default. This option is typically used when you install Fuse Online in a restricted environment.

Set before or after installation

components:
    server:
      features:
        maven:
          mirror: https://customRepo

Replace `https://customRepo
with the URL of the repository.

Maven Repositories

Specify external Maven repositories that your Fuse Online environment needs to access, in addition to the Maven repositories that Fuse Online accesses by default.

Set before or after installation

components:
    server:
      features:
        mavenRepositories:
          customRepo1: https://customRepo1
          customRepo2: https://customRepo2


Replace customRepo with the name of a repository.
For each repository, specify its URL.

Monitoring

See also: Monitoring Fuse Online integrations on OCP with Prometheus.

Set before or after installation

addons:
  ops:
    enabled: true

Public REST API

Additional set-up steps are described in Exposing Fuse Online public REST API endpoints for use by external tools.

Set before or after installation

addons:
  publicApi:
    enabled: true
    routeHostname: public-syndesis.192.168.64.63.nip.io


Set routeHostname to the public address for invoking Fuse Online REST API endpoints. Your cluster setup determines the public address that you need to specify. In the previous example, the route host name is valid for a minishift cluster.

ToDo addon
Provides a sample integration application for testing purposes, an AMQ Broker, as well as a sample PostgreSQL database and a sample database connector.

Set before or after installation

spec:
  addons:
    todo:
      enabled: false

For installing Fuse Online in a restricted environment, you must make sure that the todo addon is set to false (the default) before installation. After installing Fuse Online , you can optionally download the todo application from https://github.com/syndesisio/todo-example and follow the steps in the Readme file, changing the repository URL to a location available on your private network.

See also Adding sample data to a Fuse Online environment running on OCP.

Auditing

For viewing basic changes made to connectors, connections, and integrations.

See also Auditing Fuse Fuse Online components.

Note: This is a Technology Preview feature.

Set before or after installation

components:
  server:
    features:
      auditing: true

About add-on features and configuration settings

  • Enhanced activity tracking

    Activity tracking, using Jaeger, is enabled by default when you install Fuse Online. The Fuse Online installation (from the OperatorHub or the command-line script) detects the existence of the OperatorHub and installs Jaeger by using the OperatorHub’s subscription functionality. For the limited circumstances in which the OperatorHub is not available, Fuse Online uses its own installation functions to install Jaeger. Optionally, you can customize the Jaeger configuration before you install Fuse Online as described in the About configuring Fuse Online for Jaeger monitoring section.

  • External database for persisting connections and integrations

    A default installation of Fuse Online provides an internal PostgreSQL database that Fuse Online uses to persist connection and integration definitions. You can choose to use an external PostgreSQL database instead, such as one of the PostgreSQL templates that OpenShift provides by default.

  • Internal storage capacity

    The default setting of 1Gi is sufficient for most Fuse Online environments. It is expected that you would increase this setting for a new Fuse Online installation only upon the recommendation of Red Hat technical support. That is, you have been running another Fuse Online environment in which you encountered Fuse Online server errors and Red Hat technical support determined that you need to install a new Fuse Online environment with a database volume capacity that is larger than the default.

    To increase Fuse Online internal storage capacity in an OpenShift project that is already running Fuse Online, you must first uninstall Fuse Online. See Uninstalling Fuse Online from an OCP project.

  • Database connection pool configuration

    You can configure the following syndesis-server database connection pool properties:

    • connectionTimeout - The maximum number of milliseconds that the syndesis-server waits for a connection from the pool. The lowest acceptable connection timeout is 250 ms. The default is 30000 (30 seconds).
    • idleTimeout - The maximum amount of time (in milliseconds) that a connection is allowed to sit idle in the pool before the connection is removed. A value of 0 means that idle connections are never removed from the pool. The minimum allowed value is 10000 (10 seconds). The default is 600000 (10 minutes),
    • leakDetectionThreshold - The amount of time (in milliseconds) that a connection can be out of the pool before a message is logged indicating a possible connection leak. A value of 0 means leak detection is disabled. The lowest acceptable value for enabling leak detection is 2000 (2 seconds). The default is 0.
    • maxLifetime - The maximum lifetime (in milliseconds) of a connection in the pool. The minimum allowed value is 30000 (30 seconds). The default is 1800000 (30 minutes).
    • maximumPoolSize - The maximum size that the pool is allowed to reach, including both idle and in-use connections. The default is 10.
    • minimumIdle - The minimum number of idle connections maintained in the pool. The default is the value of maximumPoolSize.

1.4. About configuring Fuse Online for Jaeger monitoring

Jaeger is open source software for tracing transactions between distributed services. It is especially useful for monitoring and troubleshooting complex microservices environments.

When you install Fuse Online, either from the OperatorHub or by using the command-line script, the Fuse Online installation detects the existence of the OperatorHub and installs Jaeger by using the OperatorHub’s subscription functionality. For the limited circumstances in which the OperatorHub is not available, Fuse Online uses its own installation functions to install Jaeger.

A default Fuse Online environment configures all needed Jaeger components. Optionally, you can edit the Fuse Online custom resource to specify a client-only/independent server configuration or a hybrid Jaeger client and Jaeger Operator configuration.

Default Jaeger configuration

The basic, out-of-the-box, configuration includes all Jaeger components. You can start learning about how Jaeger works by experimenting with its monitoring capabilities. The default configuration provides a memory-only, limited, backend storage capability.

Installing Fuse Online with the default Jaeger configuration has the following results:

  • Fuse Online components have Jaeger communication URLs.
  • Jaeger Operator is installed.
  • Jaeger custom resource is configured with a default configuration for activity monitoring.

A Fuse Online installation with the default Jaeger configuration, has the following syndesis custom resource specification:

apiVersion: syndesis.io/v1beta2
kind: Syndesis
metadata:
  name: app
spec:
  addons:
    jaeger:
      enabled: true

When the clientOnly and operatorOnly are unspecified (set to false, by default) Fuse Online uses the provided Jaeger backend as well as the default, memory-only storage provided by the Jaeger server configuration.

Client-only/independent server configuration

With a client-only/independent server configuration, only client URL connections are configured for communication between Fuse Online and an externally configured Jaeger backend. All aspects of the Jaeger backend are external and independent of the Fuse Online environment and syndesis-operator. This includes the Jaeger Operator and the Jaeger custom resource.

To install a client-only Jaeger configuration, edit the custom resource before you install Fuse Online as follows:

For example:

apiVersion: syndesis.io/v1beta2
kind: Syndesis
metadata:
  name: app
spec:
  addons:
    jaeger:
      enabled: true
      clientOnly: true
      queryUri: https://jaeger-query-hostname:443/api
      collectorUri: https://jaeger-collector-hostname:14268/api/traces

Hybrid Jaeger client and operator configuration

With a hybrid Jaeger client and Jaeger Operator configuration, Fuse Online installs the Jaeger Operator as well as the Jaeger client capabilities. A Jaeger custom resource is not installed. You must install your own Jaeger custom resource, which defines your Jaeger server configuration. This lets you take advantage of the Fuse Online-provided capability and also tailor Jaeger configuration for your own environment, for example, you can use Elasticsearch or Cassandra for data storage.

To install a hybrid Jaeger client and Jaeger Operator configuration:

  • Edit the custom resource before you install Fuse Online as shown in the following example:

    apiVersion: syndesis.io/v1beta2
    kind: Syndesis
    metadata:
      name: app
    spec:
      addons:
        jaeger:
          enabled: true
          operatorOnly: true
  • Name the Jaeger custom resource syndesis-jaeger as shown in the following example:

    apiVersion: jaegertracing.io/v1
    kind: Jaeger
    metadata:
      name: syndesis-jaeger
      ...
    spec:
       ....

    Note: Alternately, if you want to use a different name for the Jaeger custom resource, set the queryUri and collectorUri in the Syndesis custom resource as described in the Client-only/independent server configuration section.

When the Jaeger custom resource with syndesis-jaeger name is created, the Jaeger instance collects data from the Fuse Online integrations. By default, you can view this data in the Fuse Online activity log.

1.5. Installing Fuse Online with an external database

If you want to install a Fuse Online environment that uses an external database to persist connection and integration definitions:

  • Create a postgreSQL database with a hostname that the OpenShift cluster can locate.
  • Before you install Fuse Online, create an OpenShift secret named syndesis-global-config for the external database.
  • Install Fuse Online.
  • Before you deploy Fuse Online, edit the custom resource to configure the connection to the external database.

Prerequisites

  • Fuse Online is not yet installed.
  • The oc client tool is installed and it is connected to the OCP cluster in which you plan to install Fuse Online.
  • A user with cluster administration permissions gave you permission to install Fuse Online in any project that you have permission to access in the cluster.

Procedure

  1. Log in to OpenShift with an account that has permission to install Fuse Online. For example:

    oc login -u developer -p developer
  2. Create a postgreSQL database that is available to the OpenShift cluster on which you install Fuse Online and that defines values for the following configuration options:

    • Connection username
    • Database name
    • Database password

      The following example uses one of the PostgreSQL templates that OpenShift provides by default.

      Note: Only use the PostgreSQL ephemeral (postgresql-ephemeral) template for development or testing purposes. For a production environment, use the PostgreSQL (postgresql) template.

      oc new-app postgresql-ephemeral -p POSTGRESQL_USER=syndesis -p POSTGRESQL_PASSWORD=exdb-pwd -p POSTGRESQL_DATABASE=syndesisdb

      This command returns information about the database that you need when you configure Fuse Online, such as the URL.

      For information about creating a database see the PostgreSQL topic in the OpenShift documentation.

  3. Create and save a resource file (for example, my-fuse-online-secret-cr.yml) that contains the following content:

    apiVersion: v1
    kind: Secret
    metadata:
      name: syndesis-global-config
      namespace: my-fuse-online-project
    type: Opaque
    stringData:
      POSTGRESQL_PASSWORD: exdb-pw

    Replace my-fuse-online-project with the name of the OpenShift project in which you plan to install the Fuse Online environment for which you are specifying an external database.

    Replace exdb-pw with the password from Step 2. Fuse Online will use it as the password for accessing the external database. Note that stringData converts the password value to a base64-encoded value (so that you do not have to do the conversion).

    For information about OpenShift secrets, see Providing sensitive data to pods.

  4. Add the secret to the cluster, for example:

    oc apply -f my-fuse-online-secret-cr.yml

    On the OpenShift cluster, the syndesis-global-config secret is available to a Fuse Online environment that is installed with a custom resource that specifies an external database.

  5. Install Fuse Online in the my-fuse-online-project project that you specified in the YAML file for the secret (in Step 4).

    • For OCP 4.6 and later, follow the instructions in Installing the Fuse Online Operator from the OperatorHub. In Adding a Fuse Online instance to an OpenShift 4.x project, before you deploy Fuse Online, edit the custom resource to specify the use of an external database, for example:

      apiVersion: syndesis.io/v1alpha1
      kind: Syndesis
      metadata:
        name: app
      spec:
        components:
          database:
            externalDbURL: "postgresql://syndesis-external-db:5432"
            user: db-user-name
            name: db-name
    • Replace syndesis-external-db:5432 with the host name and port for the external PostgreSQL database.
    • Replace db-user-name with the Connection username.
    • Replace db-name with the name of the database.

Result

The Fuse Online installation process uses the settings in the custom resource to determine the configuration of the installed Fuse Online environment.

When correctly installed and deployed, Fuse Online brings up all of the required pods except for syndesis-db. Instead of syndesis-db, the syndesis-server connects to the database with the service name of the external database. If the external database configuration is incorrect then the syndesis-server fails to initialize and the Fuse Online deployment ends with an error.

1.6. Installing Fuse Online

Fuse Online is a flexible and customizable, open source platform that provides core integration capabilities as a service. You can install Fuse Online as an OpenShift developer user if you have the proper permissions to install operators from OperatorHub.

Here are the general steps for installing Fuse Online by using the operator:

  1. Create a secret in the OpenShift project (namespace) to configure authentication with registry.redhat.io so that the Fuse Online Operator can access the necessary installation templates.
  2. Install the Fuse Online Operator to an OpenShift project (namespace). When the operator is installed, the operator is running in the selected namespace.
  3. Create an instance of Fuse Online from the installed operator. You can create an instance with default settings or you can customize the instance by editing the instance’s custom resource. You can then access Fuse Online from the provided URL.

The following topics provide details for installing Fuse Online on OCP 4.x by using the operator:

1.6.1. Authenticating with registry.redhat.io for container images

Configure authentication with registry.redhat.io before you can deploy Fuse container images on OpenShift.

Prerequisites

  • Cluster administrator access to an OpenShift Container Platform cluster.
  • OpenShift oc client tool is installed. For more details, see the OpenShift CLI documentation.

Procedure

  1. Log into your OpenShift cluster as administrator:

    oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
  2. Open the project in which you want to deploy Fuse:

    oc project myproject
  3. Create a docker-registry secret using your Red Hat Customer Portal account, replacing PULL_SECRET_NAME with psi-internal-registry to create:

    oc create secret docker-registry psi-internal-registry \
      --docker-server=docker-registry.redhat.io \
      --docker-username=CUSTOMER_PORTAL_USERNAME \
      --docker-password=CUSTOMER_PORTAL_PASSWORD \
      --docker-email=EMAIL_ADDRESS

    You should see the following output:

    secret/psi-internal-registry created
    Important

    You must create this docker-registry secret in every OpenShift project namespace that will authenticate to registry.redhat.io.

  4. Link the secret to your service account to use the secret for pulling images. The following example uses the default service account, builder service account, and deployer service account:

    oc secrets link default psi-internal-registry
    oc secrets link default psi-internal-registry --for=pull
    oc secrets link builder psi-internal-registry
    oc secrets link builder psi-internal-registry --for=pull
    oc secrets link deployer psi-internal-registry
    oc secrets link deployer psi-internal-registry --for=pull

    The service account name must match the name that the OpenShift pod uses.

    Note

    If you do not want to use your Red Hat username and password to create the pull secret, you can create an authentication token using a registry service account.

Additional resources

For more details on authenticating with Red Hat for container images:

1.6.2. Installing the Fuse Online Operator from the OperatorHub

You can install the Fuse Online Operator from OperatorHub by using the OpenShift Container Platform web console. Follow these steps for each OpenShift project (namespace) in which you want to install Fuse Online.

Prerequisites

  • You have administrator or developer access to the OpenShift cluster. For a developer user, you have proper permissions to install operators from OperatorHub.
  • You have configured authentication with registry.redhat.io as described in Authenticating with registry.redhat.io for container images.
  • You installed the oc client tool and it is connected to the OCP cluster on which you plan to install Fuse Online.

Procedure

  1. In a web browser, navigate to the OpenShift console in your browser and then log in to the console with your administrator or developer credentials.
  2. If you are logged in as an administrator, click Operators and then click OperatorHub.

    If you are logged in as a developer, click Add and then click the From Catalog card.
  3. In the Filter by keyword field, type Fuse Online.
  4. Click the Red Hat Integration - Fuse Online card. The Fuse Online Operator install page opens.
  5. Click Install. The Install Operator page opens.

    1. The Update Channel defines a stream of updates for the operator and is used to roll out updates for subscribers. Accept the default channel, latest.
    2. For Installation mode, select a namespace (project) from the list of namespaces on the cluster. Select the same namespace that you used when you created a docker registry secret in Authenticating with registry.redhat.io for container images.
    3. For the Update Approval, select Automatic or Manual to configure how OpenShift handles updates to the Fuse Online Operator.

      • If you select Automatic updates, when a new version of the Fuse Online Operator is available, the OpenShift Operator Lifecycle Manager (OLM) automatically upgrades the running instance of the Fuse Online without human intervention.
      • If you select Manual updates, when a newer version of an operator is available, the OLM creates an update request. A cluster administrator must then manually approve that update request to have the Fuse Online Operator updated to the new version.
  6. Click Install to make the Fuse Online Operator available in the specified namespace (project).
  7. To verify that Fuse Online is installed in the project, click Operators and then click Installed Operators to see Red Hat Integration - Fuse Online in the list.
  8. In a Terminal window, type the following command to link the secret (that you created in Authenticating with registry.redhat.io for container images) to the Fuse Online Operator service account:

    oc secrets link syndesis-operator PULL_SECRET_NAME --for=pull

Next Steps

After the Fuse Online Operator is installed, you add an instance of Fuse Online to the OpenShift project.

1.6.3. Adding a Fuse Online instance to an OpenShift 4.x project

After the Fuse Online Operator is installed in an OpenShift 4.x project, you add an instance of Fuse Online to the OpenShift project. The Fuse Online instance provides the URL that a developer uses to access Fuse Online.

Prerequisites

  • The Fuse Online Operator is installed into the current OpenShift project.
  • On your OCP environment, at least three persistent volumes are available for use by Fuse Online. All of the persistent volumes must have the following configuration requirements:

    • capacity.storage: 1Gi
    • accessMode: ReadWriteOnce
  • Decide if you want to install a default Fuse Online instance or customized instance. For more information about the custom resource settings that you can specify, see When editing the default custom resource is required before installation.

Procedure

  1. Follow these steps to access the Create Syndesis page depending on your user role:

    • If you are logged in as an administrator:

      1. Click Operators and then click Installed Operators.
      2. In the Name column, click Red Hat Integration - Fuse Online. The Operator Details page opens.
      3. Under Provided APIs, click Create Instance.
    • If you are logged in as a developer:

      1. Click Add and then click the Operator Backed card.
      2. Click the Syndesis CRD card. The Syndesis CRD page opens.
      3. Click Create.

        The Create Syndesis page opens.
  2. Enter a name or leave app as the default.
  3. Select the YAML view option to view the default custom resource.
  4. Optional. Edit the custom resource.

    For details on the custom resource settings that you can specify see When editing the default custom resource is required before installation and Descriptions of custom resource attributes that configure Fuse Online.

    The Fuse Online installation process uses the settings that you specify in the custom resource to determine the configuration of the installed Fuse Online environment.

  5. Click Create to create the Fuse Online instance. OpenShift starts the pods, services, and other components for Fuse Online.
  6. To obtain the URL for Fuse Online:

    1. Click Networking > Routes.
    2. Make sure that the correct project is selected.
    3. In the syndesis row, in the Location column, click the URL for Fuse Online.
    4. Use your OpenShift login credentials to login to the Fuse Online environment.
  7. To allow other developer users access to the Fuse Online web console, an administrator must grant each developer user the view role for the project in which Fuse Online is installed by using the following command:

    oc adm policy add-role-to-user view <username> -n <project-name>

    For example, to grant view permission for the myfuseonline project to user jdoe:

    oc adm policy add-role-to-user view jdoe -n myfuseonline