Operations

VectorStore CRD

A VectorStore is the gateway’s upstream connection. It names the store kind, endpoint, credential Secret, and the inbound auth policy the gateway applies to client requests. An install may define more than one VectorStore; each Index.spec.backend.storeRef selects which store serves that upstream namespace.

apiVersion: hevlayer.com/v1alpha1
kind: VectorStore
metadata:
  name: turbopuffer-default
  namespace: layer
spec:
  kind: turbopuffer
  default: true
  endpoint:
    url: https://aws-us-east-1.turbopuffer.com
    region: aws-us-east-1
  turbopuffer:
    orgId: org_123
  credential:
    secretRef:
      name: layer
      key: turbopuffer-api-key
  inboundAuth:
    mode: deriveFromStore

Connection

Apply the VectorStore resource to the gateway’s Kubernetes namespace. The operator reads upstream credentials from the referenced Secret in that namespace.

FieldPurpose
kindThe backend engine: turbopuffer.
defaultSelects the store for namespaces without an explicit store reference.
endpoint.urlUpstream API base URL.
endpoint.regionOperator-visible region label.
turbopuffer.orgIdOptional organization ID for dashboard links.
credential.secretRefKubernetes Secret containing the upstream credential.
Standalone gateway configuration

For the standalone gateway, see the OSS configuration guide.

Routing

The gateway builds one upstream client per VectorStore in the namespace. Requests whose namespace has an Index with spec.backend.storeRef use that store; other namespaces use the default store. Two Index objects cannot resolve to the same upstream namespace.

Inbound auth

spec.inboundAuth.mode controls the bearer token the gateway accepts.

ModeBehavior
deriveFromStoreAccept the default store’s upstream credential as the inbound bearer.
keysAccept independent key Secrets with read, write, and admin scopes.
openNo inbound authentication; use only for explicitly open environments.

For independent inbound keys:

spec:
  inboundAuth:
    mode: keys
    keys:
      - name: shop-rw
        scopes: [read, write]
        secretRef:
          name: layer
          key: layer-inbound-shop-rw-api-key

Kubernetes resolves each Secret in the resource’s namespace. Operator-managed workers and KEDA use the same Secret through LAYER_GATEWAY_API_KEY.

In every mode the gateway also accepts a minted ApiKey token whose vectorstore.<name> entitlement names this store, enforcing its scopes and namespace globs.

Status

The operator sets status.reachable and a Ready condition after validating the Secret references and probing GET /v1/namespaces on the store endpoint.

esc