refactor: extract omnigraph-config crate from omnigraph-server

Move config.rs (schema + loader + resolvers) into a new clean-leaf crate
(serde/serde_yaml/clap/color-eyre). The server aliases it via
`pub use omnigraph_config as config;` so every internal `config::` path and
the `pub use config::{...}` re-exports resolve unchanged. No behavior change;
the 12 config tests move verbatim and pass. First step of RFC-002 V0.
This commit is contained in:
Ragnor Comerford 2026-06-02 23:49:40 +02:00
parent 54bbe902e5
commit c5ea4875d5
No known key found for this signature in database
6 changed files with 33 additions and 1 deletions

12
Cargo.lock generated
View file

@ -4584,6 +4584,17 @@ dependencies = [
"tokio",
]
[[package]]
name = "omnigraph-config"
version = "0.6.1"
dependencies = [
"clap",
"color-eyre",
"serde",
"serde_yaml",
"tempfile",
]
[[package]]
name = "omnigraph-engine"
version = "0.6.1"
@ -4654,6 +4665,7 @@ dependencies = [
"lance",
"lance-index",
"omnigraph-compiler",
"omnigraph-config",
"omnigraph-engine",
"omnigraph-policy",
"regex",

View file

@ -6,6 +6,7 @@ members = [
"crates/omnigraph-cli",
"crates/omnigraph-policy",
"crates/omnigraph-server",
"crates/omnigraph-config",
]
default-members = [
"crates/omnigraph",

View file

@ -0,0 +1,18 @@
[package]
name = "omnigraph-config"
version = "0.6.1"
edition = "2024"
description = "Configuration schema and loader for the Omnigraph graph database."
license = "MIT"
repository = "https://github.com/ModernRelay/omnigraph"
homepage = "https://github.com/ModernRelay/omnigraph"
documentation = "https://docs.rs/omnigraph-config"
[dependencies]
serde = { workspace = true }
serde_yaml = { workspace = true }
clap = { workspace = true }
color-eyre = { workspace = true }
[dev-dependencies]
tempfile = { workspace = true }

View file

@ -22,6 +22,7 @@ aws = ["dep:aws-config", "dep:aws-sdk-secretsmanager"]
omnigraph = { package = "omnigraph-engine", path = "../omnigraph", version = "0.6.1" }
omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.1" }
omnigraph-policy = { path = "../omnigraph-policy", version = "0.6.1" }
omnigraph-config = { path = "../omnigraph-config", version = "0.6.1" }
axum = { workspace = true }
clap = { workspace = true }
color-eyre = { workspace = true }

View file

@ -1,6 +1,6 @@
pub mod api;
pub mod auth;
pub mod config;
pub use omnigraph_config as config;
pub mod graph_id;
pub mod identity;
pub mod policy;