A todo node's key and text were hand-expanded `{field}` strings. They are now Jinja templates rendered through the new hive-template crate (minijinja, an unknown variable is an error), and the controller's save check reads the variables the template uses. The flows document is version 2; a version 1 document reads as version 2 with each `{field}` converted to `{{ field }}`, and the next save writes it.
47 lines
1.5 KiB
TOML
47 lines
1.5 KiB
TOML
[package]
|
|
name = "swarm-notify-router"
|
|
version.workspace = true
|
|
readme = "README.md"
|
|
edition.workspace = true
|
|
|
|
[[bin]]
|
|
name = "swarm-notify-router"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
# `kv` for its state bucket; `jetstream` comes with it.
|
|
async-nats = { workspace = true, features = ["kv"] }
|
|
# StreamExt / TryStreamExt on the pulled batch and the subject listing.
|
|
futures-util.workspace = true
|
|
hive-log.workspace = true
|
|
# The flow templates a todo node renders.
|
|
hive-template.workspace = true
|
|
# The metrics the router exports (`metrics`), pushed through the OTLP exporter
|
|
# `swarm-secret-client`'s `meter_provider` builds.
|
|
opentelemetry.workspace = true
|
|
opentelemetry_sdk.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
# The connect, and the two streams' configs it shares with the controller and
|
|
# the agent harness.
|
|
swarm-queue-client = { workspace = true, features = [
|
|
"forge-events",
|
|
"router-todo",
|
|
] }
|
|
# Its queue client secret, read with its own store leaf.
|
|
swarm-secret-client = { workspace = true, features = ["otel"] }
|
|
# The stream, subject, bucket and op names.
|
|
swarm-wire.workspace = true
|
|
tokio.workspace = true
|
|
tracing.workspace = true
|
|
|
|
# A fresh directory per test `nats-server`, for its store and ports file.
|
|
[dev-dependencies]
|
|
# `InMemoryMetricExporter`, to read back what `metrics` records.
|
|
opentelemetry_sdk = { workspace = true, features = ["testing"] }
|
|
tempfile = "3"
|
|
tracing-subscriber.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|