diff --git a/docker/dev-host/rivet-engine/config.jsonc b/docker/dev-host/rivet-engine/config.jsonc index 9c4f3f907f..bb747baac5 100644 --- a/docker/dev-host/rivet-engine/config.jsonc +++ b/docker/dev-host/rivet-engine/config.jsonc @@ -16,8 +16,8 @@ "name": "local", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://127.0.0.1:6421", - "guard_url": "http://127.0.0.1:6420" + "public_url": "http://127.0.0.1:6420", + "peer_url": "http://127.0.0.1:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc index e4b8e697d8..dbcf1498cd 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc index e4b8e697d8..dbcf1498cd 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc index e4b8e697d8..dbcf1498cd 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc index d1a422c5d7..3919455d6f 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc index d1a422c5d7..3919455d6f 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc index d1a422c5d7..3919455d6f 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc index a4ffd985f0..99b226d34b 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc index a4ffd985f0..99b226d34b 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc b/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc index a4ffd985f0..99b226d34b 100644 --- a/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc +++ b/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a-0:6421", - "guard_url": "http://rivet-engine-dc-a-0:6420" + "public_url": "http://rivet-engine-dc-a-0:6420", + "peer_url": "http://rivet-engine-dc-a-0:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b-0:6421", - "guard_url": "http://rivet-engine-dc-b-0:6420" + "public_url": "http://rivet-engine-dc-b-0:6420", + "peer_url": "http://rivet-engine-dc-b-0:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c-0:6421", - "guard_url": "http://rivet-engine-dc-c-0:6420" + "public_url": "http://rivet-engine-dc-c-0:6420", + "peer_url": "http://rivet-engine-dc-c-0:6421" } ] }, diff --git a/docker/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc b/docker/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc index 394ca8dd52..1a7eea7488 100644 --- a/docker/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc +++ b/docker/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a:6421", - "guard_url": "http://rivet-engine-dc-a:6420" + "public_url": "http://rivet-engine-dc-a:6420", + "peer_url": "http://rivet-engine-dc-a:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b:6421", - "guard_url": "http://rivet-engine-dc-b:6420" + "public_url": "http://rivet-engine-dc-b:6420", + "peer_url": "http://rivet-engine-dc-b:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c:6421", - "guard_url": "http://rivet-engine-dc-c:6420" + "public_url": "http://rivet-engine-dc-c:6420", + "peer_url": "http://rivet-engine-dc-c:6421" } ] }, diff --git a/docker/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc b/docker/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc index 1f4b7a9883..a68a5bdff5 100644 --- a/docker/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc +++ b/docker/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a:6421", - "guard_url": "http://rivet-engine-dc-a:6420" + "public_url": "http://rivet-engine-dc-a:6420", + "peer_url": "http://rivet-engine-dc-a:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b:6421", - "guard_url": "http://rivet-engine-dc-b:6420" + "public_url": "http://rivet-engine-dc-b:6420", + "peer_url": "http://rivet-engine-dc-b:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c:6421", - "guard_url": "http://rivet-engine-dc-c:6420" + "public_url": "http://rivet-engine-dc-c:6420", + "peer_url": "http://rivet-engine-dc-c:6421" } ] }, diff --git a/docker/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc b/docker/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc index bc9000c79d..24f3261297 100644 --- a/docker/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc +++ b/docker/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc @@ -16,22 +16,22 @@ "name": "dc-a", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-dc-a:6421", - "guard_url": "http://rivet-engine-dc-a:6420" + "public_url": "http://rivet-engine-dc-a:6420", + "peer_url": "http://rivet-engine-dc-a:6421" }, { "name": "dc-b", "datacenter_label": 2, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-b:6421", - "guard_url": "http://rivet-engine-dc-b:6420" + "public_url": "http://rivet-engine-dc-b:6420", + "peer_url": "http://rivet-engine-dc-b:6421" }, { "name": "dc-c", "datacenter_label": 3, "is_leader": false, - "api_peer_url": "http://rivet-engine-dc-c:6421", - "guard_url": "http://rivet-engine-dc-c:6420" + "public_url": "http://rivet-engine-dc-c:6420", + "peer_url": "http://rivet-engine-dc-c:6421" } ] }, diff --git a/docker/dev-multinode/rivet-engine/0/config.jsonc b/docker/dev-multinode/rivet-engine/0/config.jsonc index 2b0907f0aa..593261ad96 100644 --- a/docker/dev-multinode/rivet-engine/0/config.jsonc +++ b/docker/dev-multinode/rivet-engine/0/config.jsonc @@ -16,8 +16,8 @@ "name": "local", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-0:6421", - "guard_url": "http://rivet-engine-0:6420" + "public_url": "http://rivet-engine-0:6420", + "peer_url": "http://rivet-engine-0:6421" } ] }, diff --git a/docker/dev-multinode/rivet-engine/1/config.jsonc b/docker/dev-multinode/rivet-engine/1/config.jsonc index 2b0907f0aa..593261ad96 100644 --- a/docker/dev-multinode/rivet-engine/1/config.jsonc +++ b/docker/dev-multinode/rivet-engine/1/config.jsonc @@ -16,8 +16,8 @@ "name": "local", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-0:6421", - "guard_url": "http://rivet-engine-0:6420" + "public_url": "http://rivet-engine-0:6420", + "peer_url": "http://rivet-engine-0:6421" } ] }, diff --git a/docker/dev-multinode/rivet-engine/2/config.jsonc b/docker/dev-multinode/rivet-engine/2/config.jsonc index 2b0907f0aa..593261ad96 100644 --- a/docker/dev-multinode/rivet-engine/2/config.jsonc +++ b/docker/dev-multinode/rivet-engine/2/config.jsonc @@ -16,8 +16,8 @@ "name": "local", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine-0:6421", - "guard_url": "http://rivet-engine-0:6420" + "public_url": "http://rivet-engine-0:6420", + "peer_url": "http://rivet-engine-0:6421" } ] }, diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml index 5dda8a828e..8d20dd56e8 100644 --- a/docker/dev/docker-compose.yml +++ b/docker/dev/docker-compose.yml @@ -147,12 +147,10 @@ services: dockerfile: docker/universal/Dockerfile target: engine-full args: - BUILD_FRONTEND: 'false' + BUILD_FRONTEND: 'true' platform: linux/amd64 restart: unless-stopped environment: - # - RUST_LOG=debug - - RUST_BACKTRACE=1 - RUST_LOG_ANSI_COLOR=1 - RIVET_OTEL_ENABLED=1 - RIVET_OTEL_SAMPLER_RATIO=1 diff --git a/docker/dev/grafana/dashboards/gasoline.json b/docker/dev/grafana/dashboards/gasoline.json index 0aedb3490b..bac8c7b6da 100644 --- a/docker/dev/grafana/dashboards/gasoline.json +++ b/docker/dev/grafana/dashboards/gasoline.json @@ -2580,4 +2580,4 @@ "uid": "636d22f9-d18f-4086-8b45-7c50886a105c", "version": 1, "weekStart": "" -} \ No newline at end of file +} diff --git a/docker/dev/rivet-engine/config.jsonc b/docker/dev/rivet-engine/config.jsonc index 745a4d41e7..c5403ef672 100644 --- a/docker/dev/rivet-engine/config.jsonc +++ b/docker/dev/rivet-engine/config.jsonc @@ -16,8 +16,8 @@ "name": "local", "datacenter_label": 1, "is_leader": true, - "api_peer_url": "http://rivet-engine:6421", - "guard_url": "http://rivet-engine:6420" + "public_url": "http://rivet-engine:6420", + "peer_url": "http://rivet-engine:6421" } ] }, diff --git a/docker/template/src/services/edge/rivet-engine.ts b/docker/template/src/services/edge/rivet-engine.ts index f519f2b30b..1240a78f8f 100644 --- a/docker/template/src/services/edge/rivet-engine.ts +++ b/docker/template/src/services/edge/rivet-engine.ts @@ -18,8 +18,8 @@ export function generateDatacenterRivetEngine( name: dc.name, datacenter_label: dc.id, is_leader: dc.id == 1, - api_peer_url: `http://${serviceHost}:${API_PEER_PORT}`, - guard_url: `http://${serviceHost}:${GUARD_PORT}`, + public_url: `http://${serviceHost}:${GUARD_PORT}`, + peer_url: `http://${serviceHost}:${API_PEER_PORT}`, }); } diff --git a/packages/core/api-public/src/lib.rs b/packages/core/api-public/src/lib.rs index 1ca95a4b40..bed4376314 100644 --- a/packages/core/api-public/src/lib.rs +++ b/packages/core/api-public/src/lib.rs @@ -2,6 +2,7 @@ pub mod actors; pub mod ctx; pub mod datacenters; mod errors; +pub mod metadata; pub mod namespaces; pub mod router; pub mod runner_configs; diff --git a/packages/core/api-public/src/metadata.rs b/packages/core/api-public/src/metadata.rs new file mode 100644 index 0000000000..21b363500d --- /dev/null +++ b/packages/core/api-public/src/metadata.rs @@ -0,0 +1,11 @@ +use axum::Json; +use axum::response::IntoResponse; +use serde_json::json; + +/// Returns metadata about the API including runtime and version +pub async fn get_metadata() -> impl IntoResponse { + Json(json!({ + "runtime": "engine", + "version": env!("CARGO_PKG_VERSION") + })) +} diff --git a/packages/core/api-public/src/router.rs b/packages/core/api-public/src/router.rs index 3f5d0762d1..962e70c7a9 100644 --- a/packages/core/api-public/src/router.rs +++ b/packages/core/api-public/src/router.rs @@ -8,7 +8,7 @@ use rivet_api_builder::{create_router, extract::FailedExtraction}; use tower_http::cors::CorsLayer; use utoipa::OpenApi; -use crate::{actors, ctx, datacenters, namespaces, runner_configs, runners, ui}; +use crate::{actors, ctx, datacenters, metadata, namespaces, runner_configs, runners, ui}; #[derive(OpenApi)] #[openapi( @@ -48,6 +48,8 @@ pub async fn router( "/", axum::routing::get(|| async { Redirect::permanent("/ui/") }), ) + // MARK: Metadata + .route("/metadata", axum::routing::get(metadata::get_metadata)) // MARK: Namespaces .route("/namespaces", axum::routing::get(namespaces::list)) .route("/namespaces", axum::routing::post(namespaces::create)) diff --git a/packages/core/api-public/src/runner_configs.rs b/packages/core/api-public/src/runner_configs.rs index 78b40ff502..fa770441a2 100644 --- a/packages/core/api-public/src/runner_configs.rs +++ b/packages/core/api-public/src/runner_configs.rs @@ -280,18 +280,9 @@ pub enum ServerlessHealthCheckError { InvalidRequest {}, RequestFailed {}, RequestTimedOut {}, - NonSuccessStatus { - status_code: u16, - body: String, - }, - InvalidResponseJson { - body: String, - }, - InvalidResponseSchema { - status: String, - runtime: String, - version: String, - }, + NonSuccessStatus { status_code: u16, body: String }, + InvalidResponseJson { body: String }, + InvalidResponseSchema { runtime: String, version: String }, } #[derive(Deserialize, Serialize, ToSchema)] @@ -326,8 +317,7 @@ fn truncate_response_body(body: &str) -> String { #[derive(Deserialize)] #[serde(deny_unknown_fields)] -struct ServerlessHealthPayload { - status: String, +struct ServerlessMetadataPayload { runtime: String, version: String, } @@ -366,7 +356,7 @@ async fn serverless_health_check_inner( )); } - let health_url = format!("{}/health", trimmed_url.trim_end_matches('/')); + let health_url = format!("{}/metadata", trimmed_url.trim_end_matches('/')); if reqwest::Url::parse(&health_url).is_err() { return Ok(ServerlessHealthCheckResponse::failure( @@ -438,7 +428,7 @@ async fn serverless_health_check_inner( )); } - let payload = match serde_json::from_str::(&body_raw) { + let payload = match serde_json::from_str::(&body_raw) { Ok(payload) => payload, Err(_) => { return Ok(ServerlessHealthCheckResponse::failure( @@ -449,20 +439,12 @@ async fn serverless_health_check_inner( } }; - let ServerlessHealthPayload { - status, - runtime, - version, - } = payload; + let ServerlessMetadataPayload { runtime, version } = payload; let trimmed_version = version.trim(); - if status != "ok" || runtime != "rivetkit" || trimmed_version.is_empty() { + if runtime != "rivetkit" || trimmed_version.is_empty() { return Ok(ServerlessHealthCheckResponse::failure( - ServerlessHealthCheckError::InvalidResponseSchema { - status, - runtime, - version, - }, + ServerlessHealthCheckError::InvalidResponseSchema { runtime, version }, )); }