Enterprise Not open source: This functionality is only available commercially.

Helm Chart Reference

The vespa-operator Helm chart deploys the Vespa Kubernetes Operator and the permissions required to manage VespaSet and Vespa application resources. It is distributed as an OCI artifact:

$ helm registry login images.ves.pa -u $USER -p $TOKEN
$ helm install vespa-operator oci://images.ves.pa/helm/vespa-operator \
    --namespace $NAMESPACE --create-namespace \
    --set image.repository=$VESPA_OPERATOR_IMAGE \
    --set image.tag=$VESPA_VERSION

For a full walkthrough of the installation procedure, see Installation.

Installed Resources

Installing the chart creates the following resources in the release namespace:

ResourceKindDescription
vespa-operator Deployment Runs a single replica of the Vespa Operator, using the container image specified by the image values.
vespa-operator-sa ServiceAccount The ServiceAccount the operator Deployment runs as.
vespa-operator-role Role Grants the permissions the operator needs to manage VespaSet resources and the Kubernetes resources it derives from them (Pods, Services, ConfigMaps, PersistentVolumeClaims, PodDisruptionBudgets, ServiceAccounts, Roles, RoleBindings, and Events). The full set of permissions is listed on the Permissions page.
vespa-operator-rolebinding RoleBinding Binds vespa-operator-role to vespa-operator-sa.
vespasets.k8s.ai.vespa CustomResourceDefinition The VespaSet CRD. CRD installation is cluster-scoped; if your permission model requires CRDs to be applied separately, install the chart with --skip-crds and apply the CRD manually — see Installation.

Values

ValueTypeDefaultDescription
image.repository string The container image repository for the Vespa Operator.
image.tag string The image tag to deploy, i.e. the Vespa version, e.g. 8.752.24.
image.pullPolicy string Always The Kubernetes image pull policy for the operator container. One of Always, IfNotPresent, or Never.
operator.env list Optional list of additional environment variables injected into the operator container.

Example values file

image:
  repository: "images.example.com/vespa/operator"
  pullPolicy: "Always"
  tag: "8.752.24"

operator:
  env:
    - name: MY_VARIABLE
      value: "my-value"
$ helm install vespa-operator oci://images.ves.pa/helm/vespa-operator \
    --namespace $NAMESPACE --create-namespace --values values.yaml

Samples

The chart ships with a samples directory containing example VespaSet resources, including samples for Minikube and TLS with cert-manager — see Configure TLS Encryption with CertManager.