For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

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.

Example delegate manifest with Kerberos proxy authentication

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

FEATURE AVAILABILITY

This feature is available from Delegate Upgrader 1.7.0 and later.

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:

Harness supports mTLS authentication on a case-by-case basis. Contact Harness Support to enable it.

Last updated

Was this helpful?