Expand description
MQTT 5.0 infrastructure for the Aether event fabric.
This crate provides the shared MQTT layer used by all Styrene ecosystem services (Omegon, Scry, Viz, Aether, etc.) to communicate over the Aether event bus.
§Topic Schema
All events are published to topics following the hierarchy:
styrene/{operator_id}/{service}/{instance_id}/events/{event_type}Use TopicBuilder to construct publish topics and subscription filters.
§Broker Ownership
The MQTT broker is owned by the operator control plane (Auspex), not by
individual services. Services connect as TCP clients. Auspex uses the
embedded-broker feature to start an in-process rumqttd instance and
holds an in-process link for its own aggregation pipeline.
§Feature Gates
embedded-broker— includes rumqttd for hosting the broker (Auspex only)tls— TLS support for remote broker connections (future)styrene-identity— Ed25519 enhanced auth (future)
Re-exports§
pub use client::Client;pub use client::ClientConfig;pub use client::ConnectionTarget;pub use client::ServiceIdentity;pub use envelope::Envelope;pub use envelope::Message;pub use envelope::Metadata;pub use error::MqttError;pub use error::Result;pub use qos::qos_for_event;pub use qos::QosOverride;pub use stream::RawMessage;pub use stream::Subscription;pub use topic::TopicAddress;pub use topic::TopicBuilder;