Configure Event Endpoint Management to integrate with IBM API Connect Developer Portal

The following sections provide instructions for configuring the integration of your Event Manager instance with IBM API Connect 12.1.1 or later.

Important: You can configure an integration with either API Connect 10.x.x or API Connect 12.1.1 or later, but not both simultaneously.

Before you begin

  • In API Connect, identify a user with Administrator privileges, or create a new one. In a next step, you will provide the username and password of this user in the Event Manager.
  • In API Connect, obtain a copy of the Certificate Authority (CA) certificate from the secret devportal-admin-client.

Create a secret with credentials for the Event Endpoint Management REST API

In the Kubernetes cluster running Event Endpoint Management, create a secret that contains the basic authentication credentials of the administrator that you identified or created.

By using the OpenShift Container Platform CLI

  1. Log in to the OpenShift Container Platform web console using your login credentials.
  2. Run the following command to create a secret called devportal-api-secret:
    oc -n <ns_containing_EEM> secret generic devportal-api-secret \
      --from-literal="key"="<username>:<password>"
    

By using the CLI of other Kubernetes platforms

  1. Log in to your Kubernetes cluster as a cluster administrator by setting your kubectl context.
  2. Run the following command to create a secret called devportal-api-secret:
    kubectl -n <ns_containing_EEM> secret generic devportal-api-secret \
      --from-literal="key"="<username>:<password>"
    

Create a secret to store the API Connect certificate

Create a secret to store the API Connect certificate as follows:

By using the OpenShift Container Platform web console

Note: When you create a secret in the OpenShift Container Platform UI, the input value must not be encoded. Therefore, ensure you retrieve a decoded value in step 1, or if you have a Base64-encoded certificate, decode it before you complete the following steps.

  1. Log in to the OpenShift Container Platform web console using your login credentials.
  2. Expand the Workloads drop-down menu and select Secrets.
  3. Expand the Project drop-down menu and select the project the Event Manager instance is installed in.
  4. Expand the Create drop-down menu and select Key/value secret.
  5. Enter devportal-ca as the Secret name.
  6. Enter ca.crt as the Key.
  7. Under Value, select the text area, and enter the decoded certificate.
  8. Click Create.

By using the CLI

Note: When you create a secret by using the CLI, the certificate must be Base64-encoded.

  1. Log in to your Kubernetes cluster as a cluster administrator by setting your kubectl context.
  2. Run the following command to create a secret called devportal-ca:

    cat <<EOF | kubectl apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: devportal-ca
      namespace: <namespace the Event Manager instance is installed in>
    data:
      ca.crt: >-
      <Base64-certificate>
    type: Opaque
    EOF
    

    Where:

    • <namespace> is the namespace the Event Manager instance is installed in.
    • <Base64-certificate> is the Base64-encoded certificate that you obtained in the Before you begin secton.

Configure Event Endpoint Management to integrate with API Connect Developer Portal

Update your Event Endpoint Management instance with the API Connect configuration details as follows:

By using the OpenShift Container Platform web console

Use the web console to edit the configuration of your EventEndpointManagement instance:

  1. Log in to the OpenShift Container Platform web console using your login credentials.
  2. Expand the Operators dropdown and select Installed Operators to open the Installed Operators page.
  3. Expand the Project dropdown and select the project the instance is installed in. Click the operator called IBM Event Endpoint Management.
  4. Click the Event Endpoint Management tab and search the Name column for the installed instance and click the name.
  5. Click the YAML tab to edit the custom resource.
  6. In the spec.manager field, add the following snippet:

    apic:
      developerPortal:
        - organization: eem
          endpoint: <devportal_URL>
          authentication:
            secretName: <secret_name>
            key: <key_name>
    

    Where:

    • organization: must be eem.
    • endpoint: the URL of Developer Portal. For example: https://devportal.apps.mycluster.com. Do not include in the URL the /devportal path.
    • secretName: the name of the Kubernetes secret containing the Basic Authentication credentials of a Developer Portal user with Administrator privileges. Example: devportal-admin-credentials.
    • key: the name of the key in the Kubernetes secret containing the credentials.
  7. In the spec.manager.tls field, add the following snippet:

    trustedCertificates:
      - certificate: ca.crt
        secretName: <secret_name>
    

    Where:

    • certificate: the name of the key in the secret.
    • secretName: the name of the Kubernetes secret containing the certificate.
  8. Click Save to apply your changes.

By using other Kubernetes platforms

On other Kubernetes platforms, you can either edit the configuration of your EventEndpointManagement instance by using the kubectl edit command, or modify your original configuration file as follows.

  1. Log in to your Kubernetes cluster as a cluster administrator by setting your kubectl context.
  2. Ensure you are in the namespace where your Event Manager instance is installed:
    kubectl config set-context --current --namespace=<namespace>
    
  3. Update your EventEndpointManagement instance’s YAML file on your local system. In the spec.manager field, add the following snippet:

    apic:
      developerPortal:
        - organization: eem
          endpoint: <devportal_URL>
          authentication:
            secretName: <secret_name>
            key: <key_name>
    

    Where:

    • organization: Must be eem.
    • endpoint: The URL of Developer Portal. Example: https://devportal.apps.mycluster.com. Do not include in the URL the /devportal path.
    • secretName: The name of the Kubernetes secret containing the Basic Authentication credentials of a IBM API Connect Developer Portal user with Administrator privileges. Example: devportal-admin-credentials.
    • key: The name of the key in the Kubernetes secret containing the credentials.
  4. Also in the YAML, in the spec.manager.tls field, add the following snippet:

    trustedCertificates:
      - certificate: ca.crt
        secretName: <secret_name>
    
  5. Apply the YAML to the Kubernetes cluster:
    kubectl apply -f <file_name>
    

Verify the configuration

To verify that the integration between Event Endpoint Management and IBM API Connect Developer Portal deployed successfully, complete the following steps:

  1. Log into the Event Manager UI using an account Administrator role.
  2. Navigate to Administration > External integrations.

A tile for API Connect is displayed with the URL that you specified when you configured Event Endpoint Management.

Post configuration tasks

To troubleshoot any issues you experience after you finish the configuration, complete the following steps:

  • Check if the Event Manager is reachable.
  • Check if you can log into the Event Manager UI using the user account with Administrator privileges that you configured when you created a secret.
  • Check the validity of the CA certificate you configured before you began.
  • Check the logs of the Event Manager pods.