Getting started with DevOps Plan Helm Chart on IBM OpenShift

This quick start guide shows you how to deploy DevOps Plan on IBM OpenShift.

Before you begin

Before you can deploy DevOps Plan on IBM OpenShift, you must first:
  • Setup your environment by installing OpenShift CLI, Helm CLI and having access to OpenShift Cluster. For more information about how to get started with OpenShift and Helm, see Getting started with OpenShift and Getting Started with Helm. Setup the environment with OpenShift 4.13 and higher, the kubectl CLI, and Helm 3.
  • DevOps Plan requires a PostgreSQL database to create TeamSpace and Applications. The PostgreSQL database may be running in your cluster or on hardware that resides outside of your cluster. The values used to connect to the database are required when installing DevOps Plan. The helm chart provides the PostgreSQL database by default. You can disable and use your own PostgreSQL database.
    Note: If you have already installed DevOps Plan with the internal PostgreSQL database and you plan to upgrade to the latest release version, then you must set the internal PostgreSQL database password during the helm upgrade. Get the password for the internal PostgreSQL database by running the following command:
            ```bash
            export POSTGRES_PASSWORD=$(kubectl get secret --namespace devopsplan ibm-devopsplan-ibm-devopsplan-prod-db-secret -o jsonpath="{.data.tenant-datastore-password}" | base64 -d)
            ```
           Set the password during the upgrade:
            ```bash
            --set spring.datastore.password=$POSTGRES_PASSWORD \
            --set tenant.datastore.password=$POSTGRES_PASSWORD
            ```

About this task

This guide shows you how to access DevOps Plan Helm Chart and install it in your own OpenShift cluster environment.

Procedure

  1. Download the Image and Helm Chart.
    • The DevOps Plan images and helm chart are available at the Entitled Registry and the public Helm Repository.
  2. Get a key to the entitled registry.
    1. Log in the MyIBM Container Software Library with the IBMid and password that are associated with the entitled software.
    2. In the Entitlement Keys section, select Copy Key to the entitlement key to the clipboard.
    3. An imagePullSecret must be created to be able to authenticate and pull images from the Entitled Registry. If the secret is named ibm-entitlement-key, it will be used as the default pull secret and no value needs to be specified in the global.imagePullSecret field.
      After this secret has been created, you will use the secret name as the value for the imagePullSecret parameter in the values.yaml file that you provide to helm install.
      Note: Secrets are namespace scoped, so they must be created in every namespace that you plan to install DevOps Plan into. The following example is a command to create an imagePullSecret named ibm-entitlement-key:
      oc create secret docker-registry ibm-entitlement-key \
        --namespace [namespace_name] \
        --docker-username=cp \
        --docker-password=<EntitlementKey> \
        --docker-server=cp.icr.io
  3. Add the DevOps Plan helm chart repository to the local client.
    $ helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm/
    Tip: You can list all of the supported Helm chart versions and Application versions by using:
      ```
      $ helm repo update
      $ helm search repo ibm-helm/ibm-devopsplan
      ```

    You can see the list of the ibm-helm\ibm-devopsplan-prod Helm charts and DevOps Plan release versions. The Helm install installs the latest stable release version, unless you specify --version [CHART VERSION] to the helm install command.

  4. Install the helm chart with the default parameters into the namespace devopsplan with the release name ibm-devopsplan.
    helm install ibm-devopsplan ibm-helm/ibm-devopsplan-prod \
      --namespace devopsplan \
      --version [CHART VERSION] \
      --set global.imagePullSecret=ibm-entitlement-key \
      --set global.domain=[openshift-cluster-dns-name]

    If you plan to install the latest version of DevOps Plan, you do not need to add --version [CHART VERSION].

    • If you plan to use an external PostgreSQL database, see Updating the DevOps Plan Helm Chart to create new database connections.
    • If you plan to use external Keycloak, see Enabling the DevOps Plan Keycloak Single Sign On feature.
    • When providing your own cluster, if the default storage class does not support the ReadWriteMany (RWX) accessMode, or it does not support Storage Class ibmc-file-gold-gid, then an alternative class must be specified by using the following additional helm values:
        --set persistence.storageClass=[default_storage_class] \
        --set persistence.ccm.storageClass=[ReadWriteMany_storage_class] \
        --set securityContext.fsGroup=[FSGROUP_NUMBER]
  5. Start the Keycloak home page by using https://ibm-devopsplan-keycloak.[openshift-cluster-dns-name]/ and trust the keycloak certificate. The username and passwords are both admin.
  6. Start the DevOps Plan home page in your browser by using https://ibm-devopsplan.[openshift-cluster-dns-name].
  7. To install with Customize Parameters setting:
    1. Get a copy of the values.yaml file from the helm chart so that you can update it with values used by the install.
      $ helm inspect values ibm-helm/ibm-devopsplan-prod --version [CHART VERSION] > myvalues.yaml 
    2. Edit the file myvalues.yaml to specify the parameter values to use when installing the DevOps Plan instance.
    3. Install the chart into the namespace devopsplan with the release name ibm-devopsplan and use the values from the myvalues.yaml file.
      helm install ibm-devopsplan ibm-helm/ibm-devopsplan-prod \
        --version [CHART VERSION] \  
        --namespace devopsplan \
        --values myvalues.yaml

      You can list all releases by using helm list.

      If you plan to install the latest version of DevOps Plan, you do not need to add --version [CHART VERSION].

  8. Enable License Metrics.
    By default, the global.licenseMetric parameter is set to false. You must set it to to true during the helm install/upgrade.
    --set global.licenseMetric=true 
  9. You can uninstall and delete the chart by using the helm delete command:
    helm delete ibm-devopsplan \
      --namespace devopsplan