Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

This project have been deprecated in favor of the new one: s3-tester and is no longer maintained. Collection of simple scripts to consume object storage APIs and gather metrics.

License

Notifications You must be signed in to change notification settings

marmotitude/object-storage-tests

Repository files navigation

object-storage-tests

A growing test suite for S3-like object storage implementations.

About

This project uses the load tests framework k6 (extended with some extensions) as the basis to execute test scenarios using popular open source command line tools like aws-cli, rclone, swift-cli as well as the open source k6 module k6-jslib-aws.

Roadmap

This is an early-stage project and the main focus is to test proprietary object storage providers, like AWS and Digital Ocean. But we would like to include open source/self-hosted object storage providers as well, like MinIO and OpenStack Swift, so tests using the mc tool are in the roadmap.

An informal "board" can be viewed here, card descriptions might be mixed in Portuguese and English.

Requirements

This tool was only tested on Linux machines with just and docker (or podman) installed.

Usage

object-storage-tests is available as two docker images:

To run the test against a S3-compatible provider (we call them "remotes"), first copy the example.config.yaml to config.yaml and edit it to include your credentials.

Then list the configured remotes with:

just run list-remotes

And run the tests with:

just run test <remote name>

The output of the tests, metrics and logs are stored in a folder named results.

Note: if you are inside the devshell, or not using the OCI images, you don't need the word run (see the "Contributing" section below)

License

MIT License (c) 2023 Marmotidude and AUTHORS

Contributing

The easiest way to have a working developing environment is to use the provided dev-shell, using distrobox:

First assemble the distrobox with:

just assemble-dev

Then enter it with

just dev

To run the tests from inside the devshell use:

just test <remote name>

The devshell is a container with all the project tools installed, plus some extra developer tools like a code editor and a nice shell, to know more about this dev image see devshell.Dockerfile.

But you dont have to use it, feel free to install the tools used by this project:

Check Dockerfile for an up-to-date complete list.

Acknowledgments

  • Luizalabs / @kikoreis / @cprov: for sponsoring @fczuardi and for supporting an open culture
  • rclone: for being a powerful swiss army knife tool
  • Grafana / K6: for open sourcing tools and for fostering a community around them
  • NixOs: for planting the reproducible builds seeds
  • Universal Blue / @castrojo / Boxkit Alpine: for promoting usability, community-driven projects and showcasing nice tools
  • Microsoft / Github: for providing a great platform for developers for free

About

This project have been deprecated in favor of the new one: s3-tester and is no longer maintained. Collection of simple scripts to consume object storage APIs and gather metrics.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages