Getting started with DevOps Plan Helm Chart
This quick start guide shows you how to deploy DevOps Plan Helm Chart.
Before you begin
- 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-registrycommand. - DevOps Plan requires a PostgreSQL
database and a Keycloak to create TeamSpace, Applications, and add users to sign in. The
PostgreSQL database and a Keycloak may be running in your cluster or on hardware that
resides outside of your cluster. The values used to connect to the database and a Keycloak
are required when installing DevOps Plan. The helm chart provides the
PostgreSQL database by default. You can disable and use your own PostgreSQL database and a
Keycloak.Note: If you have already installed DevOps Plan with the 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:
export POSTGRES_PASSWORD=$(kubectl get secret --namespace devopsplan hcl-devopsplan-db-secret -o jsonpath="{.data.tenant-datastore-password}" | base64 -d) export KEYCLOAK_PASSWORD==$(kubectl get secret --namespace devopsplan hcl-devopsplan--db-secret -o jsonpath="{.data.keycloak-password}" | base64 -d) ``` Set the password during the upgrade: --set postgresql.existingPassword=$POSTGRESQL_PASSWORD --set keycloak.existingPassword=$KEYCLOAK_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
Procedure
-
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-planTip: You can list all supported Helm chart versions and Application versions by using: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``` $ helm repo update $ helm search repo devops-plan/hcl-devopsplan ```--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.
-
Install the helm chart with the default parameters into the namespace
devopsplanwith the release namehcl-devopsplan.helm install devopsplan devops-plan/hcl-devopsplan \ --namespace devopsplan \ --version [CHART VERSION] \ --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]. - If you plan to use an external PostgreSQL database, see Installing DevOps Plan with external databases and optional email server settings.
- 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, then an alternative class must be specified to support RWX accessMode.
Run
helm status devopsplan -n devopsplanto retrieve the username and password for the Opensearch Dashboard, KeyCloak, and PostgreSQL databases.Start the Keycloak home page by using
https://[VirtualMachine-IP]:30104and trust the keycloak certificate.Start the DevOps Plan Home page in your browser by using
https://[VirtualMachine_IP]:30102. - If you plan to install the latest version of DevOps Plan, you do not need to add
-
Install on Kubernetes Cluster in cloud (Google Kubernetes Engine and Azure Kubernetes
Service).
- 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]. - Run
kubectl get servicesto get the hcl-devopsplan-nginx service EXTERNAL-IP address. - Run
helm upgradeset 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]:8190If you plan to install the latest version of DevOps Plan, you do not need to add
--version [CHART VERSION]. - Start the HCL DevOps Plan home page in your browser by using
hcl-devopsplan service EXTERNAL-IP address: https://[EXTERNAL_IP]:8190.
- Run
-
To install with Customize Parameters setting:
- Get a copy of the
values.yamlfile 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] - Edit the file
myvalues.yamlto specify the parameter values to use when installing the DevOps Plan instance. - Install the chart into the namespace
devopsplanwith the release namehcl-devopsplanand use the values from themyvalues.yamlfile.helm install hcl-devopsplan devops-plan/hcl-devopsplan \ --namespace devopsplan \ --version [CHART VERSION] \ --values my_values.yamlYou 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].
- Get a copy of the
-
You can uninstall and delete the chart by using the helm delete command:
helm delete hcl-devopsplan \ --namespace devopsplan -
To increase or decrease the number of DevOps Plan Server instances,
issue the following command:
kubectl scale --replicas=2 statefulset/hcl-devopsplan -
To set an email address for feedback, the admin must set
feedback.to.emailaddressandfeedback.from.emailaddressduring the installation or upgrade:feedback: toEmailaddress: [TO_EMAIL_ADDRESS] fromEmailaddress: [FROM_EMAIL_ADDRESS]