Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions crates/ourios-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,17 @@ ourios-telemetry = { path = "../ourios-telemetry" }
ourios-wal = { path = "../ourios-wal" }
ourios-miner = { path = "../ourios-miner" }
ourios-core = { path = "../ourios-core" }
# The query engine (RFC 0007) the querier role (RFC 0016) serves: the DSL
# front-ends (`dsl::parse_statement` / `parse_structured_statement`) + the
# `Querier` (`run_query` / `run_drift`). Its types are kept internal — no
# DataFusion/SQL crosses the HTTP boundary (H6 / RFC0016.5-error-model).
ourios-querier = { path = "../ourios-querier" }
# JSON request/response codec for the querier endpoint (RFC 0016 §3.3/§3.4):
# parse the `{"query": …}` wrapper and serialise the Ourios-owned response
# DTOs. The structured-IR JSON body itself is parsed by the querier's own
# `parse_structured_statement`.
serde = { version = "1", default-features = false, features = ["std", "derive"] }
serde_json = { version = "1", default-features = false, features = ["std"] }
# `LogsServiceServer` to host the receiver's `LogsService` impl over gRPC.
opentelemetry-proto = { version = "0.32", default-features = false, features = ["gen-tonic", "logs"] }
# gRPC transport (server) for the OTLP/gRPC listener (RFC0003.16).
Expand All @@ -53,6 +64,9 @@ tempfile = "3"
prost = { version = "0.14", default-features = false, features = ["std"] }
tonic = { version = "0.14", default-features = false, features = ["channel"] }
tokio = { version = "1", default-features = false, features = ["io-util", "time", "process"] }
# Drive the querier `Router` in-process (`ServiceExt::oneshot`) for the
# RFC 0016 handler tests — no socket, no HTTP client (the ingester's pattern).
tower = { version = "0.5", default-features = false, features = ["util"] }

[lints]
workspace = true
11 changes: 11 additions & 0 deletions crates/ourios-server/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
//! `ourios-server` library surface.
//!
//! The crate ships the `ourios-server` binary (`src/main.rs`); this library
//! target exposes the pieces that are worth driving in-process from
//! integration tests and reusing across roles. Today that is the **querier
//! role** (RFC 0016) — the HTTP query API over the logs DSL (RFC 0002), built
//! on the `ourios-querier` engine (RFC 0007). The OTLP receiver role lives in
//! the binary (`src/receiver.rs`); the querier lives here so its `serve` /
//! `router` are testable without spawning the process.

pub mod querier;
Loading
Loading