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.
Installing the chart creates the following resources in the release namespace:
| Resource | Kind | Description |
|---|---|---|
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.
|
| Value | Type | Default | Description |
|---|---|---|---|
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. |
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
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.