Skip to main content

Infrastructure settings

Last updated on

The Settings panel appears when you create or edit a Kubernetes (Harness Infrastructure) chaos infrastructure. It controls where the chaos runner deploys, which identity it runs as, how it reaches the Harness control plane, and how its pods are scheduled and shaped. Every setting has a working default, so you configure only what your cluster requires.


What you will learn

  • What each section of the Settings panel controls.
  • Which settings are required and which are optional.
  • Where to go for the in-depth mTLS and proxy setup.

Where to find these settings

To open the Settings panel on an existing infrastructure:

  1. Go to Resilience Testing → Project Settings → Resilience Testing Infrastructures.
  2. Select the Kubernetes (Harness Infrastructure) tab.
  3. Open the infrastructure, either by clicking its name or by clicking the menu on its row and selecting Edit.
  4. On the Overview tab, the Settings panel is on the right. Expand each section described below to configure it.
  5. Click Save to apply changes.

The same panel also appears during the create flow. Go to Dedicated delegate approach or Centralized delegate approach for the full create steps.

YAML mode

The infrastructure detail page has a YAML tab next to Overview. It shows the same settings as raw YAML, which you can edit directly or commit to Git.


General settings

SettingRequiredDescription
Enable AINoAllow Harness AI to provide tailored recommendations for chaos experiments and system vulnerabilities. Off by default.
NamespaceYesThe namespace where the chaos runner and helper pods deploy. The service account you reference must exist in this namespace.
Use static name for configmap and secretNoGive the generated ConfigMap and Secret fixed names instead of generated ones. Enable this when a GitOps or policy workflow needs to reference them by a predictable name, and for GKE Autopilot clusters.

Security

Controls the identity and TLS behavior of the chaos runner.

SettingRequiredDescription
Use this Service AccountYesThe Kubernetes service account the chaos runner uses. It must exist in the target namespace and carry the RBAC the faults need. Go to Cluster permissions for the required ClusterRole and Role definitions.
Skip SSL Certificate ValidationNoSkip TLS verification on calls to the Harness control plane. Use only for testing against a cluster with self-signed certificates. Leave off in production.

Security context

Sets the pod-level securityContext for the chaos runner. Leave both fields empty to use the image defaults.

SettingRequiredDescription
Run as userNoThe UID the runner container runs as, for example 2000. Set this when your cluster enforces a non-root UID through Pod Security Admission or an equivalent policy.
Run as groupNoThe GID the runner container runs as, for example 2000.

mTLS

Add mutual TLS on top of the default Harness token authentication. All fields are optional and left empty unless your cluster routes traffic through an mTLS endpoint.

SettingRequiredDescription
Agent URLNoThe mTLS endpoint the runner connects to, for example https://agent.url.
Certificate Secret NameNoThe Kubernetes secret that holds the client certificate and key.
Certificate PathNoPath to the client certificate inside the mounted secret, for example crt.crt.
Certificate Key PathNoPath to the client key inside the mounted secret, for example key.crt.

Go to Network configuration to set up the secret and endpoint end to end.


Proxy

Route the runner's outbound traffic through a proxy when the cluster cannot reach the Harness control plane directly. All fields are optional.

SettingRequiredDescription
Proxy URLNoThe proxy endpoint for Harness control-plane traffic, for example https://proxy.url.
HTTPNoValue for the HTTP_PROXY environment variable.
HTTPSNoValue for the HTTPS_PROXY environment variable.
No ProxyNoComma-separated list of hosts that bypass the proxy. Include the in-cluster kubernetes service so intra-cluster traffic is not proxied.

Go to Network configuration for proxy and Harness Network Proxy (HNP) details.


Scheduling and pod shape

These sections shape how the chaos runner pods are scheduled and what they mount. Each is a toggle that reveals the corresponding fields when enabled, and all default to off.

SectionToggleDescription
TopologyAdd NodeSelector in Chaos Infrastructure deploymentPin the runner to nodes that match the given labels.
TopologyAdd Toleration in Chaos Infrastructure deploymentLet the runner schedule onto tainted nodes.
VolumesAdd Volumes in Chaos Infrastructure deploymentAttach extra volumes to the runner pods.
VolumesAdd VolumeMounts in Chaos Infrastructure deploymentMount the attached volumes into the runner container.
Labels and AnnotationsAdd Labels in Chaos Infrastructure deploymentApply custom labels to the runner pods.
Labels and AnnotationsAdd Annotations in Chaos Infrastructure deploymentApply custom annotations to the runner pods.
EnvAdd Envs in Chaos Infrastructure deploymentInject extra environment variables into the runner container.
ContainersAdd InitContainers and Sidecars in Chaos Infrastructure deploymentAdd init containers or sidecars alongside the runner.

Resource requirements

Enable Set CPU and Memory resource limits and requests to override the default runner resource footprint. Go to Kubernetes infrastructure for the default requests and limits and the helper pod footprint.


Image registry

By default the chaos runner pulls images using the values inherited from Project Settings (for example, server docker.io, account harness, type Public).

SettingRequiredDescription
Add custom Image Registry values to your infrastructureNoOverride the inherited registry for this infrastructure only.
Use custom imagesNoPoint the runner at your own mirrored chaos images. Enable this in air-gapped or registry-restricted clusters.