eBPF deployment using the Harness CD pipeline

Prev Next

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.


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:

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.