Skip to content

Commit b8c8170

Browse files
committed
chore: merge tunnel in to runner
1 parent 3882bab commit b8c8170

File tree

34 files changed

+2294
-1657
lines changed

34 files changed

+2294
-1657
lines changed

Cargo.lock

Lines changed: 4 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
[workspace]
33
resolver = "2"
4-
members = ["packages/common/api-builder","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-runner","packages/core/pegboard-serverless","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/internal","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/bare_gen","sdks/rust/data","sdks/rust/epoxy-protocol","sdks/rust/runner-protocol","sdks/rust/tunnel-protocol","sdks/rust/ups-protocol"]
4+
members = ["packages/common/api-builder","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-runner","packages/core/pegboard-serverless","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/internal","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/bare_gen","sdks/rust/data","sdks/rust/epoxy-protocol","sdks/rust/runner-protocol","sdks/rust/ups-protocol"]
55

66
[workspace.package]
77
version = "25.7.1"
@@ -401,9 +401,6 @@ path = "sdks/rust/epoxy-protocol"
401401
[workspace.dependencies.rivet-runner-protocol]
402402
path = "sdks/rust/runner-protocol"
403403

404-
[workspace.dependencies.rivet-tunnel-protocol]
405-
path = "sdks/rust/tunnel-protocol"
406-
407404
[workspace.dependencies.rivet-ups-protocol]
408405
path = "sdks/rust/ups-protocol"
409406

packages/core/guard/server/src/routing/pegboard_gateway.rs

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -173,38 +173,11 @@ async fn find_actor(
173173

174174
tracing::debug!(?actor_id, ?runner_id, "actor ready");
175175

176-
// TODO: Remove round trip, return key from get_runner op above
177-
// Get runner key, namespace_id, and runner_name from runner_id
178-
let (runner_key, namespace_id, runner_name) = ctx
179-
.udb()?
180-
.run(|tx| async move {
181-
let tx = tx.with_subspace(pegboard::keys::subspace());
182-
183-
let runner_key_key = pegboard::keys::runner::KeyKey::new(runner_id);
184-
let namespace_id_key = pegboard::keys::runner::NamespaceIdKey::new(runner_id);
185-
let runner_name_key = pegboard::keys::runner::NameKey::new(runner_id);
186-
187-
let (runner_key, namespace_id, runner_name) = tokio::try_join!(
188-
tx.read_opt(&runner_key_key, Serializable),
189-
tx.read_opt(&namespace_id_key, Serializable),
190-
tx.read_opt(&runner_name_key, Serializable),
191-
)?;
192-
193-
let runner_key = runner_key.context("runner key not found")?;
194-
let namespace_id = namespace_id.context("runner namespace_id not found")?;
195-
let runner_name = runner_name.context("runner name not found")?;
196-
197-
Ok((runner_key, namespace_id, runner_name))
198-
})
199-
.await?;
200-
201176
// Return pegboard-gateway instance
202177
let gateway = pegboard_gateway::PegboardGateway::new(
203178
ctx.clone(),
204179
shared_state.pegboard_gateway.clone(),
205-
namespace_id,
206-
runner_name,
207-
runner_key,
180+
runner_id,
208181
actor_id,
209182
);
210183
Ok(Some(RoutingOutput::CustomServe(std::sync::Arc::new(

packages/core/pegboard-gateway/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ pegboard.workspace = true
1818
rand.workspace = true
1919
rivet-error.workspace = true
2020
rivet-guard-core.workspace = true
21-
rivet-tunnel-protocol.workspace = true
2221
rivet-util.workspace = true
2322
thiserror.workspace = true
2423
tokio-tungstenite.workspace = true

packages/core/pegboard-gateway/src/lib.rs

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -37,27 +37,16 @@ const UPS_REQ_TIMEOUT: Duration = Duration::from_secs(2);
3737
pub struct PegboardGateway {
3838
ctx: StandaloneCtx,
3939
shared_state: SharedState,
40-
namespace_id: Id,
41-
runner_name: String,
42-
runner_key: String,
40+
runner_id: Id,
4341
actor_id: Id,
4442
}
4543

4644
impl PegboardGateway {
47-
pub fn new(
48-
ctx: StandaloneCtx,
49-
shared_state: SharedState,
50-
namespace_id: Id,
51-
runner_name: String,
52-
runner_key: String,
53-
actor_id: Id,
54-
) -> Self {
45+
pub fn new(ctx: StandaloneCtx, shared_state: SharedState, runner_id: Id, actor_id: Id) -> Self {
5546
Self {
5647
ctx,
5748
shared_state,
58-
namespace_id,
59-
runner_name,
60-
runner_key,
49+
runner_id: Id,
6150
actor_id,
6251
}
6352
}
@@ -151,12 +140,8 @@ impl PegboardGateway {
151140
.to_bytes();
152141

153142
// Build subject to publish to
154-
let tunnel_subject = pegboard::pubsub_subjects::TunnelRunnerReceiverSubject::new(
155-
self.namespace_id,
156-
&self.runner_name,
157-
&self.runner_key,
158-
)
159-
.to_string();
143+
let tunnel_subject =
144+
pegboard::pubsub_subjects::TunnelRunnerReceiverSubject::new(self.runner_id).to_string();
160145

161146
// Start listening for request responses
162147
let (request_id, mut msg_rx) = self
@@ -246,12 +231,8 @@ impl PegboardGateway {
246231
}
247232

248233
// Build subject to publish to
249-
let tunnel_subject = pegboard::pubsub_subjects::TunnelRunnerReceiverSubject::new(
250-
self.namespace_id,
251-
&self.runner_name,
252-
&self.runner_key,
253-
)
254-
.to_string();
234+
let tunnel_subject =
235+
pegboard::pubsub_subjects::TunnelRunnerReceiverSubject::new(self.runner_id).to_string();
255236

256237
// Start listening for WebSocket messages
257238
let (request_id, mut msg_rx) = self

packages/core/pegboard-runner/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@ rivet-runner-protocol.workspace = true
2525
rivet-runtime.workspace = true
2626
serde.workspace = true
2727
serde_json.workspace = true
28+
tokio.workspace = true
2829
tokio-tungstenite.workspace = true
2930
tracing.workspace = true
3031
url.workspace = true
3132
versioned-data-util.workspace = true
33+
universalpubsub.workspace = true
3234

3335
pegboard.workspace = true
3436
pegboard-actor-kv.workspace = true

0 commit comments

Comments
 (0)