Skip to main content
Operator configuration is split into two areas:
  1. Helm values — control the operator deployment itself (replicas, resources, log level, images)
  2. AutoInstrumentation CRD — control which pods are instrumented and how

Operator Helm values

Pass values at install or upgrade time with --set flags or a values.yaml file.

Deployment

integer
default:"1"
Number of operator replicas. For high availability, set to 3 and configure podAntiAffinity.
string
default:"RollingUpdate"
Kubernetes deployment strategy. Use Recreate if you need to avoid running two operator versions simultaneously.
string
default:""
Priority class for the operator pod. Set to system-cluster-critical for production environments.

Resource limits

string
default:"100m"
CPU request for the operator pod.
string
default:"128Mi"
Memory request for the operator pod.
string
default:"500m"
CPU limit for the operator pod.
string
default:"512Mi"
Memory limit for the operator pod.
Example — high availability deployment:

Observability

string
default:"info"
Operator log level. Accepts debug, info, warn, or error.
boolean
default:"false"
Emit the operator’s own telemetry via OpenTelemetry. Requires observability.otel.endpoint.
string
default:""
OTLP endpoint to send operator telemetry to, for example http://openlit:4318.
Example:

Provider images

The operator uses pre-built init container images for each instrumentation provider. By default these inherit the operator’s own image tag.
string
default:"ghcr.io/openlit/openlit-ai-instrumentation"
Image repository for the OpenLIT instrumentation provider.
string
default:"ghcr.io/openlit/openllmetry-ai-instrumentation"
Image repository for the OpenLLMetry instrumentation provider.
string
Image repository for the OpenInference instrumentation provider.
Example — using a private registry:

Instrumentation defaults

string
default:"openlit"
Default instrumentation provider used when none is specified in the AutoInstrumentation CR. Accepts openlit, openinference, openllmetry, or custom.
string
default:"latest"
Default provider image tag.
string
default:"IfNotPresent"
Image pull policy for init containers.

AutoInstrumentation CRD

The AutoInstrumentation custom resource defines which pods to instrument, how to instrument them, and where to send telemetry.

Full spec reference

Pod selection

LabelSelector
required
Pods matching this selector in the same namespace will be instrumented. Supports matchLabels (exact match) and matchExpressions (operators: In, NotIn, Exists, DoesNotExist).
LabelSelector
Pods matching this selector are skipped, even if they match spec.selector. Use to exclude system components or debug pods.
AutoInstrumentation resources only affect pods in the same namespace. To instrument pods across namespaces, create a separate AutoInstrumentation resource in each namespace.

Python instrumentation

boolean
default:"true"
Enable or disable Python instrumentation.
string
default:"openlit"
Instrumentation provider. Accepted values:
string
default:"latest"
Provider image tag to use.
string
default:""
Comma-separated list of additional pip packages to install in the init container, e.g. langchain>=0.1.0,chromadb>=0.4.0.
string
default:""
Full image reference for a custom init container. Required when provider is custom.

OTLP configuration

string
required
OTLP HTTP endpoint. Must be a valid HTTP or HTTPS URL.
string
default:""
HTTP headers as comma-separated key=value pairs, e.g. authorization=Bearer token123,x-api-key=secret. Used for authentication with external backends.
integer
default:"30"
Request timeout in seconds. Accepted range: 1–300.

Resource attributes

Resource attributes are attached to every span and metric as OpenTelemetry resource attributes. The operator also automatically adds k8s.pod.name, k8s.namespace.name, k8s.deployment.name, k8s.node.name, and related Kubernetes attributes.
string
default:""
Maps to deployment.environment. Example: production.
string
default:""
Maps to service.name. Overrides the auto-detected service name.
string
default:""
Maps to service.namespace.
string
default:""
Maps to service.version. Example: v2.1.0.