This page contains the instructions necessary to install and manage Harness CD Community Edition using a helm-chart. The steps below use minikube for simplicity but can be used any Kubernetes cluster.
- 2 CPUs or more
- 3GB of free memory
- 20GB of free disk space
- Internet connection
Note: Extra resources would be required if minikube is running which is using the docker driver. We recommend using 6g memory and 4 CPUS
- Start by cloning this repo.
git clone https://github.com/harness/harness-cd-community.git cd harness-cd-community/helm - Start minikube with slightly higher memory and cpu so that you can also deploy a workload into the same Kubernetes cluster.
minikube start --memory 6g --cpus 4
- If you are running Docker Desktop on Windows or Mac skip this step. If you are running on Linux or wish to run a production install then please see Advanced Configuration to set the hostname of your machine.
- Start Harness CD using the helm-chart
helm install harness ./harness --create-namespace --namespace harness
- Follow the notes printed by Helm to access the application. You should wait for the harness-cd application to start before moving to Step 2.
kubectl wait --namespace harness --timeout 900s --selector app=proxy --for condition=Ready podsYou can also use the following commands to check status.
kubectl get pods -n harness
kubectl get services -n harness- Open the link which is displayed and complete the registration form at
http://<ip-address>:7143/#/signup. Now your Harness CD account along with the first (admin) user is created. If you have already completed this step, then login to Harness CD athttp://<ip-address>:7143/#/signin. - Follow the Harness CD Community Edition quickstart
If you run into issues when installing Harness this section will help identify where the issue is.
kubectl get pods -n harnesskubectl logs -n harness -f <POD-NAME>You may also run into a situation where the namespace harness is already present.
Check if namespace harness is already present
kubectl get namespacesIn that case you may delete the old namespace using -
kubectl delete ns harnessand run the following installation again -
helm install harness ./harness --create-namespace --namespace harnessIn case the connection is refused, and you get a similar error message as mentioned below -
The connection to the server 0.0.0.0:58909 was refused - did you specify the right host or port?
Make sure minikube is up and running through docker dashboard or using the following command
minikube status [flags]For any further blockers, doubts -
Join the Harness Community Slack
and
Join the Harness Community Forum
Harness CD Community Edition supports multiple hardware profiles. The default profile is laptop for low resource environments. There is also a production profile available for use in more demanding environments.
To run the production profile use this startup command
helm install -f harness/values-production.yaml harness ./harness --create-namespace --namespace harnesshelm uninstall harness -n harnessYou can even delete the harness namespace altogether.
kubectl delete namespace harnessYou simply need to set the harness_host configuration parameter. This should be the IP address or hostname of the machine where you are deploying Harness. You cannot use localhost for this parameter. Open values.yaml in your editor and update the harness_host parameter.
