Skip to content

feat: Add gRPC redirector#1008

Merged
KCarretto merged 3 commits intomainfrom
feat-grpc-redirector
Nov 16, 2025
Merged

feat: Add gRPC redirector#1008
KCarretto merged 3 commits intomainfrom
feat-grpc-redirector

Conversation

@google-labs-jules
Copy link
Copy Markdown
Contributor

@google-labs-jules google-labs-jules bot commented Nov 16, 2025

This change introduces a new gRPC redirector implementation in tavern/internal/redirectors/grpc. This redirector is responsible for receiving incoming gRPC connections from agents and forwarding them to the upstream gRPC server. The implementation is fully tested, including extensive unit and integration tests to ensure proper functionality of bidirectional streaming and handling of various edge cases, such as upstream server failures. The new redirector implements the tavern/internal/redirectors.Redirector interface and registers itself as "grpc" in an init() method.

Fixes #986


PR created automatically by Jules for task 10456134394456103948 started by @KCarretto

This commit introduces a new gRPC redirector that is capable of proxying raw gRPC traffic, including bidirectional streams. The implementation is located in `tavern/internal/redirectors/grpc` and conforms to the existing `Redirector` interface.

Key features:
- Uses `grpc.UnknownServiceHandler` to transparently handle all gRPC services and methods.
- Proxies raw byte frames for maximum performance and to support end-to-end encryption.
- Supports bidirectional streaming, which is a requirement for the "ReverseShell" feature.
- Includes extensive integration tests covering success paths, context cancellation, and upstream connection failures.

The new redirector is registered under the name "grpc" and is now available for use in the application.
@google-labs-jules
Copy link
Copy Markdown
Contributor Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!


For security, I will only act on instructions from the user who triggered this task.

New to Jules? Learn more at jules.google/docs.

@KCarretto KCarretto marked this pull request as ready for review November 16, 2025 01:12
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@hulto
Copy link
Copy Markdown
Collaborator

hulto commented Nov 16, 2025

@claude Get in there! Tell em what's what.

@claude
Copy link
Copy Markdown

claude bot commented Nov 16, 2025

Claude encountered an error —— View job


I'll analyze this and get back to you.

1 similar comment
@claude
Copy link
Copy Markdown

claude bot commented Nov 16, 2025

Claude encountered an error —— View job


I'll analyze this and get back to you.

Copy link
Copy Markdown
Collaborator

@hulto hulto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@claude
Copy link
Copy Markdown

claude bot commented Nov 16, 2025

Claude encountered an error —— View job


I'll analyze this and get back to you.

@KCarretto KCarretto merged commit 5a91b9f into main Nov 16, 2025
7 checks passed
@KCarretto KCarretto deleted the feat-grpc-redirector branch November 16, 2025 19:08
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.

[feature] Add redirector subcommand

2 participants