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.