Upgrading API Connect for GraphQL

IBM releases new versions of the API Connect for GraphQL Graph service operator as bugs are fixed and new features are implemented.

For best results, upgrade the operator regularly. Each new operator version installs a new version of the Graph service.

Attention: Downgrading to an older version of the API Connect for GraphQL using the same steps as for upgrading is not supported due to automatic migration of the metadata database (DB) to newer versions. If downgrading is required, the metadata database must be backed up on the older version and restored after the downgrade. Please note that any endpoints created with the newer version will be lost.
Note: StepZen was acquired by IBM in 2023 and renamed to API Connect for GraphQL. Some artifacts still use the StepZen name.

For OCP, substitute oc for kubectl in the following steps.

  1. Log in to your Kubernetes or OpenShift cluster.
  2. Change to the stepzen namespace.
  3. Download and extract the newest CASE bundle from GitHub at:
     https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-stepzen-case

    For detailed instructions on downloading and extracting the CASE bundle, see Installing API Connect Essentials.

  4. Refresh the Custom Resource Definition (CRD) by applying the newer version of the file:
    kubectl apply -f crd.yaml
    Verify that the CRD has been successfully updated.
  5. Deploy the new operator.
    kubectl apply -f operator.yaml
  6. (Optional) Update the cr.yaml file.

    You can only update the CR if you updated the CRD and the sample cr.yaml file changed.

    If you want to change any of the settings in the CR, modify your current version of the file and then apply the changes by running the following command (for OCP, replace kubectl with oc):

    kubectl apply -f cr.yaml

    Alternatively, you can use kubectl to edit the existing CR and apply the spec changes to it:

    kubectl edit StepZenGraphServer stepzen

    The example command assumes that your cr.yaml file CR has name: stepzen.

    For information on the settings available in the CR, see CR configuration settings.

  7. Verify that the operator is running with the following command:
    kubectl get StepZenGraphServer 

    If the upgrade completed successfully, you see a message similar to the following example, which indicates that the API Connect for GraphQL Graph service is running in your cluster:

    NAME      STATUS   SUMMARY              AGE
    stepzen   Ready    Services are ready   1m
  8. Run the following command to validate the version of operator and operand and also the check the CR status history under the status. The final condition should display the message “Services are ready".
    kubectl get graphserver -o yaml