Getting started with DevOps Plan Helm Chart

This quick start guide shows you how to deploy DevOps Plan Helm Chart.

Before you begin

Before you can deploy DevOps Plan:
  • You must have Kubernetes version 1.16.0 or higher, kubectl CLI, and Helm 3.
  • You must have the Image and Helm Chart. The DevOps Plan images and Helm chart can be accessed at the HCL Container Registry (hclcr.io) and Helm Repository or at HCL Harbor.
  • You must obtain a Harbor CLI secret. Login to https://hclcr.io with your HCL softaware ID, selecting LOGIN VIA OIDC PROVIDER, open your User Profile from the top right corner, and copy the CLI secret. Use this string as the CLI secret in the secret docker-registry command.
  • 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
            ```
  • Persistent Volumes that will hold the devopsplan data, config, share and logs folders for DevOps Plan are required. If your cluster supports default StorageClass (SC) and dynamic volume provisioning, you will not need to create a SC and PersistentVolume (PV) before installing DevOps Plan. If your cluster does not support default SC and dynamic volume provisioning, you will need to either ensure a SC and PV is available or disable the persistent volume by setting persistence.enabled to false before installing DevOps Plan.
  • The helm chart enables the Keycloak Single Sign On feature installed with helm chart. You can disable the Keycloak that is installed with the helm chart and use an external Keycloak instance installed outside of the helm chart.

About this task

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

Procedure

  1. Install the chart
    Add the DevOps Plan helm chart to repository to the local client:
    helm repo add --username=[Username] --password=[CLI secret] devops-plan https://hclcr.io/chartrepo/devops-plan
    Tip: You can list all supported Helm chart versions and Application versions by using:
      ```
      $ helm repo update
      $ helm search repo devops-plan/hcl-devopsplan
      ```
    You can see the list of the Helm Chart and DevOps Plan release versions. The Helm install install the latest stable release version, unless you specify --version [CHART VERSION] to the helm install command.
    Create a pull secret into namespace devopsplan.
    kubectl create secret docker-registry [secret-name] \
    --docker-server=hclcr.io \
    --docker-username=[Username] \
    --docker-password=[CLI secret] \
    --namespace=devopsplan

    • The DevOps Plan images and helm chart are available at the Entitled Registry and the public Helm Repository.
  2. Install the helm chart with the default parameters into the namespace devopsplan with the release name hcl-devopsplan.
    helm install devopsplan devops-plan/hcl-devopsplan \
      --namespace devopsplan \ 
      --version [CHART VERSION] \
      --set global.imagePullSecret=[secret-name]

    Start the Keycloak home page by using https://[VirtualMachine-IP]:30104 and trust the keycloak certificate. The username and password are both admin.

    Start the DevOps Plan Home page in your browser by using https://[VirtualMachine_IP]:30102.

  3. Install on Kubernetes Cluster in cloud (Google Kubernetes Engine and Azure Kubernetes Service).
    1. Run helm install.
      helm install hcl-devopsplan devops-plan/hcl-devopsplan \
        --version [CHART VERSION] \
        --namespace devopsplan \
        --set global.imagePullSecret=[secret-name]

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

    2. Run kubectl get services to get the hcl-devopsplan-nginx service EXTERNAL-IP address.
    3. Run helm upgrade set with --set nginx.urlMapping=https://[NGINX_EXTERNAL-IP]:5602, --set analytics.urlMapping=https://[ANALYTICS_EXTERNAL-IP]:8290, and --set service.urlMapping=https://[NGINX_EXTERNAL-IP]:8190.
      helm upgrade hcl-devopsplan devops-plan/hcl-devopsplan \
       --namespace devopsplan \
       --version [CHART VERSION] \
       --set global.imagePullSecret=[secret-name] \            
       --set nginx.urlMapping=https://[EXTERNAL-IP]:5602 \
       --set analytics.urlMapping=https://[EXTERNAL-IP]:8290 \
       --set service.urlMapping=https://[EXTERNAL-IP]:8190

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

    4. Start the HCL DevOps Plan home page in your browser by using hcl-devopsplan service EXTERNAL-IP address: https://[EXTERNAL_IP]:8190.
  4. 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 devops-plan/hcl-devopsplan > my_values.yaml --version [CHART VERSION]
    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 hcl-devopsplan and use the values from the myvalues.yaml file.
      helm install hcl-devopsplan devops-plan/hcl-devopsplan \
        --namespace devopsplan \
        --version [CHART VERSION] \
        --values my_values.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].

  5. You can uninstall and delete the chart by using the helm delete command:
    helm delete hcl-devopsplan \
      --namespace devopsplan  
  6. To increase or decrease the number of DevOps Plan Server instances, issue the following command:
    kubectl scale --replicas=2 statefulset/hcl-devopsplan
  7. To set an email address for feedback, the admin must set feedback.to.emailaddress and feedback.from.emailaddress during the installation or upgrade:
    feedback:
      toEmailaddress: [TO_EMAIL_ADDRESS]
      fromEmailaddress: [FROM_EMAIL_ADDRESS]