Using the assembly canvas

Use the assembly canvas in the Platform UI to create instances and integrations by adding nodes that you can connect, move, and edit.

Any changes that you make on the canvas are simultaneously updated in the UI form and YAML views. When you click Create or Update from any view, the instances that you define are created and deployed.

For a tutorial on using the assembly canvas, see Tutorial: Using the assembly canvas to create messaging workflows with Kubernetes resources.

Creating an assembly canvas

  1. On the home page, click Build with assembly canvas. A new canvas opens.

  2. In the "Build with assembly canvas" dialog, enter the name for your canvas.

  3. (Optional) If the operators are installed in "All namespaces on the cluster" mode, you can change the namespace for the canvas.

  4. Click Build. You can now start building a new canvas.

Canvas configuration

  1. Click the UI form tab.

  2. Set the following fields to configure the canvas.

    1. In the Name field, enter a name for the canvas.

    2. Click to expand Namespace and select the namespace where your canvas will be deployed.

    3. Set License Accept to true if you accept the Cloud Pak for Integration license agreement. For details, see Licensing.

    4. For License LI, keep the default version unless you change spec.version. For details about licenses for specific versions, see the "Table of license versions" section in Licensing.

    5. Specify the Storage class. Click Select Storage Class to select a Matching storage classes found in the dropdown that supports ReadWriteOnce (RWO) volumes. For more information, see Storage considerations.

    6. Set any other configuration values as appropriate. For more information, see Configuring an assembly.

  3. Click the Canvas tab to return to the canvas and add nodes.

Adding instances to the canvas

To add an instance, expand the Palette section, then drag-and-drop the instance that you want to create onto the canvas. You can hover over any entry in the Palette (or any instances that have been created on the canvas) to see more information about that item.

The two categories of instances that are available in the Palette are "Assembly managed instances" and "Independent instances".

Assembly managed

These nodes are instances that are managed for you by the Cloud Pak for Integration operator.

When you create a resource as part of an assembly, the Cloud Pak for Integration operator uses best-practice default values for the resource's configuration. For example, when you create a Queue manager, the Cloud Pak for Integration operator automatically creates a client connection channel and mutual TLS certificates. Managed instances also inherit some configuration settings of the assembly, such as version, license, storage class, and availability.

Independent instances

These nodes are instances that a user created, and they are not managed for you by the Cloud Pak for Integration operator. When you create an independent instance, you must manage the configuration yourself, as you do when you create a stand-alone instance from the Create an instance page.

By adding independent instances to the canvas, you can create an integration use-case or solution as one unit and deploy it to the OpenShift cluster. Other users can review your canvas to edit or reconfigure the integration solution that you created.

Resources

These nodes are Kubernetes resources such as ConfigMaps and Secrets. By adding these resources to the canvas, you can manage all the components of your integration solution in one place instead of having to leave the Platform UI to manage Red Hat OpenShift resources.

Importing existing instances

To select existing instances that you want to import as independent instances to a given canvas, use the one of the following methods.

"Import existing instances" panel
  1. Click the Import existing instances button in the Canvas toolbar.

    Import existing instances button on canvas toolbar

    The Import existing instances panel opens with a list of all the instances that are available for you to add to this canvas (draft instances are excluded).

  2. Select the instances that you want to add, then click Import.

Manually, by using labels
  1. Click the UI form tab in the canvas and review the Independent resources section. The Match labels field in this section contains a default label that includes the name of the assembly, for example, assembly.integration.ibm.com/navigator-ns.my_assembly=true.

  2. Edit this label or add a new label. If you specify multiple match labels, the resource must match all of them to be imported (see the next step).

  3. Click Update. Cloud Pak for Integration searches the OpenShift cluster for resources that have matching labels. Any resources that match are Imported (added) to the canvas.

If you prefer to use the YAML view instead of the UI form view, click the YAML tab, then update the matchLabels field in the independentResources section.

You can also use the Match expressions field (matchExpressions in the YAML view) to specify a list of labels. For more information about match labels and expressions, see Labels and Selectors in the Kubernetes documentation.

Tip: You can add the same instance to different assembly canvases, either by using the "Import existing instances" option, or by adding multiple labels to the instance and then specifying a different label in each canvas.

Adding a node by using a template

You can add an independent instance by importing a template that is stored in Automation assets. You need to deploy Automation assets before using this feature.

  1. Click the Add node from template button in the canvas toolbar. The "Select an asset" panel opens with a list of all available templates.

  2. Select the template that you want to use for adding a node, then click the "Create from asset" ("+") icon. To preview the template first, click the template name. You can either import the template by clicking Create from asset, or click Back to choose a different template.

Editing instances

You can copy and paste instances or delete them by using the options on the Canvas toolbar.

To edit an instance, hover over it or right-click it, then click Edit to show the UI Form and YAML views, where you can make updates.

When you edit an instance, Cloud Pak for Integration might add new instances to the canvas. For example, when you edit an API Product to specify a Credentials secret, Cloud Pak for Integration adds a Secret to the canvas. You might need to change the zoom settings on the Canvas toolbar to see the new instance. If the instance is grayed out, it is referenced by an existing instance but it is not added to the canvas, so you cannot edit it from the assembly canvas.

Connecting instances

Connect instances by hovering over the connector (to the right of the instance node) until it turns white, then drag the connector line to the connector on other node. For example, drag-and-drop a line from an API Product to an integration runtime. When you create a connection, the connected instances are updated with the appropriate configuration. For example, when you connect an API Product to an Integration runtime, the API Product's configuration is updated with the name of the Integration runtime. And when you edit the Integration runtime to specify the URL that links to a BAR file, the connected API Product can read the configuration. Not all instance types can be connected.

You can use the canvas to connect instances of the same Cloud Pak for Integration technology (for example, MQ nodes with other MQ nodes), or connect instances that span multiple technologies (for example, Event Streams to App Connect). For more information on connecting instances that span multiple technologies, see Connecting different instance types.

To view the connections for an instance, hover over the instance or right-click it, click the overflow menu (three-dot icon), then click Highlight. To remove highlighting, right-click a blank area of the canvas, click the overflow menu (three-dot icon) that is shown, then click Unhighlight.