Skip to content

Commit 8a2ad31

Browse files
committed
Restructure Stovepipe under gateway and add core/extension placeholders.
Move proto, generated gRPC Go, and controllers into stovepipe/gateway; add stovepipe/orchestrator, entity, and extension stubs; introduce core/extension for shared extensions. Update Makefile proto paths, Gazelle resolve, examples, and integration tests. Drop committed stovepipe.pb.yarpc.go (regenerate via make proto when YARPC is needed). SubmitQueue gateway/orchestrator unchanged.
1 parent 0b83e69 commit 8a2ad31

26 files changed

Lines changed: 173 additions & 361 deletions

File tree

BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ load("@gazelle//:def.bzl", "gazelle")
55
# Resolve protobuf import ambiguities - use the actual protopb packages, not the proto aliases
66
# gazelle:resolve go github.com/uber/submitqueue/gateway/protopb //gateway/protopb
77
# gazelle:resolve go github.com/uber/submitqueue/orchestrator/protopb //orchestrator/protopb
8-
# gazelle:resolve go github.com/uber/submitqueue/stovepipe/protopb //stovepipe/protopb
8+
# gazelle:resolve go github.com/uber/submitqueue/stovepipe/gateway/protopb //stovepipe/gateway/protopb
99

1010
# Export marker files for test data dependencies (used by FindRepoRoot in tests)
1111
exports_files(

Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ clean-proto: ## Clean generated proto files
9191
@echo "Cleaning generated proto files..."
9292
@rm -rf gateway/protopb/*.pb.go
9393
@rm -rf orchestrator/protopb/*.pb.go
94-
@rm -rf stovepipe/protopb/*.pb.go
94+
@rm -rf stovepipe/gateway/protopb/*.pb.go
9595
@echo "Proto clean complete!"
9696

9797
deps: tidy-go ## Download and tidy Go dependencies
@@ -287,10 +287,10 @@ proto: ## Generate protobuf files from .proto definitions
287287
--go-grpc_out=orchestrator/protopb --go-grpc_opt=paths=source_relative \
288288
--yarpc-go_out=orchestrator/protopb --yarpc-go_opt=paths=source_relative \
289289
--proto_path=orchestrator/proto orchestrator/proto/orchestrator.proto
290-
@protoc --go_out=stovepipe/protopb --go_opt=paths=source_relative \
291-
--go-grpc_out=stovepipe/protopb --go-grpc_opt=paths=source_relative \
292-
--yarpc-go_out=stovepipe/protopb --yarpc-go_opt=paths=source_relative \
293-
--proto_path=stovepipe/proto stovepipe/proto/stovepipe.proto
290+
@protoc --go_out=stovepipe/gateway/protopb --go_opt=paths=source_relative \
291+
--go-grpc_out=stovepipe/gateway/protopb --go-grpc_opt=paths=source_relative \
292+
--yarpc-go_out=stovepipe/gateway/protopb --yarpc-go_opt=paths=source_relative \
293+
--proto_path=stovepipe/gateway/proto stovepipe/gateway/proto/stovepipe.proto
294294
@echo "Protobuf files generated successfully!"
295295

296296
# Bazel query helpers

core/extension/BUILD.bazel

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
load("@rules_go//go:def.bzl", "go_library")
2+
3+
go_library(
4+
name = "extension",
5+
srcs = ["doc.go"],
6+
importpath = "github.com/uber/submitqueue/core/extension",
7+
visibility = ["//visibility:public"],
8+
)

core/extension/doc.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright (c) 2025 Uber Technologies, Inc.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
// Package extension holds extension interfaces and implementations shared
16+
// across SubmitQueue, Stovepipe, and other repo-local services.
17+
package extension

example/client/stovepipe/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ go_library(
66
importpath = "github.com/uber/submitqueue/example/client/stovepipe",
77
visibility = ["//visibility:private"],
88
deps = [
9-
"//stovepipe/protopb",
9+
"//stovepipe/gateway/protopb",
1010
"@org_golang_google_grpc//:grpc",
1111
"@org_golang_google_grpc//credentials/insecure",
1212
],

example/client/stovepipe/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"os"
2222
"time"
2323

24-
pb "github.com/uber/submitqueue/stovepipe/protopb"
24+
pb "github.com/uber/submitqueue/stovepipe/gateway/protopb"
2525
"google.golang.org/grpc"
2626
"google.golang.org/grpc/credentials/insecure"
2727
)

example/server/stovepipe/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ go_library(
1111
importpath = "github.com/uber/submitqueue/example/server/stovepipe",
1212
visibility = ["//visibility:private"],
1313
deps = [
14-
"//stovepipe/controller",
15-
"//stovepipe/protopb",
14+
"//stovepipe/gateway/controller",
15+
"//stovepipe/gateway/protopb",
1616
"@com_github_uber_go_tally_v4//:tally",
1717
"@org_golang_google_grpc//:grpc",
1818
"@org_golang_google_grpc//reflection",

example/server/stovepipe/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import (
2626
"time"
2727

2828
"github.com/uber-go/tally/v4"
29-
"github.com/uber/submitqueue/stovepipe/controller"
30-
pb "github.com/uber/submitqueue/stovepipe/protopb"
29+
"github.com/uber/submitqueue/stovepipe/gateway/controller"
30+
pb "github.com/uber/submitqueue/stovepipe/gateway/protopb"
3131
"go.uber.org/zap"
3232
"google.golang.org/grpc"
3333
"google.golang.org/grpc/reflection"

stovepipe/README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
SubmitQueue Stovepipe
1+
# Stovepipe
2+
3+
Stovepipe service layout:
4+
5+
- `gateway/` — RPC surface, gateway controllers, and generated protobufs
6+
- `orchestrator/` — reserved for the future Stovepipe orchestrator binary
7+
- `extension/` — Stovepipe-specific extension implementations
8+
- `entity/` — Stovepipe-specific domain entities

stovepipe/entity/BUILD.bazel

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
load("@rules_go//go:def.bzl", "go_library")
2+
3+
go_library(
4+
name = "entity",
5+
srcs = ["doc.go"],
6+
importpath = "github.com/uber/submitqueue/stovepipe/entity",
7+
visibility = ["//visibility:public"],
8+
)

0 commit comments

Comments
 (0)