Skip to content

feat: add optional separate gRPC ingress - #525

Open
inamdarmihir wants to merge 1 commit into
qdrant:mainfrom
inamdarmihir:feat/grpc-ingress
Open

inamdarmihir wants to merge 1 commit into
qdrant:mainfrom
inamdarmihir:feat/grpc-ingress

Conversation

@inamdarmihir

Copy link
Copy Markdown

What

Adds an optional grpcIngress values block and templates/grpc-ingress.yaml. When enabled, it renders a second Ingress named <fullname>-grpc that routes to the gRPC service port (6334). It is disabled by default and mirrors the existing ingress values: ingressClassName, annotations, additionalLabels, hosts and tls.

Why

REST and gRPC generally can't share one Ingress. For example, ingress-nginx needs nginx.ingress.kubernetes.io/backend-protocol: GRPC on a dedicated Ingress. Until now the chart offered no way to expose gRPC separately.

How was it tested

  • helm lint charts/qdrant passes.
  • helm template with default values is byte-identical to main.
  • With ingress.enabled=true,grpcIngress.enabled=true it renders two Ingresses: qdrant routes to port 6333 and qdrant-grpc routes to port 6334 under the gRPC host, with the configured class, annotations and tls.
  • go test ./test passes, including two new render-level tests: disabled by default, and enabled with class, annotations, hosts and tls.
  • Not run: the bats integration tests, which need kind and a cluster, and golangci-lint. gofmt is clean.

Notes

Fixes #402

Authored by Mihir Inamdar.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Separate Ingress for GRPC

1 participant