> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/web-application-and-api-protection-waap/data-collection/ebpf/ebpf-deployment-using-the-harness-cd-pipeline.md).

# eBPF deployment using the Harness CD pipeline

You can deploy the Traceable eBPF agent in your Kubernetes environment using a Harness Continuous Delivery (CD) pipeline. This deployment uses the Traceable Helm chart and is integrated into your Harness project. The process involves:

* Creating a Helm connector to access the Traceable Helm repository.
* Storing the agent configuration in the Harness File Store.
* Creating a Harness service for the Traceable agent.
* Adding the service to a Harness deployment pipeline.

Once set up, this approach enables consistent, automated deployments of the Traceable eBPF agent across environments.

***

## Before You Begin

Before starting the deployment, ensure that you have:

* **Access to Harness CD** with permission to create connectors, services, and pipelines.
* **A running Harness Delegate** in your environment.\
  If a delegate is not available, you must install one during the connector setup.
* **A valid Traceable token** and the environment details provided by Traceable.
* **Helm chart repository details** for Traceable:
  * **Helm Repo URL**: `https://helm.traceable.ai`
  * **Authentication**: None (unless otherwise specified by your organization)
* **Namespaces for instrumentation** — know which Kubernetes namespaces require eBPF instrumentation.

***

## Deployment Steps

This procedure has four main steps. First, you create a Helm connector in Harness to access the Traceable Helm repository. Next, you store the Traceable agent configuration in the Harness File Store. You then create a Harness service that references the Helm chart and configuration file. Finally, you add the service to a pipeline and deploy it.

***

### Step 1: Create a Helm Connector

The Helm connector in Harness provides access to the Traceable Helm repository.

1. In your Harness project, go to **Project Settings → Connectors**.
2. Click **New Connector** and select **HTTP Helm Repository**.
3. Configure the connector:
   * **Name**: `traceable-helm-connector`
   * **Helm Repo URL**: `https://helm.traceable.ai`
   * **Authentication**: None
4. Select an existing delegate or install a new one.
5. Click **Test Connection** and then **Finish**.

For more details, refer to the Harness documentation: [HTTP Helm Repo Connector Settings Reference](https://docs.traceable.ai/docs/platform/connectors/code-repositories/ref-source-repo-provider/http-helm-repo-connector-settings-reference/).

***

### Step 2: Create a File Configuration

You now create a YAML configuration file for the Traceable agent and store it in the Harness File Store.

1. In your Harness project, go to **Project Settings > File Store**.
2. Click **Create New File** and configure:
   * **Name**: `traceable-agent-values`
   * **File Usage**: Manifest
   * **Contents**: YAML configuration, for example:

```language-yaml
token: <your-token>
environment: <your-env-name>
endpoint: api-<traceable-env>.traceable.ai
logLevel: info
daemonSetMirroringEnabled: true
ebpfCaptureEnabled: true
ebpfRunAsPrivileged: true
ebpfDeployOnMaster: true
daemonSetMirroring:
  matchSelectors:
    - field_selectors:
        - "metadata.namespace=<namespace that needs instrumentation>"
```

Replace `<your-token>`, `<your-env-name>`, and `<namespace>` with your actual values.

***

### Step 3: Create a Service

The service in Harness defines how the Traceable agent is deployed.

1. Go to the **Services** section and click **New Service**.
2. Enter:
   * **Name**: `traceable-agent`
   * **Service Definition Type**: Inline
   * **Deployment Type**: Kubernetes
3. In the **Manifests** section, click **Add Manifest** and configure:
   * **Manifest Type**: Helm Chart
   * **Specify Helm Chart Store**: HTTP Helm
   * **Helm Connector**: Select `traceable-helm-connector`
   * **Manifest Identifier**: `traceable`
   * **Chart Name**: `traceable-agent`
4. Add the configuration file as an override:
   * Click **Add Additional Override File**
   * Select **Values YAML** and **Harness**
   * **Manifest Identifier**: `config`
   * **File Path**: Select the `traceable-agent-values` file created in Step 2.

***

### Step 4: Add the Service to a Pipeline

Finally, integrate the Traceable agent service into a deployment pipeline.

1. Open an existing pipeline or create a new one.
2. Add a **Deploy** stage or edit an existing stage.
3. Select the **traceable-agent** service created in Step 3.
4. Configure the stage as required and save the pipeline.

For details, see [Harness Pipeline Execution Walkthrough](https://docs.traceable.ai/docs/continuous-delivery/get-started/pipeline-execution-walkthrough/).
