From f46a35991401186af1faf5d3af60b1ad000d9c63 Mon Sep 17 00:00:00 2001 From: MasterPtato Date: Thu, 25 Jun 2026 13:36:10 -0700 Subject: [PATCH] [slopfix] fix(self-host): repair dev compose generation, kitchen-sink serverful runner, and postgres/udb bootstrap --- engine/packages/metrics/src/registry.rs | 4 +- examples/kitchen-sink/Dockerfile | 7 +- .../compose/prod-file-system/.gitattributes | 1 - self-host/compose/prod-file-system/README.md | 76 ------ .../prod-file-system/docker-compose.yml | 41 ---- .../rivet-engine/config.jsonc | 2 - .../compose/template/src/docker-compose.ts | 75 +++++- .../src/services/edge/rivet-engine.ts | 16 +- .../template/src/services/edge/runner.ts | 5 +- .../{compose => }/dev-host/.gitattributes | 0 self-host/{compose => }/dev-host/README.md | 0 .../dev-host/clickhouse/client-config.xml | 0 .../dev-host/clickhouse/config.xml | 0 .../clickhouse/init/01-create-otel-table.sql | 0 .../dev-host/clickhouse/users.xml | 0 .../{compose => }/dev-host/docker-compose.yml | 44 +++- .../dev-host/grafana/dashboards/api.json | 0 .../dev-host/grafana/dashboards/cache.json | 0 .../dev-host/grafana/dashboards/epoxy.json | 0 .../dev-host/grafana/dashboards/futures.json | 0 .../dev-host/grafana/dashboards/gasoline.json | 0 .../dev-host/grafana/dashboards/guard.json | 0 .../grafana/dashboards/operation.json | 0 .../dev-host/grafana/dashboards/pegboard.json | 0 .../dev-host/grafana/dashboards/tokio.json | 0 .../dev-host/grafana/dashboards/traces.json | 0 .../dev-host/grafana/grafana.ini | 0 .../provisioning/dashboards/dashboards.yaml | 0 .../provisioning/datasources/datasources.yaml | 0 .../dev-host/otel-collector/config.yaml | 0 .../dev-host/postgres/init-db.sh | 0 .../dev-host/prometheus/prometheus.yml | 0 .../dev-host/rivet-engine/config.jsonc | 12 +- .../dev-host/vector-client/vector.yaml | 0 .../dev-host/vector-server/vector.yaml | 0 .../dev-multidc-multinode/.gitattributes | 0 .../dev-multidc-multinode/README.md | 0 .../core/clickhouse/client-config.xml | 0 .../core/clickhouse/config.xml | 0 .../clickhouse/init/01-create-otel-table.sql | 0 .../core/clickhouse/users.xml | 0 .../core/grafana/dashboards/api.json | 0 .../core/grafana/dashboards/cache.json | 0 .../core/grafana/dashboards/epoxy.json | 0 .../core/grafana/dashboards/futures.json | 0 .../core/grafana/dashboards/gasoline.json | 0 .../core/grafana/dashboards/guard.json | 0 .../core/grafana/dashboards/operation.json | 0 .../core/grafana/dashboards/pegboard.json | 0 .../core/grafana/dashboards/tokio.json | 0 .../core/grafana/dashboards/traces.json | 0 .../core/grafana/grafana.ini | 0 .../provisioning/dashboards/dashboards.yaml | 0 .../provisioning/datasources/datasources.yaml | 0 .../core/prometheus/prometheus.yml | 0 .../dc-a/otel-collector/config.yaml | 0 .../datacenters/dc-a/postgres/init-db.sh | 0 .../dc-a/rivet-engine/0}/config.jsonc | 12 +- .../dc-a/rivet-engine/1}/config.jsonc | 12 +- .../dc-a/rivet-engine/2}/config.jsonc | 12 +- .../dc-a/vector-client/vector.yaml | 0 .../dc-a/vector-server/vector.yaml | 0 .../dc-b/otel-collector/config.yaml | 0 .../datacenters/dc-b/postgres/init-db.sh | 0 .../dc-b/rivet-engine/0}/config.jsonc | 12 +- .../dc-b/rivet-engine/1}/config.jsonc | 12 +- .../dc-b/rivet-engine/2/config.jsonc | 12 +- .../dc-b/vector-client/vector.yaml | 0 .../dc-b/vector-server/vector.yaml | 0 .../dc-c/otel-collector/config.yaml | 0 .../datacenters/dc-c/postgres/init-db.sh | 0 .../dc-c/rivet-engine/0/config.jsonc | 12 +- .../dc-c/rivet-engine/1/config.jsonc | 12 +- .../dc-c/rivet-engine/2/config.jsonc | 12 +- .../dc-c/vector-client/vector.yaml | 0 .../dc-c/vector-server/vector.yaml | 0 .../dev-multidc-multinode/docker-compose.yml | 216 ++++++++++++------ .../{compose => }/dev-multidc/.gitattributes | 0 self-host/{compose => }/dev-multidc/README.md | 0 .../core/clickhouse/client-config.xml | 0 .../dev-multidc/core/clickhouse/config.xml | 0 .../clickhouse/init/01-create-otel-table.sql | 0 .../dev-multidc/core/clickhouse/users.xml | 0 .../core/grafana/dashboards/api.json | 0 .../core/grafana/dashboards/cache.json | 0 .../core/grafana/dashboards/epoxy.json | 0 .../core/grafana/dashboards/futures.json | 0 .../core/grafana/dashboards/gasoline.json | 0 .../core/grafana/dashboards/guard.json | 0 .../core/grafana/dashboards/operation.json | 0 .../core/grafana/dashboards/pegboard.json | 0 .../core/grafana/dashboards/tokio.json | 0 .../core/grafana/dashboards/traces.json | 0 .../dev-multidc/core/grafana/grafana.ini | 0 .../provisioning/dashboards/dashboards.yaml | 0 .../provisioning/datasources/datasources.yaml | 0 .../core/prometheus/prometheus.yml | 0 .../dc-a/otel-collector/config.yaml | 0 .../datacenters/dc-a/postgres/init-db.sh | 0 .../dc-a/rivet-engine/config.jsonc | 12 +- .../dc-a/vector-client/vector.yaml | 0 .../dc-a/vector-server/vector.yaml | 0 .../dc-b/otel-collector/config.yaml | 0 .../datacenters/dc-b/postgres/init-db.sh | 0 .../dc-b/rivet-engine/config.jsonc | 12 +- .../dc-b/vector-client/vector.yaml | 0 .../dc-b/vector-server/vector.yaml | 0 .../dc-c/otel-collector/config.yaml | 0 .../datacenters/dc-c/postgres/init-db.sh | 0 .../dc-c/rivet-engine/config.jsonc | 12 +- .../dc-c/vector-client/vector.yaml | 0 .../dc-c/vector-server/vector.yaml | 0 .../dev-multidc/docker-compose.yml | 102 ++++++--- .../dev-multinode/.gitattributes | 0 .../{compose => }/dev-multinode/README.md | 0 .../clickhouse/client-config.xml | 0 .../dev-multinode/clickhouse/config.xml | 0 .../clickhouse/init/01-create-otel-table.sql | 0 .../dev-multinode/clickhouse/users.xml | 0 .../dev-multinode/docker-compose.yml | 85 +++++-- .../dev-multinode/grafana/dashboards/api.json | 0 .../grafana/dashboards/cache.json | 0 .../grafana/dashboards/epoxy.json | 0 .../grafana/dashboards/futures.json | 0 .../grafana/dashboards/gasoline.json | 0 .../grafana/dashboards/guard.json | 0 .../grafana/dashboards/operation.json | 0 .../grafana/dashboards/pegboard.json | 0 .../grafana/dashboards/tokio.json | 0 .../grafana/dashboards/traces.json | 0 .../dev-multinode/grafana/grafana.ini | 0 .../provisioning/dashboards/dashboards.yaml | 0 .../provisioning/datasources/datasources.yaml | 0 .../dev-multinode/otel-collector/config.yaml | 0 .../dev-multinode/postgres/init-db.sh | 0 .../dev-multinode/prometheus/prometheus.yml | 0 .../rivet-engine/0}/config.jsonc | 12 +- .../rivet-engine/1}/config.jsonc | 12 +- .../rivet-engine/2}/config.jsonc | 12 +- .../dev-multinode/vector-client/vector.yaml | 0 .../dev-multinode/vector-server/vector.yaml | 0 self-host/{compose => }/dev/.gitattributes | 0 self-host/{compose => }/dev/README.md | 0 .../dev/clickhouse/client-config.xml | 0 .../{compose => }/dev/clickhouse/config.xml | 0 .../clickhouse/init/01-create-otel-table.sql | 0 .../{compose => }/dev/clickhouse/users.xml | 0 .../{compose => }/dev/docker-compose.yml | 47 +++- .../dev/grafana/dashboards/api.json | 0 .../dev/grafana/dashboards/cache.json | 0 .../dev/grafana/dashboards/epoxy.json | 0 .../dev/grafana/dashboards/futures.json | 0 .../dev/grafana/dashboards/gasoline.json | 0 .../dev/grafana/dashboards/guard.json | 0 .../dev/grafana/dashboards/operation.json | 0 .../dev/grafana/dashboards/pegboard.json | 0 .../dev/grafana/dashboards/tokio.json | 0 .../dev/grafana/dashboards/traces.json | 0 .../{compose => }/dev/grafana/grafana.ini | 0 .../provisioning/dashboards/dashboards.yaml | 0 .../provisioning/datasources/datasources.yaml | 0 .../dev/otel-collector/config.yaml | 0 .../{compose => }/dev/postgres/init-db.sh | 0 .../dev/prometheus/prometheus.yml | 0 .../dev/rivet-engine/config.jsonc | 12 +- .../dev/vector-client/vector.yaml | 0 .../dev/vector-server/vector.yaml | 0 167 files changed, 468 insertions(+), 457 deletions(-) delete mode 100644 self-host/compose/prod-file-system/.gitattributes delete mode 100644 self-host/compose/prod-file-system/README.md delete mode 100644 self-host/compose/prod-file-system/docker-compose.yml delete mode 100644 self-host/compose/prod-file-system/rivet-engine/config.jsonc rename self-host/{compose => }/dev-host/.gitattributes (100%) rename self-host/{compose => }/dev-host/README.md (100%) rename self-host/{compose => }/dev-host/clickhouse/client-config.xml (100%) rename self-host/{compose => }/dev-host/clickhouse/config.xml (100%) rename self-host/{compose => }/dev-host/clickhouse/init/01-create-otel-table.sql (100%) rename self-host/{compose => }/dev-host/clickhouse/users.xml (100%) rename self-host/{compose => }/dev-host/docker-compose.yml (83%) rename self-host/{compose => }/dev-host/grafana/dashboards/api.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/cache.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/epoxy.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/futures.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/gasoline.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/guard.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/operation.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/pegboard.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/tokio.json (100%) rename self-host/{compose => }/dev-host/grafana/dashboards/traces.json (100%) rename self-host/{compose => }/dev-host/grafana/grafana.ini (100%) rename self-host/{compose => }/dev-host/grafana/provisioning/dashboards/dashboards.yaml (100%) rename self-host/{compose => }/dev-host/grafana/provisioning/datasources/datasources.yaml (100%) rename self-host/{compose => }/dev-host/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev-host/postgres/init-db.sh (100%) rename self-host/{compose => }/dev-host/prometheus/prometheus.yml (100%) rename self-host/{compose => }/dev-host/rivet-engine/config.jsonc (79%) rename self-host/{compose => }/dev-host/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev-host/vector-server/vector.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/.gitattributes (100%) rename self-host/{compose => }/dev-multidc-multinode/README.md (100%) rename self-host/{compose => }/dev-multidc-multinode/core/clickhouse/client-config.xml (100%) rename self-host/{compose => }/dev-multidc-multinode/core/clickhouse/config.xml (100%) rename self-host/{compose => }/dev-multidc-multinode/core/clickhouse/init/01-create-otel-table.sql (100%) rename self-host/{compose => }/dev-multidc-multinode/core/clickhouse/users.xml (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/api.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/cache.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/epoxy.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/futures.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/gasoline.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/guard.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/operation.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/pegboard.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/tokio.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/dashboards/traces.json (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/grafana.ini (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/provisioning/dashboards/dashboards.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/core/grafana/provisioning/datasources/datasources.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/core/prometheus/prometheus.yml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-a/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-a/postgres/init-db.sh (100%) rename self-host/{compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2 => dev-multidc-multinode/datacenters/dc-a/rivet-engine/0}/config.jsonc (88%) rename self-host/{compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0 => dev-multidc-multinode/datacenters/dc-a/rivet-engine/1}/config.jsonc (88%) rename self-host/{compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1 => dev-multidc-multinode/datacenters/dc-a/rivet-engine/2}/config.jsonc (88%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-a/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-a/vector-server/vector.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-b/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-b/postgres/init-db.sh (100%) rename self-host/{compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1 => dev-multidc-multinode/datacenters/dc-b/rivet-engine/0}/config.jsonc (88%) rename self-host/{compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0 => dev-multidc-multinode/datacenters/dc-b/rivet-engine/1}/config.jsonc (88%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc (88%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-b/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-b/vector-server/vector.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-c/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-c/postgres/init-db.sh (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc (88%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc (88%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc (88%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-c/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/datacenters/dc-c/vector-server/vector.yaml (100%) rename self-host/{compose => }/dev-multidc-multinode/docker-compose.yml (84%) rename self-host/{compose => }/dev-multidc/.gitattributes (100%) rename self-host/{compose => }/dev-multidc/README.md (100%) rename self-host/{compose => }/dev-multidc/core/clickhouse/client-config.xml (100%) rename self-host/{compose => }/dev-multidc/core/clickhouse/config.xml (100%) rename self-host/{compose => }/dev-multidc/core/clickhouse/init/01-create-otel-table.sql (100%) rename self-host/{compose => }/dev-multidc/core/clickhouse/users.xml (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/api.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/cache.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/epoxy.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/futures.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/gasoline.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/guard.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/operation.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/pegboard.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/tokio.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/dashboards/traces.json (100%) rename self-host/{compose => }/dev-multidc/core/grafana/grafana.ini (100%) rename self-host/{compose => }/dev-multidc/core/grafana/provisioning/dashboards/dashboards.yaml (100%) rename self-host/{compose => }/dev-multidc/core/grafana/provisioning/datasources/datasources.yaml (100%) rename self-host/{compose => }/dev-multidc/core/prometheus/prometheus.yml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-a/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-a/postgres/init-db.sh (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc (88%) rename self-host/{compose => }/dev-multidc/datacenters/dc-a/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-a/vector-server/vector.yaml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-b/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-b/postgres/init-db.sh (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc (88%) rename self-host/{compose => }/dev-multidc/datacenters/dc-b/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-b/vector-server/vector.yaml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-c/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-c/postgres/init-db.sh (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc (88%) rename self-host/{compose => }/dev-multidc/datacenters/dc-c/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev-multidc/datacenters/dc-c/vector-server/vector.yaml (100%) rename self-host/{compose => }/dev-multidc/docker-compose.yml (87%) rename self-host/{compose => }/dev-multinode/.gitattributes (100%) rename self-host/{compose => }/dev-multinode/README.md (100%) rename self-host/{compose => }/dev-multinode/clickhouse/client-config.xml (100%) rename self-host/{compose => }/dev-multinode/clickhouse/config.xml (100%) rename self-host/{compose => }/dev-multinode/clickhouse/init/01-create-otel-table.sql (100%) rename self-host/{compose => }/dev-multinode/clickhouse/users.xml (100%) rename self-host/{compose => }/dev-multinode/docker-compose.yml (82%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/api.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/cache.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/epoxy.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/futures.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/gasoline.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/guard.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/operation.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/pegboard.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/tokio.json (100%) rename self-host/{compose => }/dev-multinode/grafana/dashboards/traces.json (100%) rename self-host/{compose => }/dev-multinode/grafana/grafana.ini (100%) rename self-host/{compose => }/dev-multinode/grafana/provisioning/dashboards/dashboards.yaml (100%) rename self-host/{compose => }/dev-multinode/grafana/provisioning/datasources/datasources.yaml (100%) rename self-host/{compose => }/dev-multinode/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev-multinode/postgres/init-db.sh (100%) rename self-host/{compose => }/dev-multinode/prometheus/prometheus.yml (100%) rename self-host/{compose/dev-multinode/rivet-engine/2 => dev-multinode/rivet-engine/0}/config.jsonc (79%) rename self-host/{compose/dev-multinode/rivet-engine/0 => dev-multinode/rivet-engine/1}/config.jsonc (79%) rename self-host/{compose/dev-multinode/rivet-engine/1 => dev-multinode/rivet-engine/2}/config.jsonc (79%) rename self-host/{compose => }/dev-multinode/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev-multinode/vector-server/vector.yaml (100%) rename self-host/{compose => }/dev/.gitattributes (100%) rename self-host/{compose => }/dev/README.md (100%) rename self-host/{compose => }/dev/clickhouse/client-config.xml (100%) rename self-host/{compose => }/dev/clickhouse/config.xml (100%) rename self-host/{compose => }/dev/clickhouse/init/01-create-otel-table.sql (100%) rename self-host/{compose => }/dev/clickhouse/users.xml (100%) rename self-host/{compose => }/dev/docker-compose.yml (84%) rename self-host/{compose => }/dev/grafana/dashboards/api.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/cache.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/epoxy.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/futures.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/gasoline.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/guard.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/operation.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/pegboard.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/tokio.json (100%) rename self-host/{compose => }/dev/grafana/dashboards/traces.json (100%) rename self-host/{compose => }/dev/grafana/grafana.ini (100%) rename self-host/{compose => }/dev/grafana/provisioning/dashboards/dashboards.yaml (100%) rename self-host/{compose => }/dev/grafana/provisioning/datasources/datasources.yaml (100%) rename self-host/{compose => }/dev/otel-collector/config.yaml (100%) rename self-host/{compose => }/dev/postgres/init-db.sh (100%) rename self-host/{compose => }/dev/prometheus/prometheus.yml (100%) rename self-host/{compose => }/dev/rivet-engine/config.jsonc (79%) rename self-host/{compose => }/dev/vector-client/vector.yaml (100%) rename self-host/{compose => }/dev/vector-server/vector.yaml (100%) diff --git a/engine/packages/metrics/src/registry.rs b/engine/packages/metrics/src/registry.rs index 880cc495ae..c6bd268591 100644 --- a/engine/packages/metrics/src/registry.rs +++ b/engine/packages/metrics/src/registry.rs @@ -1,5 +1,7 @@ use prometheus::*; lazy_static::lazy_static! { - pub static ref REGISTRY: Registry = Registry::new_custom(None, Some(labels! { })).unwrap(); + pub static ref REGISTRY: Registry = Registry::new_custom( + Some("rivet".to_string()), + Some(labels! { })).unwrap(); } diff --git a/examples/kitchen-sink/Dockerfile b/examples/kitchen-sink/Dockerfile index e1a6f2a3d8..21377a6c9d 100644 --- a/examples/kitchen-sink/Dockerfile +++ b/examples/kitchen-sink/Dockerfile @@ -1,4 +1,9 @@ -FROM node:22-slim +# Base image is overridable so local builds can match the host glibc. The cloud +# build keeps the node:22-slim default and supplies a glibc-compatible napi +# binary; a modern dev host (newer glibc) should override this with a newer base +# such as node:22-trixie-slim so the host-built napi binary loads. +ARG NODE_IMAGE=node:22-slim +FROM ${NODE_IMAGE} RUN corepack enable && corepack prepare pnpm@10.13.1 --activate WORKDIR /app ENV NODE_OPTIONS=--max-old-space-size=7168 diff --git a/self-host/compose/prod-file-system/.gitattributes b/self-host/compose/prod-file-system/.gitattributes deleted file mode 100644 index 447edeb5c2..0000000000 --- a/self-host/compose/prod-file-system/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -. linguist-generated=true diff --git a/self-host/compose/prod-file-system/README.md b/self-host/compose/prod-file-system/README.md deleted file mode 100644 index 4b02525eeb..0000000000 --- a/self-host/compose/prod-file-system/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# dev - Auto-generated Docker Compose Template - -> ! **Auto-generated**: This directory and its contents are automatically generated by `docker/template/`. Do not edit these files directly as your changes will be overwritten. - -## Overview - -This Docker Compose configuration provides a complete development environment for Rivet with the following services: - -- **Rivet Engine**: Main orchestration service -- **Rivet Shell**: Interactive shell for debugging -- **Runner**: Executes user code -- **ClickHouse**: Analytics and time-series database -- **NATS**: Message broker -- **PostgreSQL**: Relational database -- **Vector Server**: Log aggregation and processing -- **OpenTelemetry Collector**: Observability data collection - -## Port Configuration - -| Service | Port(s) | Description | -|---------|---------|-------------| -| Rivet Engine | 6420 | Public endpoint | -| Runner | 5050 | Code execution service | -| NATS | 4222 | Message broker | -| PostgreSQL | 5432 | Database | -| ClickHouse HTTP | 9300 | Database HTTP interface | -| ClickHouse Native | 9301 | Database native protocol | -| OpenTelemetry gRPC | 4317 | OTLP gRPC endpoint | -| OpenTelemetry HTTP | 4318 | OTLP HTTP endpoint | - -## Template Configuration - -**Template Name**: `dev` -**Base Port**: `6420` -**Network Mode**: `bridge` - -### Datacenters -- **1**: 1 engine(s), 1 runner(s) - -## Usage - -1. Start all services: - ```bash - docker-compose up -d - ``` - -2. Check service health: - ```bash - docker-compose ps - ``` - -3. View logs: - ```bash - docker-compose logs -f [service-name] - ``` - -4. Stop all services: - ```bash - docker-compose down - ``` - -## Generated Files - -This template generates the following files and directories: -- `docker-compose.yml` - Main Docker Compose configuration -- `core/` - Core services shared across datacenters: - - `clickhouse/` - ClickHouse configuration and initialization - - `vector-server/` - Vector aggregator configuration - - `otel-collector-server/` - OpenTelemetry Collector server configuration -- `datacenters/` - Datacenter-specific configurations: - - `1/` - Configuration for datacenter 1: - - `postgres/` - PostgreSQL setup scripts - - `rivet-engine/` - Rivet Engine configuration - - `vector-client/` - Vector client configuration - - `otel-collector-client/` - OpenTelemetry Collector client configuration -- `README.md` - This file diff --git a/self-host/compose/prod-file-system/docker-compose.yml b/self-host/compose/prod-file-system/docker-compose.yml deleted file mode 100644 index 2e4a315c33..0000000000 --- a/self-host/compose/prod-file-system/docker-compose.yml +++ /dev/null @@ -1,41 +0,0 @@ -services: - rivet-engine: - build: - context: ../../.. - dockerfile: docker/engine/Dockerfile - target: engine-full - restart: unless-stopped - command: /usr/bin/rivet-engine start - environment: - - RIVET__FILE_SYSTEM__PATH=/var/lib/rivet-engine - volumes: - - ./rivet-engine/config.jsonc:/etc/rivet/config.jsonc:ro - - rivet-engine-data:/var/lib/rivet-engine - ports: - - '6420:6420' - healthcheck: - test: - - CMD - - curl - - '-f' - - http://127.0.0.1:6421/health - interval: 2s - timeout: 10s - retries: 10 - start_period: 30s - runner: - build: - context: ../.. - dockerfile: docker/runner/Dockerfile - platform: linux/amd64 - restart: unless-stopped - environment: - - RIVET_ENDPOINT=http://rivet-engine:6420 - stop_grace_period: 4s - ports: - - '5050:5050' - depends_on: - rivet-engine: - condition: service_healthy -volumes: - rivet-engine-data: diff --git a/self-host/compose/prod-file-system/rivet-engine/config.jsonc b/self-host/compose/prod-file-system/rivet-engine/config.jsonc deleted file mode 100644 index 2c63c08510..0000000000 --- a/self-host/compose/prod-file-system/rivet-engine/config.jsonc +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/self-host/compose/template/src/docker-compose.ts b/self-host/compose/template/src/docker-compose.ts index 6db4a8ab9a..4e3781aab2 100644 --- a/self-host/compose/template/src/docker-compose.ts +++ b/self-host/compose/template/src/docker-compose.ts @@ -1,6 +1,8 @@ import * as yaml from "js-yaml"; import { CORE_NETWORK_NAME, type TemplateContext } from "./context"; +const RUNNER_CONFIG_INIT_SERVICE = "runner-config-init"; + export function generateDockerCompose(context: TemplateContext) { const config = context.config; @@ -172,6 +174,10 @@ export function generateDockerCompose(context: TemplateContext) { services[postgresServiceName] = { restart: "unless-stopped", image: "postgres:18-alpine", + // Each engine opens a UDB connection pool (up to 64 connections) plus a + // dedicated LISTEN connection and pubsub, so a multi-engine datacenter + // needs far more than the default max_connections of 100. + command: ["postgres", "-c", "max_connections=500"], environment: [ "POSTGRES_USER=postgres", "POSTGRES_PASSWORD=postgres", @@ -179,7 +185,7 @@ export function generateDockerCompose(context: TemplateContext) { ], volumes: [ `./${context.getDatacenterServicePath("postgres", datacenter.name)}/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh`, - `${postgresVolumeName}:/var/lib/postgresql/data`, + `${postgresVolumeName}:/var/lib/postgresql`, ], ports: isPrimary ? [`5432:5432`] : undefined, healthcheck: { @@ -194,7 +200,7 @@ export function generateDockerCompose(context: TemplateContext) { services[shellServiceName] = { build: { - context: "../../..", + context: "../..", dockerfile: "docker/engine/Dockerfile", target: "engine-full", args: { @@ -275,7 +281,7 @@ export function generateDockerCompose(context: TemplateContext) { services[serviceName] = { build: { - context: "../../..", + context: "../..", dockerfile: "docker/engine/Dockerfile", target: "engine-full", args: { @@ -335,30 +341,79 @@ export function generateDockerCompose(context: TemplateContext) { services[serviceName] = { build: { - context: "../../..", - dockerfile: "engine/sdks/rust/test-envoy/Dockerfile", + context: "../..", + dockerfile: "examples/kitchen-sink/Dockerfile", + // The runner copies the host-built napi binary, so the base + // image must have a glibc at least as new as the build host. + args: { + NODE_IMAGE: "node:22-trixie-slim", + }, }, platform: "linux/amd64", restart: "unless-stopped", environment: [ + `RIVET_KITCHEN_SINK_MODE=serverful`, `RIVET_ENDPOINT=http://${context.getServiceHost("rivet-engine", datacenter.name, 0)}:6420`, - `INTERNAL_SERVER_PORT=5050`, - `RIVET_POOL_NAME=test-envoy`, - `AUTOSTART_ENVOY=1`, - `AUTOCONFIGURE_SERVERLESS=0` + `RIVET_TOKEN=dev`, + `RIVET_NAMESPACE=default`, + `RIVET_POOL=default`, + `PORT=8080`, ], stop_grace_period: "4s", - ports: isPrimary && i === 0 ? [`5050:5050`] : undefined, + ports: isPrimary && i === 0 ? [`5050:8080`] : undefined, depends_on: { [engineServiceName]: { condition: "service_healthy", }, + [RUNNER_CONFIG_INIT_SERVICE]: { + condition: "service_completed_successfully", + }, }, networks: [dcNetworkName], }; } }); + // Serverful runners are rejected with `no_runner_config` until a runner + // config exists for their pool, so a one-shot init container upserts a + // `normal` runner config for the `default` pool across every datacenter once + // the leader engine is healthy. The runners wait for this to finish. + const primaryDc = config.datacenters[0]; + const primaryEngineHost = context.getServiceHost( + "rivet-engine", + primaryDc.name, + 0, + ); + const primaryEngineService = context.getServiceName( + "rivet-engine", + primaryDc.name, + 0, + ); + const runnerConfigBody = JSON.stringify({ + datacenters: Object.fromEntries( + config.datacenters.map((dc) => [dc.name, { normal: {} }]), + ), + }); + const runnerConfigScript = [ + `until curl -fsS -X PUT`, + `"http://${primaryEngineHost}:6420/runner-configs/default?namespace=default"`, + `-H "Authorization: Bearer dev"`, + `-H "Content-Type: application/json"`, + `-d '${runnerConfigBody}';`, + `do echo "waiting for engine to accept runner config"; sleep 2; done;`, + `echo "runner config upserted"`, + ].join(" "); + services[RUNNER_CONFIG_INIT_SERVICE] = { + image: "curlimages/curl:latest", + restart: "no", + depends_on: { + [primaryEngineService]: { condition: "service_healthy" }, + }, + entrypoint: ["sh", "-c"], + command: [runnerConfigScript], + networks: [context.getDatacenterNetworkName(primaryDc.name)], + }; + const dockerComposeConfig = { services, networks, diff --git a/self-host/compose/template/src/services/edge/rivet-engine.ts b/self-host/compose/template/src/services/edge/rivet-engine.ts index 25df2ce5ca..52d33dfc1b 100644 --- a/self-host/compose/template/src/services/edge/rivet-engine.ts +++ b/self-host/compose/template/src/services/edge/rivet-engine.ts @@ -35,32 +35,24 @@ export function generateDatacenterRivetEngine( datacenters, }; - // Config structure matching Rust schema in packages/common/config/src/config/mod.rs + // Config structure matching Rust schema in engine/packages/config/src/config/mod.rs. + // Values that match the engine's defaults are omitted. const config = { auth: { admin_token: "dev", }, - guard: { - port: GUARD_PORT, - // https is optional and not configured for local development - }, api_peer: { host: "0.0.0.0", - port: API_PEER_PORT, }, topology, postgres: { url: `postgresql://postgres:postgres@${context.getServiceHost("postgres", datacenter.name)}:5432/rivet_engine`, }, - cache: { - driver: "in_memory", - }, clickhouse: { - http_url: `http://${clickhouseHost}:9300`, // TODO: - native_url: `http://${clickhouseHost}:9301`, // TODO: + http_url: `http://${clickhouseHost}:9300`, + native_url: `http://${clickhouseHost}:9301`, username: "system", password: "default", - secure: false, }, }; diff --git a/self-host/compose/template/src/services/edge/runner.ts b/self-host/compose/template/src/services/edge/runner.ts index c04f936dd3..9a111e637c 100644 --- a/self-host/compose/template/src/services/edge/runner.ts +++ b/self-host/compose/template/src/services/edge/runner.ts @@ -1,6 +1,7 @@ import type { TemplateContext } from "../../context"; export function generateRunner(context: TemplateContext) { - // The test runner service now uses the Rust test-envoy binary. - // The docker-compose template points at the Rust Dockerfile directly. + // The runner service runs the kitchen-sink example in serverful mode, + // connecting to the engine as a long-lived runner. The docker-compose + // template builds examples/kitchen-sink/Dockerfile directly. } diff --git a/self-host/compose/dev-host/.gitattributes b/self-host/dev-host/.gitattributes similarity index 100% rename from self-host/compose/dev-host/.gitattributes rename to self-host/dev-host/.gitattributes diff --git a/self-host/compose/dev-host/README.md b/self-host/dev-host/README.md similarity index 100% rename from self-host/compose/dev-host/README.md rename to self-host/dev-host/README.md diff --git a/self-host/compose/dev-host/clickhouse/client-config.xml b/self-host/dev-host/clickhouse/client-config.xml similarity index 100% rename from self-host/compose/dev-host/clickhouse/client-config.xml rename to self-host/dev-host/clickhouse/client-config.xml diff --git a/self-host/compose/dev-host/clickhouse/config.xml b/self-host/dev-host/clickhouse/config.xml similarity index 100% rename from self-host/compose/dev-host/clickhouse/config.xml rename to self-host/dev-host/clickhouse/config.xml diff --git a/self-host/compose/dev-host/clickhouse/init/01-create-otel-table.sql b/self-host/dev-host/clickhouse/init/01-create-otel-table.sql similarity index 100% rename from self-host/compose/dev-host/clickhouse/init/01-create-otel-table.sql rename to self-host/dev-host/clickhouse/init/01-create-otel-table.sql diff --git a/self-host/compose/dev-host/clickhouse/users.xml b/self-host/dev-host/clickhouse/users.xml similarity index 100% rename from self-host/compose/dev-host/clickhouse/users.xml rename to self-host/dev-host/clickhouse/users.xml diff --git a/self-host/compose/dev-host/docker-compose.yml b/self-host/dev-host/docker-compose.yml similarity index 83% rename from self-host/compose/dev-host/docker-compose.yml rename to self-host/dev-host/docker-compose.yml index 96db5a57d0..94619e9324 100644 --- a/self-host/compose/dev-host/docker-compose.yml +++ b/self-host/dev-host/docker-compose.yml @@ -73,13 +73,17 @@ services: postgres: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=postgres volumes: - ./postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data:/var/lib/postgresql/data + - postgres-data:/var/lib/postgresql healthcheck: test: - CMD-SHELL @@ -90,7 +94,7 @@ services: network_mode: host rivet-shell: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -144,7 +148,7 @@ services: network_mode: host rivet-engine: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -179,20 +183,42 @@ services: network_mode: host runner: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://127.0.0.1:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine: condition: service_healthy + runner-config-init: + condition: service_completed_successfully + network_mode: host + runner-config-init: + image: curlimages/curl:latest + restart: 'no' + depends_on: + rivet-engine: + condition: service_healthy + entrypoint: + - sh + - '-c' + command: + - >- + until curl -fsS -X PUT + "http://127.0.0.1:6420/runner-configs/default?namespace=default" -H + "Authorization: Bearer dev" -H "Content-Type: application/json" -d + '{"datacenters":{"default":{"normal":{}}}}'; do echo "waiting for engine + to accept runner config"; sleep 2; done; echo "runner config upserted" network_mode: host networks: rivet-core-network: diff --git a/self-host/compose/dev-host/grafana/dashboards/api.json b/self-host/dev-host/grafana/dashboards/api.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/api.json rename to self-host/dev-host/grafana/dashboards/api.json diff --git a/self-host/compose/dev-host/grafana/dashboards/cache.json b/self-host/dev-host/grafana/dashboards/cache.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/cache.json rename to self-host/dev-host/grafana/dashboards/cache.json diff --git a/self-host/compose/dev-host/grafana/dashboards/epoxy.json b/self-host/dev-host/grafana/dashboards/epoxy.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/epoxy.json rename to self-host/dev-host/grafana/dashboards/epoxy.json diff --git a/self-host/compose/dev-host/grafana/dashboards/futures.json b/self-host/dev-host/grafana/dashboards/futures.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/futures.json rename to self-host/dev-host/grafana/dashboards/futures.json diff --git a/self-host/compose/dev-host/grafana/dashboards/gasoline.json b/self-host/dev-host/grafana/dashboards/gasoline.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/gasoline.json rename to self-host/dev-host/grafana/dashboards/gasoline.json diff --git a/self-host/compose/dev-host/grafana/dashboards/guard.json b/self-host/dev-host/grafana/dashboards/guard.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/guard.json rename to self-host/dev-host/grafana/dashboards/guard.json diff --git a/self-host/compose/dev-host/grafana/dashboards/operation.json b/self-host/dev-host/grafana/dashboards/operation.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/operation.json rename to self-host/dev-host/grafana/dashboards/operation.json diff --git a/self-host/compose/dev-host/grafana/dashboards/pegboard.json b/self-host/dev-host/grafana/dashboards/pegboard.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/pegboard.json rename to self-host/dev-host/grafana/dashboards/pegboard.json diff --git a/self-host/compose/dev-host/grafana/dashboards/tokio.json b/self-host/dev-host/grafana/dashboards/tokio.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/tokio.json rename to self-host/dev-host/grafana/dashboards/tokio.json diff --git a/self-host/compose/dev-host/grafana/dashboards/traces.json b/self-host/dev-host/grafana/dashboards/traces.json similarity index 100% rename from self-host/compose/dev-host/grafana/dashboards/traces.json rename to self-host/dev-host/grafana/dashboards/traces.json diff --git a/self-host/compose/dev-host/grafana/grafana.ini b/self-host/dev-host/grafana/grafana.ini similarity index 100% rename from self-host/compose/dev-host/grafana/grafana.ini rename to self-host/dev-host/grafana/grafana.ini diff --git a/self-host/compose/dev-host/grafana/provisioning/dashboards/dashboards.yaml b/self-host/dev-host/grafana/provisioning/dashboards/dashboards.yaml similarity index 100% rename from self-host/compose/dev-host/grafana/provisioning/dashboards/dashboards.yaml rename to self-host/dev-host/grafana/provisioning/dashboards/dashboards.yaml diff --git a/self-host/compose/dev-host/grafana/provisioning/datasources/datasources.yaml b/self-host/dev-host/grafana/provisioning/datasources/datasources.yaml similarity index 100% rename from self-host/compose/dev-host/grafana/provisioning/datasources/datasources.yaml rename to self-host/dev-host/grafana/provisioning/datasources/datasources.yaml diff --git a/self-host/compose/dev-host/otel-collector/config.yaml b/self-host/dev-host/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev-host/otel-collector/config.yaml rename to self-host/dev-host/otel-collector/config.yaml diff --git a/self-host/compose/dev-host/postgres/init-db.sh b/self-host/dev-host/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev-host/postgres/init-db.sh rename to self-host/dev-host/postgres/init-db.sh diff --git a/self-host/compose/dev-host/prometheus/prometheus.yml b/self-host/dev-host/prometheus/prometheus.yml similarity index 100% rename from self-host/compose/dev-host/prometheus/prometheus.yml rename to self-host/dev-host/prometheus/prometheus.yml diff --git a/self-host/compose/dev-host/rivet-engine/config.jsonc b/self-host/dev-host/rivet-engine/config.jsonc similarity index 79% rename from self-host/compose/dev-host/rivet-engine/config.jsonc rename to self-host/dev-host/rivet-engine/config.jsonc index d5a3095269..ee79af406a 100644 --- a/self-host/compose/dev-host/rivet-engine/config.jsonc +++ b/self-host/dev-host/rivet-engine/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -28,14 +24,10 @@ "postgres": { "url": "postgresql://postgres:postgres@127.0.0.1:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://127.0.0.1:9300", "native_url": "http://127.0.0.1:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-host/vector-client/vector.yaml b/self-host/dev-host/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev-host/vector-client/vector.yaml rename to self-host/dev-host/vector-client/vector.yaml diff --git a/self-host/compose/dev-host/vector-server/vector.yaml b/self-host/dev-host/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev-host/vector-server/vector.yaml rename to self-host/dev-host/vector-server/vector.yaml diff --git a/self-host/compose/dev-multidc-multinode/.gitattributes b/self-host/dev-multidc-multinode/.gitattributes similarity index 100% rename from self-host/compose/dev-multidc-multinode/.gitattributes rename to self-host/dev-multidc-multinode/.gitattributes diff --git a/self-host/compose/dev-multidc-multinode/README.md b/self-host/dev-multidc-multinode/README.md similarity index 100% rename from self-host/compose/dev-multidc-multinode/README.md rename to self-host/dev-multidc-multinode/README.md diff --git a/self-host/compose/dev-multidc-multinode/core/clickhouse/client-config.xml b/self-host/dev-multidc-multinode/core/clickhouse/client-config.xml similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/clickhouse/client-config.xml rename to self-host/dev-multidc-multinode/core/clickhouse/client-config.xml diff --git a/self-host/compose/dev-multidc-multinode/core/clickhouse/config.xml b/self-host/dev-multidc-multinode/core/clickhouse/config.xml similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/clickhouse/config.xml rename to self-host/dev-multidc-multinode/core/clickhouse/config.xml diff --git a/self-host/compose/dev-multidc-multinode/core/clickhouse/init/01-create-otel-table.sql b/self-host/dev-multidc-multinode/core/clickhouse/init/01-create-otel-table.sql similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/clickhouse/init/01-create-otel-table.sql rename to self-host/dev-multidc-multinode/core/clickhouse/init/01-create-otel-table.sql diff --git a/self-host/compose/dev-multidc-multinode/core/clickhouse/users.xml b/self-host/dev-multidc-multinode/core/clickhouse/users.xml similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/clickhouse/users.xml rename to self-host/dev-multidc-multinode/core/clickhouse/users.xml diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/api.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/api.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/api.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/api.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/cache.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/cache.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/cache.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/cache.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/epoxy.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/epoxy.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/epoxy.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/epoxy.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/futures.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/futures.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/futures.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/futures.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/gasoline.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/gasoline.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/gasoline.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/gasoline.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/guard.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/guard.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/guard.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/guard.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/operation.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/operation.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/operation.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/operation.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/pegboard.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/pegboard.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/pegboard.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/pegboard.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/tokio.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/tokio.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/tokio.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/tokio.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/dashboards/traces.json b/self-host/dev-multidc-multinode/core/grafana/dashboards/traces.json similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/dashboards/traces.json rename to self-host/dev-multidc-multinode/core/grafana/dashboards/traces.json diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/grafana.ini b/self-host/dev-multidc-multinode/core/grafana/grafana.ini similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/grafana.ini rename to self-host/dev-multidc-multinode/core/grafana/grafana.ini diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/provisioning/dashboards/dashboards.yaml b/self-host/dev-multidc-multinode/core/grafana/provisioning/dashboards/dashboards.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/provisioning/dashboards/dashboards.yaml rename to self-host/dev-multidc-multinode/core/grafana/provisioning/dashboards/dashboards.yaml diff --git a/self-host/compose/dev-multidc-multinode/core/grafana/provisioning/datasources/datasources.yaml b/self-host/dev-multidc-multinode/core/grafana/provisioning/datasources/datasources.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/grafana/provisioning/datasources/datasources.yaml rename to self-host/dev-multidc-multinode/core/grafana/provisioning/datasources/datasources.yaml diff --git a/self-host/compose/dev-multidc-multinode/core/prometheus/prometheus.yml b/self-host/dev-multidc-multinode/core/prometheus/prometheus.yml similarity index 100% rename from self-host/compose/dev-multidc-multinode/core/prometheus/prometheus.yml rename to self-host/dev-multidc-multinode/core/prometheus/prometheus.yml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/otel-collector/config.yaml b/self-host/dev-multidc-multinode/datacenters/dc-a/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-a/otel-collector/config.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-a/otel-collector/config.yaml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/postgres/init-db.sh b/self-host/dev-multidc-multinode/datacenters/dc-a/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-a/postgres/init-db.sh rename to self-host/dev-multidc-multinode/datacenters/dc-a/postgres/init-db.sh diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc index ab9cfa618a..0532bce5c3 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-a:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc index ab9cfa618a..0532bce5c3 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-a:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc index ab9cfa618a..0532bce5c3 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-a:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/vector-client/vector.yaml b/self-host/dev-multidc-multinode/datacenters/dc-a/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-a/vector-client/vector.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-a/vector-client/vector.yaml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-a/vector-server/vector.yaml b/self-host/dev-multidc-multinode/datacenters/dc-a/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-a/vector-server/vector.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-a/vector-server/vector.yaml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/otel-collector/config.yaml b/self-host/dev-multidc-multinode/datacenters/dc-b/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-b/otel-collector/config.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-b/otel-collector/config.yaml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/postgres/init-db.sh b/self-host/dev-multidc-multinode/datacenters/dc-b/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-b/postgres/init-db.sh rename to self-host/dev-multidc-multinode/datacenters/dc-b/postgres/init-db.sh diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc index 2a34bc83ff..e75a22f77c 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 2, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-b:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc index 2a34bc83ff..e75a22f77c 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 2, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-b:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc index 2a34bc83ff..e75a22f77c 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 2, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-b:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/vector-client/vector.yaml b/self-host/dev-multidc-multinode/datacenters/dc-b/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-b/vector-client/vector.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-b/vector-client/vector.yaml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-b/vector-server/vector.yaml b/self-host/dev-multidc-multinode/datacenters/dc-b/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-b/vector-server/vector.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-b/vector-server/vector.yaml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/otel-collector/config.yaml b/self-host/dev-multidc-multinode/datacenters/dc-c/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-c/otel-collector/config.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-c/otel-collector/config.yaml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/postgres/init-db.sh b/self-host/dev-multidc-multinode/datacenters/dc-c/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-c/postgres/init-db.sh rename to self-host/dev-multidc-multinode/datacenters/dc-c/postgres/init-db.sh diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc index 970454f7f6..cb4c587a19 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 3, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-c:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc index 970454f7f6..cb4c587a19 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 3, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-c:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc b/self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc rename to self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc index 970454f7f6..cb4c587a19 100644 --- a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc +++ b/self-host/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 3, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-c:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/vector-client/vector.yaml b/self-host/dev-multidc-multinode/datacenters/dc-c/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-c/vector-client/vector.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-c/vector-client/vector.yaml diff --git a/self-host/compose/dev-multidc-multinode/datacenters/dc-c/vector-server/vector.yaml b/self-host/dev-multidc-multinode/datacenters/dc-c/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc-multinode/datacenters/dc-c/vector-server/vector.yaml rename to self-host/dev-multidc-multinode/datacenters/dc-c/vector-server/vector.yaml diff --git a/self-host/compose/dev-multidc-multinode/docker-compose.yml b/self-host/dev-multidc-multinode/docker-compose.yml similarity index 84% rename from self-host/compose/dev-multidc-multinode/docker-compose.yml rename to self-host/dev-multidc-multinode/docker-compose.yml index 7e421144c8..e4ccd4fc70 100644 --- a/self-host/compose/dev-multidc-multinode/docker-compose.yml +++ b/self-host/dev-multidc-multinode/docker-compose.yml @@ -86,6 +86,10 @@ services: postgres-dc-a: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres @@ -93,7 +97,7 @@ services: volumes: - >- ./datacenters/dc-a/postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data-dc-a:/var/lib/postgresql/data + - postgres-data-dc-a:/var/lib/postgresql ports: - '5432:5432' healthcheck: @@ -107,7 +111,7 @@ services: - rivet-network-dc-a rivet-shell-dc-a: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -174,7 +178,7 @@ services: - '4317:4317' rivet-engine-dc-a-0: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -217,7 +221,7 @@ services: start_period: 30s rivet-engine-dc-a-1: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -258,7 +262,7 @@ services: start_period: 30s rivet-engine-dc-a-2: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -299,63 +303,82 @@ services: start_period: 30s runner-dc-a-0: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-a-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s ports: - - '5050:5050' + - '5050:8080' depends_on: rivet-engine-dc-a-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-a runner-dc-a-1: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-a-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-a-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-a runner-dc-a-2: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-a-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-a-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-a postgres-dc-b: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres @@ -363,7 +386,7 @@ services: volumes: - >- ./datacenters/dc-b/postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data-dc-b:/var/lib/postgresql/data + - postgres-data-dc-b:/var/lib/postgresql healthcheck: test: - CMD-SHELL @@ -375,7 +398,7 @@ services: - rivet-network-dc-b rivet-shell-dc-b: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -440,7 +463,7 @@ services: - rivet-network-dc-b-to-core rivet-engine-dc-b-0: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -481,7 +504,7 @@ services: start_period: 30s rivet-engine-dc-b-1: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -522,7 +545,7 @@ services: start_period: 30s rivet-engine-dc-b-2: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -563,61 +586,80 @@ services: start_period: 30s runner-dc-b-0: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-b-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-b-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-b runner-dc-b-1: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-b-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-b-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-b runner-dc-b-2: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-b-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-b-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-b postgres-dc-c: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres @@ -625,7 +667,7 @@ services: volumes: - >- ./datacenters/dc-c/postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data-dc-c:/var/lib/postgresql/data + - postgres-data-dc-c:/var/lib/postgresql healthcheck: test: - CMD-SHELL @@ -637,7 +679,7 @@ services: - rivet-network-dc-c rivet-shell-dc-c: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -702,7 +744,7 @@ services: - rivet-network-dc-c-to-core rivet-engine-dc-c-0: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -743,7 +785,7 @@ services: start_period: 30s rivet-engine-dc-c-1: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -784,7 +826,7 @@ services: start_period: 30s rivet-engine-dc-c-2: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -825,58 +867,92 @@ services: start_period: 30s runner-dc-c-0: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-c-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-c-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-c runner-dc-c-1: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-c-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-c-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-c runner-dc-c-2: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-c-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-c-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-c + runner-config-init: + image: curlimages/curl:latest + restart: 'no' + depends_on: + rivet-engine-dc-a-0: + condition: service_healthy + entrypoint: + - sh + - '-c' + command: + - >- + until curl -fsS -X PUT + "http://rivet-engine-dc-a-0:6420/runner-configs/default?namespace=default" + -H "Authorization: Bearer dev" -H "Content-Type: application/json" -d + '{"datacenters":{"dc-a":{"normal":{}},"dc-b":{"normal":{}},"dc-c":{"normal":{}}}}'; + do echo "waiting for engine to accept runner config"; sleep 2; done; + echo "runner config upserted" + networks: + - rivet-network-dc-a networks: rivet-core-network: driver: bridge diff --git a/self-host/compose/dev-multidc/.gitattributes b/self-host/dev-multidc/.gitattributes similarity index 100% rename from self-host/compose/dev-multidc/.gitattributes rename to self-host/dev-multidc/.gitattributes diff --git a/self-host/compose/dev-multidc/README.md b/self-host/dev-multidc/README.md similarity index 100% rename from self-host/compose/dev-multidc/README.md rename to self-host/dev-multidc/README.md diff --git a/self-host/compose/dev-multidc/core/clickhouse/client-config.xml b/self-host/dev-multidc/core/clickhouse/client-config.xml similarity index 100% rename from self-host/compose/dev-multidc/core/clickhouse/client-config.xml rename to self-host/dev-multidc/core/clickhouse/client-config.xml diff --git a/self-host/compose/dev-multidc/core/clickhouse/config.xml b/self-host/dev-multidc/core/clickhouse/config.xml similarity index 100% rename from self-host/compose/dev-multidc/core/clickhouse/config.xml rename to self-host/dev-multidc/core/clickhouse/config.xml diff --git a/self-host/compose/dev-multidc/core/clickhouse/init/01-create-otel-table.sql b/self-host/dev-multidc/core/clickhouse/init/01-create-otel-table.sql similarity index 100% rename from self-host/compose/dev-multidc/core/clickhouse/init/01-create-otel-table.sql rename to self-host/dev-multidc/core/clickhouse/init/01-create-otel-table.sql diff --git a/self-host/compose/dev-multidc/core/clickhouse/users.xml b/self-host/dev-multidc/core/clickhouse/users.xml similarity index 100% rename from self-host/compose/dev-multidc/core/clickhouse/users.xml rename to self-host/dev-multidc/core/clickhouse/users.xml diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/api.json b/self-host/dev-multidc/core/grafana/dashboards/api.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/api.json rename to self-host/dev-multidc/core/grafana/dashboards/api.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/cache.json b/self-host/dev-multidc/core/grafana/dashboards/cache.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/cache.json rename to self-host/dev-multidc/core/grafana/dashboards/cache.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/epoxy.json b/self-host/dev-multidc/core/grafana/dashboards/epoxy.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/epoxy.json rename to self-host/dev-multidc/core/grafana/dashboards/epoxy.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/futures.json b/self-host/dev-multidc/core/grafana/dashboards/futures.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/futures.json rename to self-host/dev-multidc/core/grafana/dashboards/futures.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/gasoline.json b/self-host/dev-multidc/core/grafana/dashboards/gasoline.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/gasoline.json rename to self-host/dev-multidc/core/grafana/dashboards/gasoline.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/guard.json b/self-host/dev-multidc/core/grafana/dashboards/guard.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/guard.json rename to self-host/dev-multidc/core/grafana/dashboards/guard.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/operation.json b/self-host/dev-multidc/core/grafana/dashboards/operation.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/operation.json rename to self-host/dev-multidc/core/grafana/dashboards/operation.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/pegboard.json b/self-host/dev-multidc/core/grafana/dashboards/pegboard.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/pegboard.json rename to self-host/dev-multidc/core/grafana/dashboards/pegboard.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/tokio.json b/self-host/dev-multidc/core/grafana/dashboards/tokio.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/tokio.json rename to self-host/dev-multidc/core/grafana/dashboards/tokio.json diff --git a/self-host/compose/dev-multidc/core/grafana/dashboards/traces.json b/self-host/dev-multidc/core/grafana/dashboards/traces.json similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/dashboards/traces.json rename to self-host/dev-multidc/core/grafana/dashboards/traces.json diff --git a/self-host/compose/dev-multidc/core/grafana/grafana.ini b/self-host/dev-multidc/core/grafana/grafana.ini similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/grafana.ini rename to self-host/dev-multidc/core/grafana/grafana.ini diff --git a/self-host/compose/dev-multidc/core/grafana/provisioning/dashboards/dashboards.yaml b/self-host/dev-multidc/core/grafana/provisioning/dashboards/dashboards.yaml similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/provisioning/dashboards/dashboards.yaml rename to self-host/dev-multidc/core/grafana/provisioning/dashboards/dashboards.yaml diff --git a/self-host/compose/dev-multidc/core/grafana/provisioning/datasources/datasources.yaml b/self-host/dev-multidc/core/grafana/provisioning/datasources/datasources.yaml similarity index 100% rename from self-host/compose/dev-multidc/core/grafana/provisioning/datasources/datasources.yaml rename to self-host/dev-multidc/core/grafana/provisioning/datasources/datasources.yaml diff --git a/self-host/compose/dev-multidc/core/prometheus/prometheus.yml b/self-host/dev-multidc/core/prometheus/prometheus.yml similarity index 100% rename from self-host/compose/dev-multidc/core/prometheus/prometheus.yml rename to self-host/dev-multidc/core/prometheus/prometheus.yml diff --git a/self-host/compose/dev-multidc/datacenters/dc-a/otel-collector/config.yaml b/self-host/dev-multidc/datacenters/dc-a/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-a/otel-collector/config.yaml rename to self-host/dev-multidc/datacenters/dc-a/otel-collector/config.yaml diff --git a/self-host/compose/dev-multidc/datacenters/dc-a/postgres/init-db.sh b/self-host/dev-multidc/datacenters/dc-a/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-a/postgres/init-db.sh rename to self-host/dev-multidc/datacenters/dc-a/postgres/init-db.sh diff --git a/self-host/compose/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc b/self-host/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc rename to self-host/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc index f989acaae9..ac3c4bc3c6 100644 --- a/self-host/compose/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc +++ b/self-host/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-a:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc/datacenters/dc-a/vector-client/vector.yaml b/self-host/dev-multidc/datacenters/dc-a/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-a/vector-client/vector.yaml rename to self-host/dev-multidc/datacenters/dc-a/vector-client/vector.yaml diff --git a/self-host/compose/dev-multidc/datacenters/dc-a/vector-server/vector.yaml b/self-host/dev-multidc/datacenters/dc-a/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-a/vector-server/vector.yaml rename to self-host/dev-multidc/datacenters/dc-a/vector-server/vector.yaml diff --git a/self-host/compose/dev-multidc/datacenters/dc-b/otel-collector/config.yaml b/self-host/dev-multidc/datacenters/dc-b/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-b/otel-collector/config.yaml rename to self-host/dev-multidc/datacenters/dc-b/otel-collector/config.yaml diff --git a/self-host/compose/dev-multidc/datacenters/dc-b/postgres/init-db.sh b/self-host/dev-multidc/datacenters/dc-b/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-b/postgres/init-db.sh rename to self-host/dev-multidc/datacenters/dc-b/postgres/init-db.sh diff --git a/self-host/compose/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc b/self-host/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc rename to self-host/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc index fa082ce527..8e5c6aaa45 100644 --- a/self-host/compose/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc +++ b/self-host/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 2, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-b:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc/datacenters/dc-b/vector-client/vector.yaml b/self-host/dev-multidc/datacenters/dc-b/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-b/vector-client/vector.yaml rename to self-host/dev-multidc/datacenters/dc-b/vector-client/vector.yaml diff --git a/self-host/compose/dev-multidc/datacenters/dc-b/vector-server/vector.yaml b/self-host/dev-multidc/datacenters/dc-b/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-b/vector-server/vector.yaml rename to self-host/dev-multidc/datacenters/dc-b/vector-server/vector.yaml diff --git a/self-host/compose/dev-multidc/datacenters/dc-c/otel-collector/config.yaml b/self-host/dev-multidc/datacenters/dc-c/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-c/otel-collector/config.yaml rename to self-host/dev-multidc/datacenters/dc-c/otel-collector/config.yaml diff --git a/self-host/compose/dev-multidc/datacenters/dc-c/postgres/init-db.sh b/self-host/dev-multidc/datacenters/dc-c/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-c/postgres/init-db.sh rename to self-host/dev-multidc/datacenters/dc-c/postgres/init-db.sh diff --git a/self-host/compose/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc b/self-host/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc similarity index 88% rename from self-host/compose/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc rename to self-host/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc index f3c3c6ae38..6ba3be6d65 100644 --- a/self-host/compose/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc +++ b/self-host/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 3, @@ -50,14 +46,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres-dc-c:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multidc/datacenters/dc-c/vector-client/vector.yaml b/self-host/dev-multidc/datacenters/dc-c/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-c/vector-client/vector.yaml rename to self-host/dev-multidc/datacenters/dc-c/vector-client/vector.yaml diff --git a/self-host/compose/dev-multidc/datacenters/dc-c/vector-server/vector.yaml b/self-host/dev-multidc/datacenters/dc-c/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev-multidc/datacenters/dc-c/vector-server/vector.yaml rename to self-host/dev-multidc/datacenters/dc-c/vector-server/vector.yaml diff --git a/self-host/compose/dev-multidc/docker-compose.yml b/self-host/dev-multidc/docker-compose.yml similarity index 87% rename from self-host/compose/dev-multidc/docker-compose.yml rename to self-host/dev-multidc/docker-compose.yml index 79cb619e0a..437ad5bdee 100644 --- a/self-host/compose/dev-multidc/docker-compose.yml +++ b/self-host/dev-multidc/docker-compose.yml @@ -86,6 +86,10 @@ services: postgres-dc-a: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres @@ -93,7 +97,7 @@ services: volumes: - >- ./datacenters/dc-a/postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data-dc-a:/var/lib/postgresql/data + - postgres-data-dc-a:/var/lib/postgresql ports: - '5432:5432' healthcheck: @@ -107,7 +111,7 @@ services: - rivet-network-dc-a rivet-shell-dc-a: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -173,7 +177,7 @@ services: - '4317:4317' rivet-engine-dc-a: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -215,27 +219,36 @@ services: start_period: 30s runner-dc-a: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-a:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s ports: - - '5050:5050' + - '5050:8080' depends_on: rivet-engine-dc-a: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-a postgres-dc-b: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres @@ -243,7 +256,7 @@ services: volumes: - >- ./datacenters/dc-b/postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data-dc-b:/var/lib/postgresql/data + - postgres-data-dc-b:/var/lib/postgresql healthcheck: test: - CMD-SHELL @@ -255,7 +268,7 @@ services: - rivet-network-dc-b rivet-shell-dc-b: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -319,7 +332,7 @@ services: - rivet-network-dc-b-to-core rivet-engine-dc-b: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -359,25 +372,34 @@ services: start_period: 30s runner-dc-b: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-b:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-b: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-b postgres-dc-c: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres @@ -385,7 +407,7 @@ services: volumes: - >- ./datacenters/dc-c/postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data-dc-c:/var/lib/postgresql/data + - postgres-data-dc-c:/var/lib/postgresql healthcheck: test: - CMD-SHELL @@ -397,7 +419,7 @@ services: - rivet-network-dc-c rivet-shell-dc-c: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -461,7 +483,7 @@ services: - rivet-network-dc-c-to-core rivet-engine-dc-c: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -501,22 +523,46 @@ services: start_period: 30s runner-dc-c: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-dc-c:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-dc-c: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network-dc-c + runner-config-init: + image: curlimages/curl:latest + restart: 'no' + depends_on: + rivet-engine-dc-a: + condition: service_healthy + entrypoint: + - sh + - '-c' + command: + - >- + until curl -fsS -X PUT + "http://rivet-engine-dc-a:6420/runner-configs/default?namespace=default" + -H "Authorization: Bearer dev" -H "Content-Type: application/json" -d + '{"datacenters":{"dc-a":{"normal":{}},"dc-b":{"normal":{}},"dc-c":{"normal":{}}}}'; + do echo "waiting for engine to accept runner config"; sleep 2; done; + echo "runner config upserted" + networks: + - rivet-network-dc-a networks: rivet-core-network: driver: bridge diff --git a/self-host/compose/dev-multinode/.gitattributes b/self-host/dev-multinode/.gitattributes similarity index 100% rename from self-host/compose/dev-multinode/.gitattributes rename to self-host/dev-multinode/.gitattributes diff --git a/self-host/compose/dev-multinode/README.md b/self-host/dev-multinode/README.md similarity index 100% rename from self-host/compose/dev-multinode/README.md rename to self-host/dev-multinode/README.md diff --git a/self-host/compose/dev-multinode/clickhouse/client-config.xml b/self-host/dev-multinode/clickhouse/client-config.xml similarity index 100% rename from self-host/compose/dev-multinode/clickhouse/client-config.xml rename to self-host/dev-multinode/clickhouse/client-config.xml diff --git a/self-host/compose/dev-multinode/clickhouse/config.xml b/self-host/dev-multinode/clickhouse/config.xml similarity index 100% rename from self-host/compose/dev-multinode/clickhouse/config.xml rename to self-host/dev-multinode/clickhouse/config.xml diff --git a/self-host/compose/dev-multinode/clickhouse/init/01-create-otel-table.sql b/self-host/dev-multinode/clickhouse/init/01-create-otel-table.sql similarity index 100% rename from self-host/compose/dev-multinode/clickhouse/init/01-create-otel-table.sql rename to self-host/dev-multinode/clickhouse/init/01-create-otel-table.sql diff --git a/self-host/compose/dev-multinode/clickhouse/users.xml b/self-host/dev-multinode/clickhouse/users.xml similarity index 100% rename from self-host/compose/dev-multinode/clickhouse/users.xml rename to self-host/dev-multinode/clickhouse/users.xml diff --git a/self-host/compose/dev-multinode/docker-compose.yml b/self-host/dev-multinode/docker-compose.yml similarity index 82% rename from self-host/compose/dev-multinode/docker-compose.yml rename to self-host/dev-multinode/docker-compose.yml index a432743057..389510f7b3 100644 --- a/self-host/compose/dev-multinode/docker-compose.yml +++ b/self-host/dev-multinode/docker-compose.yml @@ -82,13 +82,17 @@ services: postgres: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=postgres volumes: - ./postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data:/var/lib/postgresql/data + - postgres-data:/var/lib/postgresql ports: - '5432:5432' healthcheck: @@ -102,7 +106,7 @@ services: - rivet-network rivet-shell: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -166,7 +170,7 @@ services: - '4317:4317' rivet-engine-0: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -206,7 +210,7 @@ services: start_period: 30s rivet-engine-1: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -244,7 +248,7 @@ services: start_period: 30s rivet-engine-2: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -282,58 +286,91 @@ services: start_period: 30s runner-0: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s ports: - - '5050:5050' + - '5050:8080' depends_on: rivet-engine-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network runner-1: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully networks: - rivet-network runner-2: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine-0:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s depends_on: rivet-engine-0: condition: service_healthy + runner-config-init: + condition: service_completed_successfully + networks: + - rivet-network + runner-config-init: + image: curlimages/curl:latest + restart: 'no' + depends_on: + rivet-engine-0: + condition: service_healthy + entrypoint: + - sh + - '-c' + command: + - >- + until curl -fsS -X PUT + "http://rivet-engine-0:6420/runner-configs/default?namespace=default" -H + "Authorization: Bearer dev" -H "Content-Type: application/json" -d + '{"datacenters":{"default":{"normal":{}}}}'; do echo "waiting for engine + to accept runner config"; sleep 2; done; echo "runner config upserted" networks: - rivet-network networks: diff --git a/self-host/compose/dev-multinode/grafana/dashboards/api.json b/self-host/dev-multinode/grafana/dashboards/api.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/api.json rename to self-host/dev-multinode/grafana/dashboards/api.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/cache.json b/self-host/dev-multinode/grafana/dashboards/cache.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/cache.json rename to self-host/dev-multinode/grafana/dashboards/cache.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/epoxy.json b/self-host/dev-multinode/grafana/dashboards/epoxy.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/epoxy.json rename to self-host/dev-multinode/grafana/dashboards/epoxy.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/futures.json b/self-host/dev-multinode/grafana/dashboards/futures.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/futures.json rename to self-host/dev-multinode/grafana/dashboards/futures.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/gasoline.json b/self-host/dev-multinode/grafana/dashboards/gasoline.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/gasoline.json rename to self-host/dev-multinode/grafana/dashboards/gasoline.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/guard.json b/self-host/dev-multinode/grafana/dashboards/guard.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/guard.json rename to self-host/dev-multinode/grafana/dashboards/guard.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/operation.json b/self-host/dev-multinode/grafana/dashboards/operation.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/operation.json rename to self-host/dev-multinode/grafana/dashboards/operation.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/pegboard.json b/self-host/dev-multinode/grafana/dashboards/pegboard.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/pegboard.json rename to self-host/dev-multinode/grafana/dashboards/pegboard.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/tokio.json b/self-host/dev-multinode/grafana/dashboards/tokio.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/tokio.json rename to self-host/dev-multinode/grafana/dashboards/tokio.json diff --git a/self-host/compose/dev-multinode/grafana/dashboards/traces.json b/self-host/dev-multinode/grafana/dashboards/traces.json similarity index 100% rename from self-host/compose/dev-multinode/grafana/dashboards/traces.json rename to self-host/dev-multinode/grafana/dashboards/traces.json diff --git a/self-host/compose/dev-multinode/grafana/grafana.ini b/self-host/dev-multinode/grafana/grafana.ini similarity index 100% rename from self-host/compose/dev-multinode/grafana/grafana.ini rename to self-host/dev-multinode/grafana/grafana.ini diff --git a/self-host/compose/dev-multinode/grafana/provisioning/dashboards/dashboards.yaml b/self-host/dev-multinode/grafana/provisioning/dashboards/dashboards.yaml similarity index 100% rename from self-host/compose/dev-multinode/grafana/provisioning/dashboards/dashboards.yaml rename to self-host/dev-multinode/grafana/provisioning/dashboards/dashboards.yaml diff --git a/self-host/compose/dev-multinode/grafana/provisioning/datasources/datasources.yaml b/self-host/dev-multinode/grafana/provisioning/datasources/datasources.yaml similarity index 100% rename from self-host/compose/dev-multinode/grafana/provisioning/datasources/datasources.yaml rename to self-host/dev-multinode/grafana/provisioning/datasources/datasources.yaml diff --git a/self-host/compose/dev-multinode/otel-collector/config.yaml b/self-host/dev-multinode/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev-multinode/otel-collector/config.yaml rename to self-host/dev-multinode/otel-collector/config.yaml diff --git a/self-host/compose/dev-multinode/postgres/init-db.sh b/self-host/dev-multinode/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev-multinode/postgres/init-db.sh rename to self-host/dev-multinode/postgres/init-db.sh diff --git a/self-host/compose/dev-multinode/prometheus/prometheus.yml b/self-host/dev-multinode/prometheus/prometheus.yml similarity index 100% rename from self-host/compose/dev-multinode/prometheus/prometheus.yml rename to self-host/dev-multinode/prometheus/prometheus.yml diff --git a/self-host/compose/dev-multinode/rivet-engine/2/config.jsonc b/self-host/dev-multinode/rivet-engine/0/config.jsonc similarity index 79% rename from self-host/compose/dev-multinode/rivet-engine/2/config.jsonc rename to self-host/dev-multinode/rivet-engine/0/config.jsonc index 655fc83ed7..b25680c399 100644 --- a/self-host/compose/dev-multinode/rivet-engine/2/config.jsonc +++ b/self-host/dev-multinode/rivet-engine/0/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -28,14 +24,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multinode/rivet-engine/0/config.jsonc b/self-host/dev-multinode/rivet-engine/1/config.jsonc similarity index 79% rename from self-host/compose/dev-multinode/rivet-engine/0/config.jsonc rename to self-host/dev-multinode/rivet-engine/1/config.jsonc index 655fc83ed7..b25680c399 100644 --- a/self-host/compose/dev-multinode/rivet-engine/0/config.jsonc +++ b/self-host/dev-multinode/rivet-engine/1/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -28,14 +24,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multinode/rivet-engine/1/config.jsonc b/self-host/dev-multinode/rivet-engine/2/config.jsonc similarity index 79% rename from self-host/compose/dev-multinode/rivet-engine/1/config.jsonc rename to self-host/dev-multinode/rivet-engine/2/config.jsonc index 655fc83ed7..b25680c399 100644 --- a/self-host/compose/dev-multinode/rivet-engine/1/config.jsonc +++ b/self-host/dev-multinode/rivet-engine/2/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -28,14 +24,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev-multinode/vector-client/vector.yaml b/self-host/dev-multinode/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev-multinode/vector-client/vector.yaml rename to self-host/dev-multinode/vector-client/vector.yaml diff --git a/self-host/compose/dev-multinode/vector-server/vector.yaml b/self-host/dev-multinode/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev-multinode/vector-server/vector.yaml rename to self-host/dev-multinode/vector-server/vector.yaml diff --git a/self-host/compose/dev/.gitattributes b/self-host/dev/.gitattributes similarity index 100% rename from self-host/compose/dev/.gitattributes rename to self-host/dev/.gitattributes diff --git a/self-host/compose/dev/README.md b/self-host/dev/README.md similarity index 100% rename from self-host/compose/dev/README.md rename to self-host/dev/README.md diff --git a/self-host/compose/dev/clickhouse/client-config.xml b/self-host/dev/clickhouse/client-config.xml similarity index 100% rename from self-host/compose/dev/clickhouse/client-config.xml rename to self-host/dev/clickhouse/client-config.xml diff --git a/self-host/compose/dev/clickhouse/config.xml b/self-host/dev/clickhouse/config.xml similarity index 100% rename from self-host/compose/dev/clickhouse/config.xml rename to self-host/dev/clickhouse/config.xml diff --git a/self-host/compose/dev/clickhouse/init/01-create-otel-table.sql b/self-host/dev/clickhouse/init/01-create-otel-table.sql similarity index 100% rename from self-host/compose/dev/clickhouse/init/01-create-otel-table.sql rename to self-host/dev/clickhouse/init/01-create-otel-table.sql diff --git a/self-host/compose/dev/clickhouse/users.xml b/self-host/dev/clickhouse/users.xml similarity index 100% rename from self-host/compose/dev/clickhouse/users.xml rename to self-host/dev/clickhouse/users.xml diff --git a/self-host/compose/dev/docker-compose.yml b/self-host/dev/docker-compose.yml similarity index 84% rename from self-host/compose/dev/docker-compose.yml rename to self-host/dev/docker-compose.yml index 91f82dce45..7511952a55 100644 --- a/self-host/compose/dev/docker-compose.yml +++ b/self-host/dev/docker-compose.yml @@ -82,13 +82,17 @@ services: postgres: restart: unless-stopped image: postgres:18-alpine + command: + - postgres + - '-c' + - max_connections=500 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=postgres volumes: - ./postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - - postgres-data:/var/lib/postgresql/data + - postgres-data:/var/lib/postgresql ports: - '5432:5432' healthcheck: @@ -102,7 +106,7 @@ services: - rivet-network rivet-shell: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -166,7 +170,7 @@ services: - '4317:4317' rivet-engine: build: - context: ../../.. + context: ../.. dockerfile: docker/engine/Dockerfile target: engine-full args: @@ -206,22 +210,45 @@ services: start_period: 30s runner: build: - context: ../../.. - dockerfile: engine/sdks/rust/test-envoy/Dockerfile + context: ../.. + dockerfile: examples/kitchen-sink/Dockerfile + args: + NODE_IMAGE: node:22-trixie-slim platform: linux/amd64 restart: unless-stopped environment: + - RIVET_KITCHEN_SINK_MODE=serverful - RIVET_ENDPOINT=http://rivet-engine:6420 - - INTERNAL_SERVER_PORT=5050 - - RIVET_POOL_NAME=test-envoy - - AUTOSTART_ENVOY=1 - - AUTOCONFIGURE_SERVERLESS=0 + - RIVET_TOKEN=dev + - RIVET_NAMESPACE=default + - RIVET_POOL=default + - PORT=8080 stop_grace_period: 4s ports: - - '5050:5050' + - '5050:8080' + depends_on: + rivet-engine: + condition: service_healthy + runner-config-init: + condition: service_completed_successfully + networks: + - rivet-network + runner-config-init: + image: curlimages/curl:latest + restart: 'no' depends_on: rivet-engine: condition: service_healthy + entrypoint: + - sh + - '-c' + command: + - >- + until curl -fsS -X PUT + "http://rivet-engine:6420/runner-configs/default?namespace=default" -H + "Authorization: Bearer dev" -H "Content-Type: application/json" -d + '{"datacenters":{"default":{"normal":{}}}}'; do echo "waiting for engine + to accept runner config"; sleep 2; done; echo "runner config upserted" networks: - rivet-network networks: diff --git a/self-host/compose/dev/grafana/dashboards/api.json b/self-host/dev/grafana/dashboards/api.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/api.json rename to self-host/dev/grafana/dashboards/api.json diff --git a/self-host/compose/dev/grafana/dashboards/cache.json b/self-host/dev/grafana/dashboards/cache.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/cache.json rename to self-host/dev/grafana/dashboards/cache.json diff --git a/self-host/compose/dev/grafana/dashboards/epoxy.json b/self-host/dev/grafana/dashboards/epoxy.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/epoxy.json rename to self-host/dev/grafana/dashboards/epoxy.json diff --git a/self-host/compose/dev/grafana/dashboards/futures.json b/self-host/dev/grafana/dashboards/futures.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/futures.json rename to self-host/dev/grafana/dashboards/futures.json diff --git a/self-host/compose/dev/grafana/dashboards/gasoline.json b/self-host/dev/grafana/dashboards/gasoline.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/gasoline.json rename to self-host/dev/grafana/dashboards/gasoline.json diff --git a/self-host/compose/dev/grafana/dashboards/guard.json b/self-host/dev/grafana/dashboards/guard.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/guard.json rename to self-host/dev/grafana/dashboards/guard.json diff --git a/self-host/compose/dev/grafana/dashboards/operation.json b/self-host/dev/grafana/dashboards/operation.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/operation.json rename to self-host/dev/grafana/dashboards/operation.json diff --git a/self-host/compose/dev/grafana/dashboards/pegboard.json b/self-host/dev/grafana/dashboards/pegboard.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/pegboard.json rename to self-host/dev/grafana/dashboards/pegboard.json diff --git a/self-host/compose/dev/grafana/dashboards/tokio.json b/self-host/dev/grafana/dashboards/tokio.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/tokio.json rename to self-host/dev/grafana/dashboards/tokio.json diff --git a/self-host/compose/dev/grafana/dashboards/traces.json b/self-host/dev/grafana/dashboards/traces.json similarity index 100% rename from self-host/compose/dev/grafana/dashboards/traces.json rename to self-host/dev/grafana/dashboards/traces.json diff --git a/self-host/compose/dev/grafana/grafana.ini b/self-host/dev/grafana/grafana.ini similarity index 100% rename from self-host/compose/dev/grafana/grafana.ini rename to self-host/dev/grafana/grafana.ini diff --git a/self-host/compose/dev/grafana/provisioning/dashboards/dashboards.yaml b/self-host/dev/grafana/provisioning/dashboards/dashboards.yaml similarity index 100% rename from self-host/compose/dev/grafana/provisioning/dashboards/dashboards.yaml rename to self-host/dev/grafana/provisioning/dashboards/dashboards.yaml diff --git a/self-host/compose/dev/grafana/provisioning/datasources/datasources.yaml b/self-host/dev/grafana/provisioning/datasources/datasources.yaml similarity index 100% rename from self-host/compose/dev/grafana/provisioning/datasources/datasources.yaml rename to self-host/dev/grafana/provisioning/datasources/datasources.yaml diff --git a/self-host/compose/dev/otel-collector/config.yaml b/self-host/dev/otel-collector/config.yaml similarity index 100% rename from self-host/compose/dev/otel-collector/config.yaml rename to self-host/dev/otel-collector/config.yaml diff --git a/self-host/compose/dev/postgres/init-db.sh b/self-host/dev/postgres/init-db.sh similarity index 100% rename from self-host/compose/dev/postgres/init-db.sh rename to self-host/dev/postgres/init-db.sh diff --git a/self-host/compose/dev/prometheus/prometheus.yml b/self-host/dev/prometheus/prometheus.yml similarity index 100% rename from self-host/compose/dev/prometheus/prometheus.yml rename to self-host/dev/prometheus/prometheus.yml diff --git a/self-host/compose/dev/rivet-engine/config.jsonc b/self-host/dev/rivet-engine/config.jsonc similarity index 79% rename from self-host/compose/dev/rivet-engine/config.jsonc rename to self-host/dev/rivet-engine/config.jsonc index 74135c72fa..4c6312b6d3 100644 --- a/self-host/compose/dev/rivet-engine/config.jsonc +++ b/self-host/dev/rivet-engine/config.jsonc @@ -2,12 +2,8 @@ "auth": { "admin_token": "dev" }, - "guard": { - "port": 6420 - }, "api_peer": { - "host": "0.0.0.0", - "port": 6421 + "host": "0.0.0.0" }, "topology": { "datacenter_label": 1, @@ -28,14 +24,10 @@ "postgres": { "url": "postgresql://postgres:postgres@postgres:5432/rivet_engine" }, - "cache": { - "driver": "in_memory" - }, "clickhouse": { "http_url": "http://clickhouse:9300", "native_url": "http://clickhouse:9301", "username": "system", - "password": "default", - "secure": false + "password": "default" } } \ No newline at end of file diff --git a/self-host/compose/dev/vector-client/vector.yaml b/self-host/dev/vector-client/vector.yaml similarity index 100% rename from self-host/compose/dev/vector-client/vector.yaml rename to self-host/dev/vector-client/vector.yaml diff --git a/self-host/compose/dev/vector-server/vector.yaml b/self-host/dev/vector-server/vector.yaml similarity index 100% rename from self-host/compose/dev/vector-server/vector.yaml rename to self-host/dev/vector-server/vector.yaml