Delegate environment variables
Reference guide for environment variables available in delegate manifests, including configuration options and usage examples.
The following environment variables are available for use in the delegate manifest. Some of these variables are included in the YAML by default; you can specify others based on use case.
ACCOUNT_ID
The Harness account Id of the account with which this delegate registers.
This value is automatically added to the delegate configuration file (the application manifest of a Kubernetes delegate) when you add the delegate.
- name: ACCOUNT_ID
value: YOUR_ACCOUNT_IDDELEGATE_DESCRIPTION
A text description of the delegate. The description is added to the delegate before registration, in Harness Manager or in YAML. This value is displayed on the delegate details page in Harness Manager.
- name: DELEGATE_DESCRIPTION
value: ""DELEGATE_NAME
The name of the delegate. This is the name that identifies a registered delegate in Harness.
This value is not specified when delegate creation is automated. Instead, a script is used to duplicate the delegate YAML file and add a unique name to the DELEGATE_NAME environment variable for each delegate to be registered. Go to Automate delegate installation.
- name: DELEGATE_NAME
value: qaDELEGATE_NAMESPACE
The namespace for the delegate is taken from the StatefulSet namespace.
DELEGATE_TAGS
Delegate tags are descriptors that are added to the delegate before the registration process, in Harness Manager or in YAML. Harness generates tags based on the delegate name; you can add others. You can specify multiple tags in YAML as a comma-separated list.
Tags are displayed on the delegate details page in Harness Manager. Go to Tags reference and Use delegate selectors.
DYNAMIC_REQUEST_HANDLING
This option is deprecated as of delegate version 26.07.89601. Please use DELEGATE_CPU_THRESHOLD, DELEGATE_MEMORY_THRESHOLD and DELEGATE_CGROUP_MEMORY_THRESHOLD to configure resource usage limits individually.
Dynamic request handling is designed to prevent delegates from being overloaded. Enabling DYNAMIC_REQUEST_HANDLING will stop acquiring new tasks if the CPU and Memory default threshold is exceeded. By default, the threshold is set to 80%. You can override this value by configuring the DELEGATE_CPU_THRESHOLD, DELEGATE_MEMORY_THRESHOLD and DELEGATE_CGROUP_MEMORY_THRESHOLD variables.
DELEGATE_CPU_THRESHOLD
To configure the delegate resource threshold, set the DELEGATE_CPU_THRESHOLD env variable to the CPU threshold in percentages. When the threshold is exceeded, the delegate rejects new tasks.
DELEGATE_MEMORY_THRESHOLD
To configure the delegate resource threshold, set the DELEGATE_MEMORY_THRESHOLD env variable to the memory threshold in percentages. This option takes two memory calculations into account:
JVM memory usage: This is the memory used by the Delegate's process. If the JVM memory usage exceeds the threshold, the delegate rejects new tasks.
System memory usage: This considers the system memory usage. If the system's memory usage exceeds the threshold, the delegate rejects new tasks.
DELEGATE_CGROUP_MEMORY_THRESHOLD
To configure the delegate resource threshold, set the DELEGATE_CGROUP_MEMORY_THRESHOLD env variable to the memory threshold in percentages. This is the recommended way for setting system-level memory usage threshold for Delegates running in cgroup compatible environments (Linux, container runtimes or Kubernetes nodes).
DELEGATE_TASK_CAPACITY
Harness enables you to configure a maximum number of tasks for each delegate. This allows Harness Manager to use the task capacity to determine whether to assign a task to the delegate or queue it.
For example, if you set DELEGATE_TASK_CAPACITY to a value of 2 and execute 6 tasks in parallel, Harness Manager only executes 2 tasks at a time. If you don't configure DELEGATE_TASK_CAPACITY, Harness Manager executes all 6 tasks in parallel.
DELEGATE_TYPE
The type of the delegate.
INIT_SCRIPT
Used to specify a script that runs when the delegate is initialized. You can use this environment variable to run scripts on the delegate but this is not a best practice. Delegate initialization should be built into the image; not determined on startup.
JAVA_OPTS
Use the JAVA_OPTS environment variable to add or override JVM parameters. The delegate accepts the following JVM options.
MANAGER_HOST_AND_PORT
The Harness SaaS manager URL. The specification of HTTPS in the URL indicates the use of port 443.
NEXT_GEN
Whether the delegate is registers in Harness NextGen or FirstGen. A value of true indicates that the delegate registers in Harness NextGen; a value of false indicates that the delegate registers in FirstGen.
POLL_FOR_TASKS
Enables or disables polling for delegate tasks. By default, the delegate uses Secure WebSocket (WSS) for tasks. If the PROXY\_\* settings are used and the proxy or some intermediary does not allow WSS, then set POLL\_FOR\_TASKS to true to enable polling.
STACK_DRIVER_LOGGING_ENABLED
Delegates send logs to Harness by default. Harness uses these logs for debugging and support. To disable this functionality, set this value to "false".
PROXY_*
You can use delegate proxy settings to change how the delegate connects to Harness Manager.
The secretKeyRef values are named based on delegate name.
Last updated
Was this helpful?