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 pods
You 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 harness
kubectl 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 namespaces
In that case you may delete the old namespace using -
kubectl delete ns harness
and run the following installation again -
helm install harness ./harness --create-namespace --namespace harness
In 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 harness
helm uninstall harness -n harness
You can even delete the harness namespace altogether.
kubectl delete namespace harness
You 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.