Expand description
rmqtt-plugins
A collection of plugins for the rmqtt MQTT broker, providing functionality for various features such as authentication, message retention, HTTP APIs, and more. Each plugin can be conditionally included based on feature flags, allowing for modularity and customization. The plugins are categorized into core, bridge, storage, utility, and cluster plugins, making it easy to extend the rmqtt functionality with different backend systems or protocols. The following categories of plugins are available:
- Core Plugins: Fundamental plugins for core functionality such as ACL, retention, and HTTP API support.
- Bridge Plugins: Plugins to integrate with external message brokers like Kafka, Pulsar, NATS, and more.
- Storage Plugins: Plugins for message and session storage with support for different backends like Redis and SLED.
- Utility Plugins: Additional utility features such as system topics, topic rewrites, and web hooks.
- Cluster Plugins: Support for clustering features such as Raft and broadcast modes for distributed setups.
Re-exportsยง
pub use rmqtt_acl as acl;
pub use rmqtt_retainer as retainer;
pub use rmqtt_http_api as http_api;
pub use rmqtt_counter as counter;
pub use rmqtt_auth_http as auth_http;
pub use rmqtt_auth_jwt as auth_jwt;
pub use rmqtt_auto_subscription as auto_subscription;
pub use rmqtt_bridge_egress_kafka as bridge_egress_kafka;
pub use rmqtt_bridge_ingress_kafka as bridge_ingress_kafka;
pub use rmqtt_bridge_egress_mqtt as bridge_egress_mqtt;
pub use rmqtt_bridge_ingress_mqtt as bridge_ingress_mqtt;
pub use rmqtt_bridge_egress_pulsar as bridge_egress_pulsar;
pub use rmqtt_bridge_ingress_pulsar as bridge_ingress_pulsar;
pub use rmqtt_bridge_egress_nats as bridge_egress_nats;
pub use rmqtt_bridge_egress_reductstore as bridge_egress_reductstore;
pub use rmqtt_message_storage as message_storage;
pub use rmqtt_session_storage as session_storage;
pub use rmqtt_sys_topic as sys_topic;
pub use rmqtt_topic_rewrite as topic_rewrite;
pub use rmqtt_web_hook as web_hook;
pub use rmqtt_cluster_raft as cluster_raft;
pub use rmqtt_cluster_broadcast as cluster_broadcast;