Skip to main content

rightsize_modules/
lib.rs

1#![warn(missing_docs)]
2#![forbid(unsafe_code)]
3
4//! `rightsize-modules` ships eighteen preconfigured containers on top of the
5//! `rightsize` core: Redis, Memcached, ArangoDB, MongoDB, Redpanda, Kafka,
6//! SpringCloudConfig, PostgreSQL, MySQL, Apache Pinot, RabbitMQ, MariaDB, WireMock,
7//! ClickHouse, Keycloak, Neo4j, Floci, and Apache Flink. Each module is a thin
8//! newtype wrapping [`rightsize`]'s `Container` builder — no subclassing, just the
9//! spec-customizer and post-start hooks the core exposes — with connection helpers on
10//! its guard.
11//!
12//! Backend wiring is a Cargo feature choice, not a runtime one: `backend-msb` and
13//! `backend-docker` (both on by default) pull in `rightsize-msb` and
14//! `rightsize-docker` respectively so consumers can trim the dependency they don't
15//! need.
16
17pub mod arango;
18pub mod clickhouse;
19pub mod flink;
20pub mod floci;
21pub mod kafka;
22pub mod keycloak;
23pub mod mariadb;
24pub mod memcached;
25pub mod mongodb;
26pub mod mysql;
27pub mod neo4j;
28pub mod pinot;
29pub mod postgres;
30pub mod rabbitmq;
31pub mod redis;
32pub mod redpanda;
33pub mod spring_cloud_config;
34pub mod wiremock;
35
36pub use arango::{ArangoContainer, ArangoGuard};
37pub use clickhouse::{ClickHouseContainer, ClickHouseGuard};
38pub use flink::{FlinkContainer, FlinkGuard};
39pub use floci::{FlociContainer, FlociGuard};
40pub use kafka::{KafkaContainer, KafkaGuard};
41pub use keycloak::{KeycloakContainer, KeycloakGuard};
42pub use mariadb::{MariaDbContainer, MariaDbGuard};
43pub use memcached::{MemcachedContainer, MemcachedGuard};
44pub use mongodb::{MongoDbContainer, MongoDbGuard};
45pub use mysql::{MySqlContainer, MySqlGuard};
46pub use neo4j::{Neo4jContainer, Neo4jGuard};
47pub use pinot::{PinotContainer, PinotGuard};
48pub use postgres::{PostgresContainer, PostgresGuard};
49pub use rabbitmq::{RabbitMqContainer, RabbitMqGuard};
50pub use redis::{RedisContainer, RedisGuard};
51pub use redpanda::{RedpandaContainer, RedpandaGuard};
52pub use spring_cloud_config::{SpringCloudConfigContainer, SpringCloudConfigGuard};
53pub use wiremock::{WireMockContainer, WireMockGuard};