Skip to content

IBM API Connect Quickstart

Introduction

The instructions in this section will walk you through the steps necessary for setting up a demo environment that can be quickly shown to customers to showcase the art of the possible.

This demo in no way removes the need for following the tutorial style instructions that are documented in other sections of this guide. The instructions below will set up a pre-canned application demo environment to show to the customers.

By the end of this tutorial, you should have a highly available deployment of IBM API Connect on a Red Hat OpenShift Kubernetes Service on IBM Cloud as shown below.

apic-arch


Pre-requisites

Create a custom Git Organization

Create a new Git Organization to host the different GitOps repositories.

Note

Make sure you do not populate your GitHub organization with cloned repositories. The GitHub organization must be empty and will be populated automatically by the environment provisioning.

Instructions:

  1. Log in to http://github.com and select the option to create a New organization.

    New Organization

  2. Click on Create a free organization plan.

  3. Complete the wizard by filling in the Organization account name and Contact email fields. Select the My personal account bullet and complete the verification step and click Next.

  4. Skip the step to add members to the Organization.

  5. Complete the Welcome to GitHub questionnaire and click Submit.

  6. Congratulations, you have successfully created a new Github Organization.

    Note

    Please ensure your GitHub organization is Public and not Private.

Create a Git Personal Access Token (PAT)

Create a new Git Personal Access Token with the appropriate scopes. This will be required to run the application pipelines or to set up webhooks.

Instructions:

  1. Log in to http://github.com and click on Settings.

    New Organization

  2. Select Developer settings and click on Personal access tokens.

  3. Provide a name for the token, set the Expiration to 90 days ,set the following scopes and click Generate token.

    GitHub Personal Access Token scopes

    Token Scopes
    Token Scopes

  4. Copy and save the Personal Access Token. You will not be able to retrieve this value again later.


Red Hat OpenShift on IBM Cloud cluster with GitOps Configuration

Create the cluster

  1. Provision a Red Hat OpenShift on IBM Cloud cluster with GitOps Configuration from IBM Technology Zone. Select the OpenShift + GitOps Configuration tile.

  2. Click the Reserve now radio button.

  3. Provide a name for the cluster, select Practice / Self-Education for the purpose and choose the region to provision the cluster.

  4. Once a Preferred Geography has been selected, provide the appropriate Worker Node Count and Worker Node Flavor values based on the requirements for this quickstart listed in the note below. Finally, click Submit.

    Note

    For this IBM API Connect quickstart we recommend you to request the Red Hat OpenShift on IBM Cloud cluster with GitOps Configuration with the following size:

    • Worker Node Count = 3
    • Worker Node Flavor = 16 CPU x 64 GB

Use the cluster

You will receive an email once the cluster provisioning is complete. The email will contain details on the cluster including the ArgoCD Console URL and admin credentials. This same information can also be found on the My reservations from IBM Technology Zone.

Once your cluster is ready, proceed to the next step to select resources to deploy.


Install required CLIs

  • Install the Github CLI (version 1.14.0+)
  • Install the OpenShift CLI oc (version 4.7 or 4.8)

    • Log into your OCP cluster, substituting the --token and --server parameters with your values:

      oc login --token=<token> --server=<server>
      

      If you are unsure of these values, click your user ID in the OpenShift web console and select Copy login command.

  • Install the kubeseal CLI

    The kubeseal utility uses asymmetric crypto to encrypt secrets that only the controller can decrypt. These encrypted secrets are encoded in a SealedSecret resource which can safely be checked into your gitops repo. The controller will decrypt the secretes and install into your cluster.


Select resources to deploy

By now, you should already have a Red Hat OpenShift on IBM Cloud cluster with GitOps Configuration bootstrapped for you.

If you open ArgoCD, which is the GitOps tool being installed by the Red Hat OpenShift GitOps Operator, using the Argo CD URL provided in the email shown in the previous section, you will see that your ArgoCD GitOps application has been bootstrapped to monitor the multi-tenancy-gitops repository that has been forked into the GitHub organization you provided when requesting the quickstart environment.

As a result, anything you want to apply/do to your quickstart environment will be done through code changes on the aforementioned forked GitHub repository.

ArgoCD

You can see in the image above of your ArgoCD web console that the profile within the multi-tenancy-gitops repository ArgoCD has been bootstrapped with is the single-cluster. As a result, anything you want to apply/do to your quickstart environment will be done within that GitOps profile.

You can also see that the ArgoCD applications for the infrastructure, services and applications layers are already created so that these will pick up any changes done, through code, at their respective layers.

Instructions

  1. You can execute the following steps either locally by cloning the multi-tenancy-gitops GitHub repository the IBM Technology Zone environment request automation has forked into the GitHub organization you created in the Pre-requisites section above to your local workstation (and then make changes from you local workstation and commit and deliver those) or by using the new VSCode extension of GitHub Codespaces capability straight from your web browser (just open the multi-tenancy-gitops repository in your Git Organization in your browser and press the . key):

    1. Review the Infrastructure layer kustomization.yaml and un-comment the resources to deploy to match the IBM API Connect recipe.
    2. Review the Services layer kustomization.yaml and un-comment the resources to deploy to match the IBM API Connect recipe.
    3. Review the storage and high availability options for the IBM API Connect cluster definition explained in the IBM API Connect recipe.
    4. Commit and push changes to your git repository (the following code refers to the commands when you cloned the multi-tenancy-gitops repository locally on your workstation)
      git add .
      git commit -m "initial bootstrap setup"
      git push origin
      
  2. After 40 mins approximately:

    1. Make sure that the phase in which the IBM API Connect cluster is at is Ready

      oc get APIConnectCluster apic-cluster -n tools -o=jsonpath='{.status.phase}'
      
      Expected output is
      Ready
      
    2. Make sure that the state in which the IBM API Connect cluster installation is at is 4/4

      oc get APIConnectCluster apic-cluster -n tools -o=jsonpath='{.status.state}'
      
      Expected output is
      4/4
      
  3. You can now access your IBM API Connect Cloud Manager

    oc get APIConnectCluster apic-cluster -n tools -o=jsonpath='{.status.endpoints[?(@.name=="admin")].uri}'
    
  4. The credentials for logging into the IBM API Connect Cloud Manager are admin/<password> where password is stored in a secret.

    oc get secret apic-cluster-mgmt-admin-pass -n tools -o=jsonpath='{.data.password}' | base64 -D
    

Info

The deployment process WILL NOT configure all of the IBM API Connect subsystems that this quickstart got deployed to work together straight away. Instead, you will need to manually complete the following IBM API Connect Cloud Manager configuration checklist or you can go to the Configure API section of the in depth IBM API Connect tutorial to create an OpenShift Pipeline that gets your recently deployed IBM API Connect instance configured automatically so that you can start working with it right away.

Important

Before going through the Configure API section aforementioned, you must fork the GitOps Application Repository into the GitHub organization that you created at the beginning of this IBM API Connect quickstart tutorial in the Pre-requisites section.

Important

The Configure API section of the in depth IBM API Connect tutorial that creates an OpenShift Pipeline that gets your recently deployed IBM API Connect instance configured automatically expects/assumes you have previously cloned the multi-tenancy-gitops GitHub repository the IBM Technology Zone environment request automation has forked into the GitHub organization you created in the Pre-requisites section above to your local workstation into $HOME/git. As a result, you will need to clone that multi-tenancy-gitops GitHub repository manually into such location or follow that Configure API section with precaution to replace such location where needed.