Skip to content

feat(gateway): expose configured queues through ListQueues - #776

Merged
behinddwalls merged 2 commits into
mainfrom
preetam/codex/list-queues
Oct 5, 2026
Merged

behinddwalls merged 2 commits into
mainfrom
preetam/codex/list-queues

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Why?

Operators and clients need to discover valid submit queues without already knowing their names or relying on request history, which omits queues that have not received requests.

What?

Add the gateway ListQueues RPC and committed protobuf, gRPC, and YARPC bindings. Reuse queueconfig.Store.List in a transport-agnostic controller that returns a copied, alphabetically sorted list. Wire the RPC into the gateway and expose it through Client.ListQueues and the list-queues CLI command, with one queue name per output line.

Cover configured and empty queues, immutable configuration values, error propagation, CLI output and argument validation, and the Docker-backed gateway RPC.

Test Plan

  • ✅ make proto, make fmt, and make gazelle.
  • ✅ Bazel unit tests for the gateway controller, client library, server, server mapper, and CLI (five targets).
  • ✅ ./tool/bazel test //test/integration/submitqueue/gateway:go_default_test --test_filter='TestGatewayIntegration/TestListQueuesAPI' --strategy=TestRunner=local; local TestRunner execution allows Docker buildx to update its cache outside the Bazel sandbox.
  • ✅ make lint check-gazelle check-tidy, using a temporary Git index to compare generated output with the candidate changes without committing them first.

## Summary

### Why?

Operators and clients need to discover valid submit queues without already knowing their names or relying on request history, which omits queues that have not received requests.

### What?

Add the gateway ListQueues RPC and committed protobuf, gRPC, and YARPC bindings. Reuse queueconfig.Store.List in a transport-agnostic controller that returns a copied, alphabetically sorted list. Wire the RPC into the gateway and expose it through Client.ListQueues and the list-queues CLI command, with one queue name per output line.

Cover configured and empty queues, immutable configuration values, error propagation, CLI output and argument validation, and the Docker-backed gateway RPC.

## Test Plan

- ✅ `make proto`, `make fmt`, and `make gazelle`.
- ✅ Bazel unit tests for the gateway controller, client library, server, server mapper, and CLI (five targets).
- ✅ `./tool/bazel test //test/integration/submitqueue/gateway:go_default_test --test_filter='TestGatewayIntegration/TestListQueuesAPI' --strategy=TestRunner=local`; local TestRunner execution allows Docker buildx to update its cache outside the Bazel sandbox.
- ✅ `make lint check-gazelle check-tidy`, using a temporary Git index to compare generated output with the candidate changes without committing them first.
@behinddwalls
behinddwalls marked this pull request as ready for review October 5, 2026 20:03
@behinddwalls
behinddwalls requested review from a team and sbalabanov as code owners October 5, 2026 20:03
@behinddwalls
behinddwalls enabled auto-merge October 5, 2026 20:05
@behinddwalls
behinddwalls disabled auto-merge October 5, 2026 22:33
@behinddwalls
behinddwalls enabled auto-merge October 5, 2026 22:34
@behinddwalls
behinddwalls added this pull request to the merge queue Oct 5, 2026
Merged via the queue into main with commit 276bfcc Oct 5, 2026
27 of 29 checks passed
@behinddwalls
behinddwalls deleted the preetam/codex/list-queues branch October 5, 2026 22:44

This branch was previously deployed

1 inactive deployment
stack-rebase — 742dc580 Deployed Oct 5, 2026 by behinddwalls via Rebase Stack #557
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