Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Latest commit

 

History

History
73 lines (43 loc) · 3.55 KB

README.md

File metadata and controls

73 lines (43 loc) · 3.55 KB

Ruskit


This repository was moved to the new one, check out the New Repository


ci codecov

GitHub License GitHub Stars GitHub Forks GitHub Issues

Ruskit is an open-source project written in Rust that provides a set of powerful abstractions and utilities for building cloud-native applications. It simplifies common tasks related to logging, observability, messaging, databases, health checks, and more. Whether you're a seasoned Rust developer or just getting started with cloud-native development, Ruskit aims to streamline your workflow and make your applications more reliable and efficient.

Table of content

Features

  • Logging: Easily configure and use structured logging in your Rust applications, improving debugging and monitoring capabilities.

  • OpenTelemetry and Tracing: Integration with OpenTelemetry for distributed tracing, helping you gain insights into your application's performance.

  • OpenTelemetry and Metrics: Seamless integration with Prometheus for collecting and exposing application metrics.

  • Messaging: Support for MQTT and RabbitMQ, making it straightforward to implement messaging patterns in your applications.

  • Database: Integration with PostgreSQL for efficient data storage and retrieval.

  • Health Checks: Implement health checks to ensure the reliability of your services and applications.

  • Migrator: Simplify database schema migrations to manage changes in your data models.

  • HTTP Server: Simplify the way to create a production ready HTTP Servers with OpenAPI, health check, metrics and more.

Getting Started

To get started with Ruskit, follow these steps:

1- Installing Linux packages: Some crates require some additional packages to work pronely

sudo apt install libssl-dev build-essential cmake pkg-config llvm-dev libclang-dev clang libmosquitto-dev sqlite3

2- Add in our cargo.toml: To use one of these crates just add to your Cargo.toml:

env = { git = "ssh://[email protected]/ralvescosta/ruskit.git",  rev = "v1.25.0" }
logging = { git = "ssh://[email protected]/ralvescosta/ruskit.git",  rev = "v1.25.0"  }
errors = { git = "ssh://[email protected]/ralvescosta/ruskit.git",  rev = "v1.25.0"  }

Documentation

For detailed documentation and usage examples, please visit our ruskit example repository

License

Ruskit is released under the MIT License. See LICENSE for more details.

Support

If you have questions, encounter issues, or want to discuss ideas, please open an issue on the GitHub Issues page.