Proxy configuration guide
Learn how to manage connectivity in environments where outbound traffic must go through a proxy.
This article explains how to configure proxy settings to manage connectivity in environments where outbound traffic is restricted.
By default, HTTP and HTTPS proxy schemes are supported with Basic authentication (PROXY_USER and PROXY_PASSWORD). If your proxy requires Kerberos/SPNEGO authentication instead, go to Kerberos/SPNEGO authentication.
IMPORTANT NOTE
When using a HTTP Helm repositories, the default setting Ignore status code for HTTP connections must be set to true as socket connection tests conducted by Harness from the delegate do not account for proxy details.
Proxy Settings for Delegate
Kubernetes
The proxy settings are in the harness-delegate.yaml file:
...
- name: PROXY_HOST
value: ""
- name: PROXY_PORT
value: ""
- name: PROXY_SCHEME
value: ""
- name: NO_PROXY
value: ""
- name: PROXY_MANAGER
value: "true"
- name: PROXY_USER
valueFrom:
secretKeyRef:
name: doc-example-proxy
key: PROXY_USER
- name: PROXY_PASSWORD
valueFrom:
secretKeyRef:
name: doc-example-proxy
key: PROXY_PASSWORD
...The PROXY_MANAGER setting determines whether the delegate bypasses proxy settings to reach the Harness Manager in the cloud. If you want to bypass, enter false.
In-Cluster Kubernetes delegate with proxy
If an in-cluster Kubernetes delegate has a proxy configured, then NO_PROXY must contain the cluster master IP. This enables the delegate to skip the proxy for in-cluster connections.
Kerberos/SPNEGO authentication
If your outbound proxy requires Kerberos/SPNEGO (Negotiate) authentication instead of Basic auth, the delegate can authenticate using a Kerberos keytab. No PROXY_USER or PROXY_PASSWORD is needed. This applies to any infrastructure that can reach your KDC over the network, including Kubernetes, EC2, and ECS-hosted delegates, not just Kubernetes.
Set PROXY_AUTH_TYPE=KERBEROS on the delegate, along with KRB5_CONFIG and KRB5_JAAS_CONFIG pointing to a krb5.conf file and a JAAS login config file that defines a HarnessKrb5 entry.
Kerberos proxy authentication covers delegate-to-Harness Manager traffic only. Calls to third-party systems (Terraform Cloud, Jira, Jenkins, HTTP pipeline steps) continue to use Basic authentication.
Go to Kerberos proxy authentication for the full krb5.conf and JAAS configuration reference, the complete manifest, keytab rotation, and troubleshooting.
Docker
The following script installs a Docker delegate with an HTTP proxy scheme.
Proxy Settings for Delegate Upgrader
Kubernetes
To configure proxy for your Kubernetes Delegate Upgrader, add the proxy settings to the Delegate upgrader config in the manifest file. Below is an example for the same:
Once updated, apply the configuration using the command below.
Docker
To run the Docker Delegate Upgrader with proxy settings, set the required environment variables in the Docker command as shown in the example below.
Subnet masks not supported
You cannot use delegate proxy settings to specify the Cluster Service Network CIDR notation and make the delegate bypass the proxy to talk to the Kubernetes API.
Harness does not allow any methods of representing a subnet mask.
The mask should be set in the cluster itself. For example:
Last updated
Was this helpful?