Skip to main content

ToolHive operator Helm values

Configure the ToolHive operator chart with these Helm values.

This reference lists values declared in the chart's default values.yaml. Templates can also accept optional settings and inherited global values.

Chart: toolhive-operator. Chart version: 0.22.0. Generated from the platform source at e71926418e98c7598815d0abf07039d3c1646f21.

Values​

ha​

Type: object

Default: {"podDisruptionBudget":{"minAvailable":1}}

High availability for the operator. The replica count stays on the upstream chart value (upstream.operator.replicaCount, or upstream.operator.autoscaling.minReplicas with autoscaling on) — this overlay cannot rewrite it. The operator uses leader election and reports Ready on every replica, so extra replicas are hot standbys. This overlay renders a PodDisruptionBudget whenever the operator runs more than one replica; a budget over a single replica would block every node drain.

ha.podDisruptionBudget.minAvailable​

Type: int

Default: 1

Minimum number of operator pods that must remain available.

upstream.operator.affinity​

Type: object

Default value
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: upstream
app.kubernetes.io/part-of: upstream
topologyKey: kubernetes.io/hostname
weight: 100
- podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: upstream
app.kubernetes.io/part-of: upstream
topologyKey: topology.kubernetes.io/zone
weight: 50

Spread operator replicas across nodes and zones. Preferred, not required, so it never blocks scheduling and does nothing at one replica. Setting your own upstream.operator.affinity merges with this map; set podAntiAffinity: null to drop the default. The selector labels are what the upstream chart renders under alias: upstream (Helm renames an aliased dependency's .Chart.Name); part-of keeps it off the registry-server pods, which share the same alias name.

upstream.operator.image​

Type: string

Default value
image-proxy.stacklok.com/proxy/stacklok-enterprise/ghcr.io/stacklok/stacklok-enterprise/operator:0.22.0

Container image for the Stacklok Enterprise ToolHive operator.

upstream.operator.toolhiveRunnerImage​

Type: string

Default value
image-proxy.stacklok.com/proxy/stacklok-enterprise/ghcr.io/stacklok/stacklok-enterprise/proxyrunner:0.22.0

Default proxy runner image injected into MCPServer workloads by the operator.

upstream.operator.vmcpImage​

Type: string

Default value
image-proxy.stacklok.com/proxy/stacklok-enterprise/ghcr.io/stacklok/stacklok-enterprise/vmcp:0.22.0

Default Virtual MCP Server image injected into workloads by the operator.

upstream.operator.imageDiscovery.enabled​

Type: bool

Default: true

Render a zero-replica Deployment containing runtime-injected image references so air-gap manifest scanners can discover them.

upstream.operator.imagePullSecrets​

Type: list

Default: [{"name":"enterprise-pull-secret"}]

Image pull Secrets for the operator pod. The default uses the enterprise-pull-secret created for the Replicated image proxy.

upstream.operator.defaultImagePullSecrets​

Type: list

Default: [{"name":"enterprise-pull-secret"}]

Image pull Secrets applied to workloads created by the operator. Per-resource entries take precedence on matching names, and these defaults are added for other names.

upstream.operator.env​

Type: list

Default: [{"name":"TOOLHIVE_SKIP_UPDATE_CHECK","value":"true"}]

Additional operator environment variables. The default disables the open source update check because enterprise releases follow their own schedule.

upstream.registryAPI.image​

Type: string

Default value
image-proxy.stacklok.com/proxy/stacklok-enterprise/ghcr.io/stacklok/stacklok-enterprise/registry-api:0.22.0

Default Registry Server image injected into workloads created from MCPRegistry resources.