43 releases

Uses new Rust 2024

0.0.51 Apr 9, 2025
0.0.50 Mar 24, 2025
0.0.49 Feb 26, 2025
0.0.39 Nov 25, 2024
0.0.13 Mar 28, 2024

#988 in Database interfaces

Download history 133/week @ 2025-01-01 327/week @ 2025-01-08 25/week @ 2025-01-15 107/week @ 2025-01-22 224/week @ 2025-01-29 252/week @ 2025-02-05 110/week @ 2025-02-12 205/week @ 2025-02-19 304/week @ 2025-02-26 44/week @ 2025-03-05 53/week @ 2025-03-12 170/week @ 2025-03-19 79/week @ 2025-03-26 69/week @ 2025-04-02 217/week @ 2025-04-09

552 downloads per month

MIT license

150KB
2.5K SLoC

Quick Microservices - qm

utilities to create quick microservices in Rust


GitHub repositoryCargo packageDocs

github.com - quick-microservice-rs crates.io - qm
github.com - workflow - build


Feature flags

default

There are no default features. Every feature provided must be enabled explicitly.

entity

Implements the opinionated concept of an Entity. A way to handle database models with predefined constrains to describe permissions and ownership. Uses the crates sea-orm and sqlx.

Integrates with the features keycloak, mongodb, redis, role and nats.

kafka

Provides an easy way to configure and set up a connection to a Kafka server. Configuration can be done with environment variables. The default prefix is KAFKA_. Uses the crate rdkafka.

Also provides opinionated topics and producers for Kafka events.

keycloak

Provides an easy way to configure and set up a connection to a Keycloak server. Configuration can be done with environment variables. The default prefix is KEYCLOAK_. Uses the crate keycloak.

Also provides an opinionated configuration template and some helper functions.

mongodb

Provides an easy way to configure and set up a database connection for a MongoDB database. Configuration can be done with environment variables. The default prefix is MONGODB_. Uses the crate mongodb.

nats

todo!()

pg

Provides an easy way to configure and set up a database connection for a PostgreSQL database. Configuration can be done with environment variables. The default prefix is PG_. Uses the crate sqlx.

redis

Provides an easy way to configure and set up a database connection for a Redis database. Configuration can be done with environment variables. The default prefix is REDIS_. Uses the crates redis and deadpool-redis.

Also provides helper to handle worker queues and locking with Redis mechanisms.

role

todo!()

role-build

todo!()

s3

todo!()

server

Provides an easy way to get a server configuration. Configuration can be done with environment variables. The default prefix is SERVER_.

Also provides a graphql_handler.

The handler requires a qm_role::AuthContainer, so the feature role must be activated. Because the use of the handler is optional, the dependency is not automatically included.

utils

todo!()

Dependencies

~0–25MB
~407K SLoC