Kontainers

Kontainers is a Kotlin framework providing the capability to run Open Container Images (OCI) on Docker, Kubernetes, and possibly other platforms in the near future. This can be valuable in cases where you want to run a database or messaging system for integration testing and then tear down such resources after tests complete.

Kontainers enables users to write and run integration tests locally with Docker Desktop or Minikube, while also utilizing modern, Kubernetes based CI/CD systems that may not permit or support the Docker runtime.

Architecture

Kontainers provides a platform-agnostic Kontainer specification that allows users to define a request to run a container using a simple, domain specific language (DSL). The specification is then used by a Kontainer factory to start the container on either Docker or Kubernetes, depending on the capabilities of the platform on which your code is run.

Getting Started

To start working with Kontainers, read the Kontainers Getting Started Guide.

All modules:

Link copied to clipboard

Experimental Kontainers' support for Apache Kafka.

Link copied to clipboard

Defines the Kontainers domain, DSL, and specifications for platforms capable of running Kontainer instances.

Link copied to clipboard

Provides factories for running Kontainers on various backends.

Link copied to clipboard
Link copied to clipboard

Provides a JUnit Jupiter extension to simplify using Kontainers in JUnit 5 test suites. If you are using Kontainers for integration testing, this is the simplest way to get started.

Link copied to clipboard

Kontainer support for LocalStack.

Link copied to clipboard

Provides MariaDB Kontainer support.

Link copied to clipboard

Provides Kontainers' support for Micronaut.

Link copied to clipboard

Provides MongoDB Kontainer support.

Link copied to clipboard

Provides MySQL Kontainer support.

Link copied to clipboard

Provides PostgreSQL Kontainer support.

Link copied to clipboard

Module for running Redis Kontainers.

Link copied to clipboard

Provides Kontainer's support for Spring Boot.

Link copied to clipboard

Kontainer support for Apache Zookeeper.