Expand description
One configured port: which adapter (type) and its options.
[source], [stream], and every [sinks.<name>] table in flusso.toml
is a PortEntry. The config layer reads the type and carries the rest
as an opaque Options map; the composition root looks the kind up in
its adapter registry and hands the options to that adapter’s config type.
Serialized as the file writes it: type = "…" plus the options flattened
beside it, keys sorted, so the lock is byte-stable.
use kernel::PortEntry;
let entry: PortEntry = toml::from_str(r#"
type = "opensearch"
url = "https://search:9200"
batch_size = 500
"#).unwrap();
assert_eq!(entry.kind, "opensearch");
assert_eq!(entry.options.get("batch_size").and_then(|v| v.as_i64()), Some(500));
assert_eq!(toml::to_string(&entry).unwrap(), "type = \"opensearch\"\nbatch_size = 500\nurl = \"https://search:9200\"\n");Structs§
- Port
Entry - One port entry of a deployment: the adapter kind and its options.