Install the Testbench

This guide walks you through installing the Testbench into an existing Kubernetes cluster with Testkube.

Prerequisites

  • A running Kubernetes cluster with kubectl configured

  • Testkube installed in the testkube namespace

  • (Optional) Grafana with the dashboard sidecar watching the monitoring namespace, if you want the bundled dashboards

Step 1: Apply the installer

Install everything (operator + TestWorkflowTemplates + Grafana dashboard ConfigMap) with one command:

kubectl apply -f https://github.com/agentic-layer/testbench/releases/latest/download/install.yaml

This always pulls the latest release. Browse all releases at https://github.com/agentic-layer/testbench/releases.

The installer creates:

  • The testbench-operator-system namespace and the operator controller manager.

  • The Experiment Custom Resource Definition.

  • Five TestWorkflowTemplate resources in the testkube namespace.

  • A grafana-testkube-dashboard ConfigMap in the monitoring namespace.

The testkube and monitoring namespaces must already exist. The installer assumes they are owned by your Testkube and Grafana installs.

Step 2: Customise the installation (optional)

Customisation happens via Kustomize overlays. Two examples are committed in the repository under operator/config/samples/overlays/:

The pattern: download the released install.yaml into an overlay directory, then write a small kustomization.yaml that references it and adds patches:

curl -L -o install.yaml \
  https://github.com/agentic-layer/testbench/releases/latest/download/install.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - install.yaml

images:
  - name: ghcr.io/agentic-layer/testbench/testworkflows
    newTag: my-custom-tag

Apply with:

kubectl apply -k <overlay-directory>

Step 3: Verify the installation

Confirm the operator is running:

kubectl get deployment -n testbench-operator-system

Confirm all five TestWorkflowTemplate resources are present:

kubectl get testworkflowtemplates -n testkube

Expected output:

NAME                 AGE
evaluate-template    10s
publish-template     10s
run-template         10s
setup-template       10s
visualize-template   10s

Step 4: Verify Grafana dashboards (optional)

If your Grafana install watches monitoring for dashboard ConfigMaps:

kubectl get configmap grafana-testkube-dashboard -n monitoring
The Grafana sidecar must be configured to watch ConfigMaps with the label grafana_dashboard: "1" in the target namespace.

Migrating from the Helm chart

The Helm chart at oci://ghcr.io/agentic-layer/charts/testbench is no longer published. To migrate:

helm uninstall testbench -n testkube
kubectl apply -f https://github.com/agentic-layer/testbench/releases/latest/download/install.yaml

In-flight TestWorkflows are interrupted by the uninstall. Run the migration during a maintenance window if that matters.

Next steps

With the Testbench installed, proceed to Create Your First TestWorkflow to define an experiment and run it against an agent.