Installation

The controller is included in the Vrata Helm chart — no separate install.

Prerequisites

Gateway API CRDs must be installed before the controller can watch HTTPRoute and Gateway resources:

kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.5.1/standard-install.yaml

Install via Helm

helm install vrata oci://ghcr.io/achetronic/vrata/helm-chart/vrata \
  --namespace vrata \
  --create-namespace \
  --set controller.enabled=true \
  --set controller.installCRDs=true

This deploys:

Configuration

The controller reads a YAML config from the ConfigMap. Set it via controller.config in your Helm values:

controller:
  enabled: true
  installCRDs: true
  config:
    controlPlaneUrl: "http://vrata-control-plane:8080"
    watch:
      httpRoutes: true
      superHttpRoutes: false
      gateways: true
      gatewayClassName: "vrata"
    snapshot:
      debounce: "5s"
      maxBatch: 100
    duplicates:
      mode: "warn"

See Configuration for the full reference of all fields.