Skip to content

feat(server): expose grpc.health and reflection on the gateway multiplex#1181

Open
ddurst-nvidia wants to merge 2 commits intoNVIDIA:mainfrom
ddurst-nvidia:feat/standard-grpc-services
Open

feat(server): expose grpc.health and reflection on the gateway multiplex#1181
ddurst-nvidia wants to merge 2 commits intoNVIDIA:mainfrom
ddurst-nvidia:feat/standard-grpc-services

Conversation

@ddurst-nvidia
Copy link
Copy Markdown
Contributor

Summary

Wire the standard grpc.health.v1.Health and grpc.reflection.v1.ServerReflection services next to OpenShell and Inference on the gateway multiplex, so generic gRPC tooling (grpcurl, health probes, service discovery) works against the gateway without OpenShell-specific knowledge. The legacy openshell.v1.OpenShell/Health RPC is deprecated but kept aligned with process liveness for existing callers.

Related Issue

N/A

Changes

  • Add grpc.health.v1.Health (Check returning SERVING; Watch UNIMPLEMENTED) and grpc.reflection.v1.ServerReflection to the gateway multiplex routing alongside OpenShell and Inference.
  • Emit and embed a protobuf FileDescriptorSet in openshell-core so reflection can serve OpenShell service descriptors.
  • Mark openshell.v1.OpenShell/Health as deprecated in the proto, keeping its current process-liveness semantics; silence deprecation warnings at remaining call sites (CLI status, TUI, VM health check, WS tunnel integration test).
  • Tighten OIDC unauthenticated routing and docs to distinguish standard grpc.health.v1.Health from the legacy OpenShell health RPC.
  • Extend integration coverage: server multiplex (plaintext + TLS), auth endpoint plaintext stack, edge-tunnel TLS, and CLI mTLS — all now exercise the standard health/reflection surface. Add a shared inference test stub and dedupe gateway gRPC router wiring across server integration tests.

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

Wire grpc.health.v1.Health (Check; Watch UNIMPLEMENTED) and
grpc.reflection.v1.ServerReflection next to OpenShell and Inference in
multiplex routing.

- Emit and embed a protobuf FileDescriptorSet in openshell-core for reflection.
- Deprecate openshell.v1.OpenShell/Health in proto; keep legacy RPC aligned with
  process liveness and silence deprecation warnings where callers still use it
  (CLI status, TUI, VM health check, WS tunnel integration tests).
- Tighten OIDC unauthenticated routing/docs for standard health vs legacy
  OpenShell/Health.
- Extend server multiplex integration coverage (plaintext/TLS), auth endpoint
  plaintext stack, edge-tunnel TLS tests, and CLI mTLS integration to exercise
  the new health surface; add shared test inference stub.

Signed-off-by: ddurst <267424412+ddurst-nvidia@users.noreply.github.com>
…tegration tests

Signed-off-by: ddurst <267424412+ddurst-nvidia@users.noreply.github.com>
@drew drew self-assigned this May 5, 2026
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.

2 participants