Skip to content

S3 Verify is a tool to verify the Amazon s3 compatibility with signature V4 based object storage solutions.

License

Notifications You must be signed in to change notification settings

cloudberrylab/s3verify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# s3verify - A tool to test for Amazon S3 V4 Signature API Compatibility [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/minio/minio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Go Report Card](https://goreportcard.com/badge/minio/minio)](https://goreportcard.com/report/minio/minio) [![Build Status](https://travis-ci.org/minio/s3verify.svg?branch=master)](https://travis-ci.org/minio/s3verify)

s3verify performs a series of API calls against an object storage server and checks the responses for AWS S3 signature version 4 compatibility.

INSTALLATION

Prerequisites

From Source

Currently s3verify is only available to be downloaded from source.

$ go get -u github.com/minio/s3verify

CLI USAGE

$ s3verify [FLAGS]

Flags

s3verify implements the following flags:

    --help      -h      Prints the help screen.
    --access    -a      Allows user to input their AWS access key.
    --secret    -s      Allows user to input their AWS secret access key.
    --url       -u      Allows user to input the host URL of the server they wish to test.
    --region    -r      Allows user to change the region of the AWS host they are using. 
                        Defaults to 'us-east-1' for non AWS hosts and us-west-1 for AWS hosts
                        (to prevent propogation issues).
    --verbose   -v      Allows user to trace the HTTP requests and responses sent by s3verify.
    --extended          Allows user to decide whether to test only basic or full API compliance.
    --prepare           Allows user to create a unique, reusable testing environment before testing. 
                        Can be used with --id to uniquely identify an environment.
    --clean             Allows user to remove all s3verify created objects and buckets. 
    --id                Allows user to reuse an environment created by --prepare instead of freshly
                        creating a new environment.
    --version           Prints the version.

Environment Variables

s3verify also supports the following environment variables as a replacement for flags. In fact it is recommended that on multiuser systems that env. variables be used for security reasons.

The following env. variables can be used to replace their corresponding flags.

    S3_ACCESS can be set to YOUR_ACCESS_KEY and replaces --access -a.
    S3_SECRET can be set to YOUR_SECRET_KEY and replaces --secret -s.
    S3_REGION can be set to the region of the AWS host and replaces --region -r.
    S3_URL can be set to the host URL of the server users wish to test and replaces --url -u.

EXAMPLES

Use s3verify to check the AWS S3 V4 compatibility of the Minio test server (https://play.minio.io:9000)

$ s3verify -a YOUR_ACCESS_KEY -s YOUR_SECRET_KEY https://play.minio.io:9000 

Use s3verify to check the AWS S3 V4 compatibility of the Minio test server with all APIs.

$ s3verify -a YOUR_ACCESS_KEY -s YOUR_SECERT_KEY https://play.minio.io:9000 --extended

If a test fails you can use the verbose flag (--verbose) to check the request and response formed by the test to see where it failed.

$ s3verify -a YOUR_ACCESS_KEY -s YOUR_SECRET_KEY https://play.minio.io:9000 --verbose

Using --prepare and --id effectively to create an environment with a known label.

$ s3verify -a YOUR_ACCESS_KEY -s YOUR_SECRET_KEY https://play.minio.io:9000 --prepare --id my-test

$ s3verify -a YOUR_ACCESS_KEY -s YOUR_SECRET_KEY https://play.minio.io:9000 --id my-test

Removing a reuable, prepared environment.

$ s3verify -a YOUR_ACCESS_KEY -s YOUR_SECRET_KEY https://play.minio.io:9000 --clean my-test

About

S3 Verify is a tool to verify the Amazon s3 compatibility with signature V4 based object storage solutions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%