Writing your own connector
See the
CONNECTORS.md
guide in the repo for the full walkthrough, but here's the shape:
#![allow(unused)] fn main() { use federiq_core::{AttachCtx, Connector}; pub struct MyConnector { /* your config */ } impl Connector for MyConnector { fn kind(&self) -> &'static str { "mysource" } fn attach(&self, ctx: &AttachCtx<'_>) -> anyhow::Result<()> { // 1. Fetch rows from the remote source. // 2. Write them as NDJSON to ctx.tmpdir. // 3. CREATE OR REPLACE VIEW <ctx.alias> AS SELECT * FROM read_json_auto('...'); Ok(()) } } }
A dynamic plugin system (WASM components loaded from ~/.federiq/plugins)
is on the roadmap so third parties can ship connectors without recompiling
FederIQ.