Skip to main content

Delegate-required SDKs

This topic provides information about the SDK versions that are certified for use with Harness Delegate based on manifest type.

The certified SDKs are a requirement for the delegate. Harness requires these tools to perform tasks.

Kubernetes deployments

For Kubernetes deployments, include the SDKs and tools that your manifest type requires.

Kubernetes

kubectl v1.28.7

curl -LO https://dl.k8s.io/release/v1.24.3/bin/linux/amd64/kubectl -o kubectl && chmod +x ./kubectl && mv kubectl /opt/harness-delegate/custom-client-tools/kubectl

go-template v0.4.1

mkdir -p /opt/harness-delegate/client-tools/go-template/v0.4.1/ && curl -L https://app.harness.io/public/shared/tools/go-template/release/v0.4.1/bin/linux/amd64/go-template -o go-template && chmod +x ./go-template && mv go-template /opt/harness-delegate/client-tools/go-template/v0.4.1/go-template

Helm

kubectl v1.28.7

curl -LO https://dl.k8s.io/release/v1.24.3/bin/linux/amd64/kubectl -o kubectl && chmod +x ./kubectl && mv kubectl /opt/harness-delegate/custom-client-tools/kubectl

helm v3.9.2

curl -L0 https://get.helm.sh/helm-v3.9.2-linux-amd64.tar.gz -o helm-v3.9.2.tar.gz && tar -xvzf helm-v3.9.2.tar.gz && chmod +x ./linux-amd64/helm && mv ./linux-amd64/helm /opt/harness-delegate/custom-client-tools/helm3

Helm (chart stored in GCS or S3)

kubectl v1.28.7

curl -LO https://dl.k8s.io/release/v1.24.3/bin/linux/amd64/kubectl -o kubectl && chmod +x ./kubectl && mv kubectl /opt/harness-delegate/custom-client-tools/kubectl

helm v3.9.2

curl -L0 https://get.helm.sh/helm-v3.9.2-linux-amd64.tar.gz -o helm-v3.9.2.tar.gz && tar -xvzf helm-v3.9.2.tar.gz && chmod +x ./linux-amd64/helm && mv ./linux-amd64/helm /opt/harness-delegate/custom-client-tools/helm3

chartmuseum v0.8.2 and v0.12.0

curl -L https://app.harness.io/public/shared/tools/chartmuseum/release/v0.8.2/bin/linux/amd64/chartmuseum -o chartmuseum && chmod +x ./chartmuseum
&& mv chartmuseum /opt/harness-delegate/client-tools/chartmuseum/v0.8.2/chartmuseum
&& ## Install newer version of chartmuseum versiom from Harness CDN ##
To use this version USE_LATEST_CHARTMUSEUM_VERSION should be enabled
&& curl -L https://app.harness.io/public/shared/tools/chartmuseum/release/v0.12.0/bin/linux/amd64/chartmuseum -o chartmuseum
&& chmod +x ./chartmuseum
&& mv chartmuseum /opt/harness-delegate/client-tools/chartmuseum/v0.12.0/chartmuseum
&& ## Install custom version of chartmuseum from official release## Binary should be moved to one of predefined paths:
## /opt/harness-delegate/client-tools/chartmuseum/v0.8.2/chartmuseum ##
/opt/harness-delegate/client-tools/chartmuseum/v0.12.0/chartmuseum
&& [If USE_LATEST_CHARTMUSEUM_VERSION is enabled]
curl -L https://get.helm.sh/chartmuseum-v0.14.0-linux-amd64.tar.gz -o chartmuseum-v0.14.tar.gz
&& tar xzvf chartmuseum-v0.14.tar.gz
&& chmod +x ./linux-amd64/chartmuseum
&& mv ./linux-amd64/chartmuseum /opt/harness-delegate/client-tools/chartmuseum/v0.8.2/chartmuseum

Kustomize

kubectl v1.28.7

curl -LO https://dl.k8s.io/release/v1.24.3/bin/linux/amd64/kubectl -o kubectl && chmod +x ./kubectlmv kubectl /opt/harness-delegate/custom-client-tools/kubectl

kustomize v4.5.4

curl -L0 https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv4.5.4/kustomize_v4.5.4_linux_amd64.tar.gz -o kustomize_v4.5.4.tar.gz && tar -xvzf kustomize_v4.5.4.tar.gz && chmod +x ./kustomize && mv kustomize /opt/harness-delegate/custom-client-tools/kustomize

OpenShift

kubectl v1.28.7

curl -LO https://dl.k8s.io/release/v1.24.3/bin/linux/amd64/kubectl -o kubectl && chmod +x ./kubectl && mv kubectl /opt/harness-delegate/custom-client-tools/kubectl

oc v4

curl -L0 https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/linux/oc.tar.gz -o oc.tar.gz && tar -xvzf oc.tar.gz && chmod +x ./oc && mv oc /opt/harness-delegate/custom-client-tools/oc

Terraform

terraform-config-inspect v.1.0

mkdir -p /opt/harness-delegate/client-tools/tf-config-inspect/v1.0/ && curl -L https://app.harness.io/storage/harness-download/harness-terraform-config-inspect/v1.0/linux/amd64/terraform-config-inspect -o terraform-config-inspect && chmod +x ./terraform-config-inspect && mv terraform-config-inspect /opt/harness-delegate/client-tools/tf-config-inspect/v1.0/terraform-config-inspect

terraform-config-inspect v.1.1

mkdir -p /opt/harness-delegate/client-tools/tf-config-inspect/v1.1/ && curl -L https://app.harness.io/storage/harness-download/harness-terraform-config-inspect/v1.1/linux/amd64/terraform-config-inspect -o terraform-config-inspect && chmod +x ./terraform-config-inspect && mv terraform-config-inspect /opt/harness-delegate/client-tools/tf-config-inspect/v1.1/terraform-config-inspect

WinRm

harness-pywinrm v0.4-dev

This library is available for download from CDN.

AKS and GKE infrastructure

kubectl v1.28.7

Add the following install scripts to the INIT_SCRIPT to install the credentials plugin for GKE and AKS infrastructure types if you're using kubectl version 1.26.x or later.

You can replace the harness-credentials-plugin with Azure CLI or gke-gcloud-auth-pluginto take care of this flow. For more details, go to Authentication in GKE v1.26.

  - name: INIT_SCRIPT
value: |

## for AKS
mkdir -m 777 -p client-tools/kubelogin/v0.1.1 \
&& curl -s -L -o client-tools/kubelogin/v0.1.1/kubelogin https://app.harness.io/public/shared/tools/kubelogin/release/v0.1.1/bin/linux/amd64/kubelogin
export PATH=/opt/harness-delegate/client-tools/kubelogin/v0.1.1/:$PATH

## for GKE or AKS with certificate auth type
mkdir -m 777 -p client-tools/harness-credentials-plugin/v0.1.0 \
&& curl -s -L -o client-tools/harness-credentials-plugin/v0.1.0/harness-credentials-plugin https://app.harness.io/public/shared/tools/harness-credentials-plugin/release/v0.1.0/bin/linux/amd64/harness-credentials-plugin
export PATH=/opt/harness-delegate/client-tools/harness-credentials-plugin/v0.1.0/:$PATH

Native Helm deployments

For native Helm deployments, include the following SDKs and tools.

Helm Chart

helm v3.9.2

curl -L0 https://get.helm.sh/helm-v3.9.2-linux-amd64.tar.gz -o helm-v3.9.2.tar.gz && tar -xvzf helm-v3.9.2.tar.gz && chmod +x ./linux-amd64/helm && mv ./linux-amd64/helm /opt/harness-delegate/custom-client-tools/helm3

kubectl v1.28.7

Required if Kubernetes version is 1.16+.

curl -LO https://dl.k8s.io/release/v1.24.3/bin/linux/amd64/kubectl -o kubectl && chmod +x ./kubectl && mv kubectl /opt/harness-delegate/custom-client-tools/kubectl