Mechanisms for providing BAR files to an integration server or integration runtime

Integration servers and integration runtimes require two types of resources: BAR files that contain development resources, and configuration files (or objects) for setting up the integration servers or integration runtimes. When you create an integration server or integration runtime, you are required to specify one or more BAR files that contain the development resources of the App Connect Designer or IBM® App Connect Enterprise Toolkit integrations that you want to deploy.

A number of mechanisms are available for providing these BAR files to integration servers and integration runtimes. Choose the mechanism that meets your requirements.

Mechanism Description BAR files per integration server or integration runtime

Content server

When you use the App Connect Dashboard to upload or import BAR files for deployment to integration servers or integration runtimes, the BAR files are stored in a content server that is associated with the App Connect Dashboard instance. The content server is created as a container in the App Connect Dashboard deployment and can either store uploaded (or imported) BAR files in a volume in the container’s file system, or store them within a bucket in a simple storage service that provides object storage through a web interface.

The location of a BAR file in the content server is generated as a BAR URL when a BAR file is uploaded or imported to the Dashboard. This location is specified by using the Bar URL field or spec.barURL parameter.

While creating an integration server or integration runtime, you can choose only one BAR file to deploy from the content server and must reference its BAR URL in the content server. The integration server or runtime then uses this BAR URL to download the BAR file on startup, and processes the applications appropriately.

If you are creating an integration server or integration runtime from the Dashboard, and use the Integrations view to specify a single BAR file to deploy, the location of this file in the content server will be automatically set in the Bar URL field or spec.barURL parameter in the Properties (or Server) view. For more information, see Creating an integration server to run your BAR file resources (for Designer integrations), Creating an integration server to run IBM App Connect Enterprise Toolkit integrations, and Creating an integration runtime to run your BAR file resources.

If you are creating an integration server or integration runtime from the Red Hat® OpenShift® web console or CLI, or the Kubernetes CLI, and want to deploy a BAR file from the content server, you must obtain the BAR file location from the "BAR files" page (which presents a view of the content server) in the Dashboard. You can do so by using Display BAR URL in the BAR file's options menu to view and copy the supplied URL. You can then paste this value in spec.barURL in the integration server or integration runtime custom resource (CR). For more information, see Integration Server reference: Creating an instance and Integration Runtime reference: Creating an instance.

The location of a BAR file in the content server is typically generated in the following format:

  • Integration server:

    https://dashboardName-dash:3443/path?token

  • Integration runtime:

    https://dashboardName-dash.namespaceName:3443/path?token

Where:
  • dashboardName is the Dashboard name (that is, the metadata.name value).
  • path is a generated (and static) path.
  • token is a generated (and static) token. (This token is also stored in the content server.)
  • namespaceName is the namespace (or project) where the Dashboard is deployed.

For example:

https://mydashboardname-dash:3443/v1/directories/CustomerDbV1?0a892497-ea3b-4961-aefb-bc0c36479678

https://mydashboardname-dash.ace-test:3443/v1/directories/CustomerDatabaseV1?9b7aa053-656d-4a30-a31c-123a45f8ebfd

1

External repository

(Applicable only if spec.version resolves to 12.0.1.0-r1 or later)

While creating an integration server or integration runtime, you can choose to deploy multiple BAR files, which are stored in an external HTTPS repository system, to the integration server or integration runtime. You might find this option useful if you have set up continuous integration and continuous delivery (CI/CD) pipelines to automate and manage your DevOps processes, and are building and storing BAR files in a repository system such as JFrog Artifactory.

This option enables you to directly reference one or more BAR files in your integration server or integration runtime CR without the need to manually upload or import the BAR files to the content server in the App Connect Dashboard or build a custom image. You will need to provide basic (or alternative) authentication credentials for connecting to the external endpoint where the BAR files are stored, and can do so by creating a configuration object of type BarAuth. When you create your integration server or integration runtime, you must then reference this configuration object.

If you are creating an integration server or integration runtime from the Dashboard, you can use the Configuration view to create (and select) a configuration object of type BarAuth that defines the required credentials. You can then use the Properties (or Server) view to specify the endpoint locations of one or more BAR files in the Bar URL field or as the spec.barURL value. If you want to be able to use the App Connect Dashboard to view your integration server or integration runtime, also set the following parameter:
  • Integration server:

    Ensure that spec.createDashboardUsers is set to true.

  • Integration runtime:

    Ensure that spec.dashboardUsers.bypassGenerate is set to false.

For more information, see BarAuth type, Creating an integration server to run your BAR file resources (for Designer integrations), Creating an integration server to run IBM App Connect Enterprise Toolkit integrations, and Creating an integration runtime to run your BAR file resources.
If you are creating an integration server or integration runtime from the Red Hat OpenShift web console or CLI, or the Kubernetes CLI, you must create a configuration object of type BarAuth that defines the required credentials, as described in Configuration reference and BarAuth type. When you create the integration server or integration runtime CR, you must specify the name of the configuration object in spec.configurations and then specify the endpoint locations of one or more BAR files in spec.barURL. If you want to be able to use the App Connect Dashboard to view your integration server or integration runtime, also set the following parameter:
  • Integration server:

    Ensure that spec.createDashboardUsers is set to true.

  • Integration runtime:

    Ensure that spec.dashboardUsers.bypassGenerate is set to false.

For more information, see Integration Server reference: Creating an instance and Integration Runtime reference: Creating an instance.
You can specify multiple BAR files as follows:
  • Integration server:

    Specify the URLs in the Bar URL field or in spec.barURL by using a comma-separated list; for example:

    https://artifactory.com/myrepo/getHostAPI.bar,https://artifactory.com/myrepo/CustomerDbV1.bar

  • Integration runtime:
    Specify each URL in a separate Bar URL field by using the Add button, or specify the URLs in spec.barURL as shown in the following example:
    spec:
      barURL:
        - 'https://artifactory.com/myrepo/getHostAPI.bar'
        - 'https://artifactory.com/myrepo/CustomerDbV1.bar'
Tip: If you are using GitHub as an external repository, you must specify the raw URL in the Bar URL field or in spec.barURL. For example:
https://raw.github.ibm.com/somedir/main/bars/getHostAPI.bar
https://github.com/johndoe/somedir/raw/main/getHostAPI.bar
https://raw.githubusercontent.com/myusername/myrepo/main/My%20API.bar

Some considerations apply if deploying multiple BAR files:

  • Ensure that all of the applications can coexist (with no names that clash).
  • Ensure that you provide all of the configurations that are needed for all of the BAR files.
  • All of the BAR files must be accessible by using the single set of credentials that are specified in the configuration object of type BarAuth.

Multiple

Custom image

You can build a custom server runtime image that contains all the configuration for the integration server or integration runtime, including all the BAR files or applications that are required, and then use this image to deploy an integration server or integration runtime.

When you create the integration server or integration runtime CR, you must reference this image by using the following parameter:
  • Integration server:

    spec.pod.containers.runtime.image

  • Integration runtime:

    spec.template.spec.containers[].image

For example:

image-registry.openshift-image-registry.svc:5000/imageName

This image must be built from the version that is specified as the spec.version value in the CR. Channels are not supported when custom images are used.

Multiple