apiVersion: agentgateway.dev/v1alpha1 kind: AgentgatewayBackend metadata: name: vertex-batch namespace: agentgateway-system spec: ai: provider: vertexai: projectId: ms2k-personal region: global host: vertex-batch.agentgateway-system.svc.cluster.local port: 8080 --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: batch-front namespace: agentgateway-system spec: parentRefs: - name: agentgateway-proxy rules: - matches: - method: POST path: type: Exact value: /v1/chat/completions headers: - name: x-model type: RegularExpression value: ^vertex_ai_batch/.+ filters: - type: URLRewrite urlRewrite: path: type: ReplaceFullPath replaceFullPath: /front backendRefs: - name: vertex-batch port: 8080 --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: batch-native namespace: agentgateway-system spec: parentRefs: - name: agentgateway-proxy rules: - matches: - method: POST path: type: Exact value: /v1/chat/completions headers: - name: x-model type: RegularExpression value: ^vertex_batch/.+ backendRefs: - group: agentgateway.dev kind: AgentgatewayBackend name: vertex-batch --- apiVersion: agentgateway.dev/v1alpha1 kind: AgentgatewayPolicy metadata: name: batch-native namespace: agentgateway-system spec: targetRefs: - group: gateway.networking.k8s.io kind: HTTPRoute name: batch-native traffic: transformation: request: set: - name: x-batch-stream value: 'string(has(json(request.body).stream) ? json(request.body).stream : false)' - name: x-batch-model value: 'json(request.body).model.stripPrefix("vertex_batch/")' backend: ai: transformations: - field: model expression: llmRequest.model.stripPrefix("vertex_batch/")