flusso-schema 0.10.1

Config and schema loading for flusso: assembles flusso.toml and *.schema.yml into a validated Config.
Documentation

flusso-schema

The front door to the configuration layer: load a flusso configuration into a validated model.

[load] takes the path to a flusso.toml, reads the source and sinks from it, resolves and parses every *.schema.yml the file references, and hands back a single [Config].

The format-specific crates (schema-config-toml, schema-index-yaml) and the core model (schema-core) sit underneath. Downstream code depends only on this crate and reaches the core types through its re-exports.

Example

let config = schema::load("flusso.toml")?;

for (name, index) in &config.indexes {
    println!("{name}: table {} ({} fields)", index.schema.table, index.schema.fields.len());
}
# Ok::<(), schema::LoadError>(())

2-schema — config & schema loading

This group turns config files into the validated Config.

Crate Path Role
schema . The front door: load() reads a flusso.toml + its *.schema.yml files into one validated Config, and re-exports the schema-core vocabulary.
schema-config-toml 1-config-toml Parses flusso.toml → neutral entities.
schema-index-yaml 1-index-yaml Parses *.schema.yml → core types.

Each parser crate works in two stages: parse (serde → neutral entities), then convert (entities → model). The flusso.tomlConfig conversion lives in schema itself — a composition step — so the toml parser stays free of Config.

Part of the flusso library crates.