Skip to content

Modules

The modules artifact ships preconfigured containers — a sensible default image, an exposed-ports set, a wait strategy that's been checked against a real boot (not just assumed from the docs), and connection helpers that hand you a ready-to-use URI or JDBC URL rather than making you assemble one from getMappedPort calls yourself.

testImplementation("dev.rightsize:modules")

Catalog

Module Default image Helpers
RedisContainer redis:8.6-alpine uri
ArangoContainer arangodb:3.11 endpoint, withRootPassword(...)
MemcachedContainer memcached:1.6-alpine address
MongoDBContainer mongo:8.0 connectionString, replicaSetUrl (single-node replica set, auto-initiated)
PostgreSQLContainer postgres:18-alpine jdbcUrl, username, password, databaseName, withUsername/withPassword/withDatabase(...)
MySQLContainer mysql:8.4 jdbcUrl, username, password, databaseName, withUsername/withPassword/withDatabase(...)
MariaDBContainer mariadb:11.4 jdbcUrl, username, password, databaseName, withUsername/withPassword/withDatabase(...)
RedpandaContainer redpandadata/redpanda:v24.2.4 bootstrapServers, schemaRegistryUrl
KafkaContainer apache/kafka:4.0.0 bootstrapServers (KRaft single node)
RabbitMQContainer rabbitmq:4-management-alpine amqpUrl, managementUrl, username, password, withUsername/withPassword(...)
ClickHouseContainer clickhouse/clickhouse-server:25.8 httpUrl, username, password, databaseName, withUsername/withPassword/withDatabase(...)
PinotContainer apachepinot/pinot:1.5.1 controllerUrl, brokerUrl (QuickStart -type EMPTY single-container cluster)
SpringCloudConfigContainer hyness/spring-cloud-config-server:latest uri
WireMockContainer wiremock/wiremock:3.13.2 baseUrl, adminUrl
KeycloakContainer quay.io/keycloak/keycloak:26.4 authServerUrl, managementUrl, adminUsername, adminPassword, withAdminUsername/withAdminPassword(...)
Neo4jContainer neo4j:5-community httpUrl, boltUrl, username, password, withPassword(...)
FlociContainer floci/floci(-az\|-gcp) FlociContainer.aws()/.azure()/.gcp(), endpointUrl
FlinkContainer flink:1.20.5 restUrl, withTaskManager() (docker only)

Every module page includes: the default image and how to override it, the field defaults, every helper method, a complete copy-paste JUnit 5 test, and any backend-specific notes worth knowing before you run it.

Don't see what you need?

Every module is a thin subclass of GenericContainer — if there's no preconfigured module for your image, use GenericContainer directly with your own withEnv/withExposedPorts/waitingFor calls. See Getting Started for the shape.