Using bindings

Use bindings to connect Event Streams resources to App Connect resources.

For example, you can connect a Configuration or DesignerAuthoring Kubernetes resource from App Connect to a KafkaUser Kubernetes resource from Event Streams. This binding enables the integration flows that are inside Integration runtimes to use Kafka topics that the Kafka user has access to.

The IntegrationBinding Kubernetes resource is managed by the Cloud Pak for Integration operator. This operator handles all the underlying changes that are required to make the connection specified in YAML Kubernetes objects.

Tip: You can only use bindings to connect Event Streams resources with App Connect resources. For more information about integrating other instance types, see Connecting different instance types

You can create a binding by using the IBM Cloud Pak Platform UI or the CLI.

Creating a binding by using the canvas in the Platform UI

In the canvas, you can easily add IntegrationRuntimes, Configurations, KafkaUsers, and KafkaTopics. Then you can bind these resources together by using the Binding node in the same canvas.

  1. Log in to the Platform UI.

  2. On the home page, click Build with assembly canvas. The canvas opens.

  3. In the palette, click to expand the list of Independent instances (instance types).

  4. Do one of the following:

    • To create a new integration runtime for this canvas, drag and drop an Integration runtime node from the palette to the canvas.

    • To import an existing integration runtime to the canvas, click the Import existing instances button and select a pre-existing integration runtime.

  5. Drag and drop the Kafka users and Kafka topics nodes that you want to create for the flow inside this integration runtime. You can also import existing Kafka users and Kafka topics by cliking the Import existing instances button.

  6. In the palette, expand Resources to find the binding and configuration instance types.

  7. Drag and drop the Binding and Configurations nodes.

  8. Draw a line from the Configuration node to the Binding node, and draw a line from the Binding node to the Kafka user node, to bind these resources together.

  9. For each node, double-click and configure it.

  10. (Optional) If you're not ready to deploy yours instances, save a draft version of this canvas. Click the overflow menu (three-dot icon), then click Save as draft. The canvas is stored in the Platform UI. You can continue editing the draft version until you are ready to create the instances from it.

  11. When all the instances are configured, click Create to initiate deployment. You are redirected to the home page. The instances begin deployment and are initially in the Pending state. Click Pending to confirm the progress of the deployment.

The following example canvas has a binding that is used to connect an integration runtime to the Kafka resource. The binding includes the Kafka topics that the user has access to.

A binding being used to connect an integration runtime to the Kafka resource

Creating a binding by using the UI Form in the Platform UI

Follow these steps to create bindings using the UI Form.

  1. Log in to Platform UI.

  2. Click Create an instance.

  3. Click the Binding tile, then click Next.

  4. Click the tile for the template that you want, then click Next. You can customize the template in the next step.

    • To deploy by using a template from Automation assets, click Select a template from Automation assets.

  5. On the Create page, enter values in the UI Form or YAML views to configure the binding. For more information, see Binding custom resource values.

  6. (Optional) If you're not ready to deploy your instance, save a draft version. Click the overflow menu (three-dot icon), then click Save as draft. The configuration for the instance is stored in the Platform UI. You can continue editing the draft version until you are ready to create the instance.

  7. Click Create to initiate deployment. You are redirected to the home page. The binding begins creating and is initially in the Pending state. Click Pending to get status details. When the creation completes, the status changes to Ready (you can click the refresh button next to Create to refresh the status column).

Custom resource values

The following table lists the configurable parameters and default values for the Kubernetes resource.

Parameter Description Default
apiVersion The API version that specifies which schema is used for the IntegrationBinding resource integration.ibm.com/v1beta1
kind The resource type IntegrationBinding
metadata.name A name by which the binding can be identified
metadata.namespace The namespace where you create the binding
spec.from.kind The kind of the resource to bind from. KafkaUser is the only valid value.
spec.from.name The name of the resource to bind from
spec.from.namespace (Optional) The namespace of the resource to bind from. If omitted, the namespace of the binding is used
spec.from.listenerName (Optional) Only used if spec.from.kind is set to KafkaUser. This value is the name of the Kafka listener to use, from the Kafka cluster referenced by the Kafka user. If omitted, a listener that matches the authentication type specified in the Kafka user is chosen, with priority given to internal listeners rather than route based listeners.
spec.to The list of resources to bind to
spec.to[].kind The kind of the resource to bind to. Valid values are Configuration and DesignerAuthoring.
spec.to[].name The name of the resource to bind to
spec.to[].namespace (Optional) The namespace of the resource to bind to. If omitted, the namespace of the binding is used
spec.to[].accountName (Optional) When binding to a Configuration resource, specify the account name to use in the Configuration. If omitted, defaults to the name of this Integration binding
spec.to[].clientId (Optional) When binding to a Configuration or DesignerAuthoring resource, specify the client ID to use in the Configuration Empty string
status.conditions Returns information on the current condition of the biding