Skip to main content

Delegate Task Category Mapping


The Task Category Map feature replaces the Command setting in Delegate Scopes, which is deprecated and will be removed soon.Harness deployments are broken down into separate tasks performed by Harness Delegates.

Tasks are organized by category. For example, all the connections and images pulled using Docker Hub are part of the Docker Hub Task Category.

By default, Harness performs tasks using any available Delegates. If you want Harness to prioritize a specific Delegate for a task category, you can map the task category to a Selector, and apply that Selector to a Delegate.

The mapped Selector can also be used in certain Harness entities to prioritize Delegates, such as Cloud Providers and the Shell Script Workflow step.

This topic describes how to map task categories to Selectors, and then apply the Selector to one or more Delegates.

Before You Begin

The Delegate is a key component of your Harness setup. Please review the following topics to ensure you have a solid understanding of the Delegate:

Supported Platforms and Technologies

See Supported Platforms and Technologies.

Visual Summary

Here is example of adding a new Selector to a Delegate, and then mapping the Selector to a Task Category:

Here is an example of adding a Selector to a Task Category Mapping, and then applying the Selector to a Delegate:

Step 1: Set Permissions

To map Selectors to Task Categories a user must belong to a User Group with the Account Permission Manage Delegates enabled.

See Managing Users and Groups (RBAC).

Step 2: Map a Selector to a Task Category

  1. To map a Selector to a Task Category, in Setup, click Harness Delegates.
  2. Click Task Category Map.
  3. Click Map Task Category.
  4. In Task Category, select the category you want to map. See Review: Task Categories.
  5. Select or create selectors to map to this Task Category.
    1. You can simply enter the name of a new Selector and click Create.
    2. If you have an existing Selector, one that is perhaps already used by a Delegate or Delegate Profile, you can start entering its name and it will appear. Next, click its name to select it.

      You must select or create at least one Selector.

  6. Click Submit. The Task Category is now mapped to the Selector.

If this Selector is not being used by a Delegate or Profile, you can now add it to one or both.

Review: Applying Selectors to Delegates and Profiles

Once you have mapped a Selector to a Task Category, you can apply the Selector to a Delegate using the following options:

  • Add the Selector to the Delegate's Custom Selectors setting.
  • Add the Selector to a Delegate Profile, and then add the Profile to any Delegates. All the Delegates using that Profile are thereby mapped to the Task Category.

For steps on adding Custom Selectors, see Select Delegates with Selectors.

For steps on adding Profile Selectors, see the Selector option in Run Scripts on Delegates using Profiles.

Which option to use?

If your task requires a Delegate Profile, it is best to map the Task Category to a Selector and apply that Selector to the Profile. All Delegates assigned that Profile will then perform the mapped tasks.

If your task can only be performed by specific Delegates because of their location or credentials, it is best to map it to specific Delegate using a Delegate's Custom Selectors setting.

Review: Task Categories

The following table describes the different task categories.

Task CategoryDescription
Amazon Machine Image (AMI)Perform tasks related to AMI Deployments.
Amazon Elastic Container Registry (ECR)Connect and pull images from ECR.
Amazon S3Connect and pull artifacts and files from Amazon S3.
AppDynamicsPerform AppDynamics verification tasks.
AWSConnect using any Harness AWS Cloud Provider.
APMDelegate can perform any APM task
ArtifactoryConnect to JFrog Artifactory using the Artifactory Artifact Server credentials.
Azure Container RegistryConnect and pull Azure Container Registry images and artifacts.
BambooPerform Bamboo related tasks using the Bamboo Artifact Server credentials.
Build SourcePerform tasks for any Build Workflow.
CloudFormationPerform CloudFormation tasks such as CloudFormation Create Stack and CloudFormation Delete Stack Workflow steps. See CloudFormation Provisioning with Harness.
CloudWatchPerform configuration and verification using AWS CloudWatch.
Collaboration ProviderConnect and configure Harness Collaboration Providers.
CommandDelegate will be used first for Service commands.
Connectivity ValidationTests connectivity with resources, such as Harness Cloud Providers.
ContainerPerforms the following container-related tasks:
  • Container active service counts
  • Container information
  • Controller names with labels
  • Container Continuous Efficiency (CE) validation
  • CE Delegate validation
  • Container connection validation
  • List clusters
  • Container validation
  • Fetch Kubernetes master URL
  • Kubernetes steady state check
  • Kubernetes swap service selectors
  • ECS steady state check
  • Validate Kubernetes config
Custom Artifact SourceCollect artifacts using Custom Artifact Sources.
Custom Log Collection and BugsnagPerform configuration and verification using Custom Logs and Bugsnag Verification Overview
DynatracePerform configuration and verification using Dynatrace.
Docker HubConnect to Docker Hub and pull down metadata associated with the artifact.
ELKPerform configuration and verification using ELK.
GitPerform configuration and tasks Git Source Repo Providers.
Google Cloud BuildPerform Google Cloud Build related tasks.
Google Cloud StorageConnect and pull artifacts from Google Cloud Storage.
Google Container RegistryConnect and pull artifacts from GCR.
HelmDelegate can perform Native Helm deployment tasks.
Helm Repo Config ValidationValidate the Helm Repo connection.
Helm Values FetchFetch values.yaml for Native and Kubernetes Helm deployments.
HTTP VerificationPerform the HTTP step in a Workflow.
Host ValidationValidating target hosts availability. For example, see Select Nodes Workflow Step.
JenkinsConnect and perform tasks for Jenkins.
JiraConnect and perform tasks for Jira.
Key Management ServiceConnect and perform tasks for Harness Secrets Managers.
KubernetesPerforms Kubernetes rollouts for Kubernetes deployments.
LDAPConnect to LDAP server and perform LDAP tasks.
LogzConnect and perform Logz tasks.
NexusConnect to Nexus and pull down metadata associated with the artifact.
New RelicConnect and perform New Relic tasks.
PrometheusConnect and perform Prometheus tasks.
PCFConnect and perform Pivotal (PCF) deployments.
Service GuardPerform 24/7 Service Guard tasks.
ServiceNowConnect and perform ServiceNow tasks.
SFTPDelegate can perform SFTP (email server) tasks such as sending emails.
SplunkConnect and perform Splunk tasks.
Shell ScriptPerform Shell Script step in a Workflow.
Shell Script ProvisionDelegate can perform Shell Script Provisioner tasks.
Slack NotificationsDelegate can perform tasks related to sending Slack notifications.
SMBDelegate can perform tasks related to SMB Artifact Servers
SpotInstDelegate can perform SpotInst Deployments and connect to the SpotInst Cloud Provider.
Sumo LogicDelegate can perform tasks related to Sumo Logic calls and Sumo Logic Verification Provider.
TerraformDelegate can perform Terraform tasks.
TriggerDelegate can perform tasks related to Harness Triggers.
Continuous IntegrationDelegate can perform tasks related to CI: Jenkins, Bamboo.
Artifact Collection In PipelineDelegate can perform the artifact collection step in a Pipeline.