Spring Boot starter for minio

From cloud-based backup solutions to high-availability content delivery networks (CDNs), object storage has become an integral part of the modern technology landscape. And, with its small footprint, straightforward interface, and compatibility with multiple cloud storage services, the Minio object storage server packs a lot of punch.

Minio is an open-source object storage server that stores unstructured data like photos, videos, virtual machine images, containers, and log files as objects. In distributed mode, Minio provides a single object storage server that pools multiple drives spread across many servers.

Minio is written in Go, comes with a command line client plus a browser interface, and has many SDKs. Well, since I'm a java developer I've used the java sdk in different project, till I decided to make a spring boot start for minio, based on their java SDK.

The minio starter, like any other spring boot starter, detects the presence or absence of specific classes and/or properties and based on this information, makes some decisions and autoconfigure the necessary beans to the application context.

Since it still a very early version, I didn't publish it yet to any repo. So in order to use it, you'll need to build it and add the dependency. Also, You can make use of this starter in 2 different ways:

  • enabling endpoint and interacting with a rest based API to create, store and remove buckets/objects
  • use the MinioTemplate class service on your code java directly.

The code also contains a basic spring boot app sample and a minio swarm file, demonstrating configuration and usage example. Please do not hesitate to open issues, trigger suggestions and contribute ;) it's open source!