Rust Integration Services
A modern, fast, and lightweight integration library written in Rust, designed for memory safety and stability. It simplifies the development of scalable integrations for receiving and sending data, with built-in support for common protocols.
Installation
Add rust-integration-services to your project Cargo.toml with all or select features.
All features
[]
= { = "1.50.0", = ["full"] }
= { = "0.5.10", = ["full"] }
With select features
[]
= { = "1.50.0", = ["full"] }
= { = "0.5.10", = ["file", "scheduler", "sftp", "http", "smtp", "s3"] }
Features
File
The file module focus on the local file system and is useful for polling files in a directory, copying, moving or writing to a file.
Http
The http module is built on top of the fast and reliable hyper crate, and routing is handled using matchit crate.
It supports both HTTP/1.1 and HTTP/2 protocols, enabling modern, high-performance HTTP communication with automatic protocol negotiation via ALPN (Application-Layer Protocol Negotiation) with dynamic routing for REST.
S3
The S3 module is built on top of the AWS SDK and provides a simplified, easy-to-use client for interacting with Amazon S3 and other generic S3 services like minio. It abstracts common operations into a clean, versatile interface while retaining the flexibility of the underlying SDK.
Sftp
The sftp module is built on top of the low-level russh and russh-sftp crates.
These crates provide direct access to the SSH transport layer and the SFTP protocol, giving full control over connection management, authentication, and file transfer operations.
Smtp
The SMTP module is built on top of the reliable lettre crate.
lettre provides an asynchronous, rust-native SMTP support for secure connections via TLS.
Scheduler
The scheduler module assist in scheduling tasks over time, such as hourly, daily or weekly.
During downtime or maintenance it calculates the next scheduled time automatically on resume.