Skip to main content

Crate styrene_mqtt

Crate styrene_mqtt 

Source
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;

Modules§

client
envelope
error
qos
stream
topic