Skip to content

Latest commit

 

History

History
123 lines (97 loc) · 4.6 KB

README.md

File metadata and controls

123 lines (97 loc) · 4.6 KB

Helm Chart for Harness CD Community Edition

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.

Pre-requisites

  1. Install kubectl
  2. Install Docker
  3. Install minikube
  4. Install Helm

Hardware requirements

  • 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

Harness Community CD - Helm Installer

Start Harness CD

  1. Start by cloning this repo.
    git clone https://github.com/harness/harness-cd-community.git
    cd harness-cd-community/helm
  2. 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
  3. 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.
  4. Start Harness CD using the helm-chart
    helm install harness ./harness --create-namespace --namespace harness

Use Harness CD

  1. 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
  1. 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 at http://<ip-address>:7143/#/signin.
  2. Follow the Harness CD Community Edition quickstart

Troubleshooting

If you run into issues when installing Harness this section will help identify where the issue is.

View running processes
kubectl get pods -n harness
View logs of processes
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]

Support

For any further blockers, doubts -
Join the Harness Community Slack
and
Join the Harness Community Forum

Profiles

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

Remove Harness CD

helm uninstall harness -n harness

You can even delete the harness namespace altogether.

kubectl delete namespace harness

Advanced Configuration

How to deploy the Harness to a separate environment

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.