minio icon indicating copy to clipboard operation
minio copied to clipboard

High Performance, Kubernetes Native Object Storage

Introduction

This is a fork base on MinIO RELEASE.2022-03-05T06-32-39Z version. We implemented the feature of JuiceFS as one of its gateway backend. This version supports full functionality of MinIO gateway such as multi-user management while using JuiceFS as a backend.

branch info

branch description
main base on JuiceFS main branch
gateway base on JuiceFS v1.0
Gateway-1.1 base on JuiceFS v1.1

Compile

Note: The gateway branch relies on a newer release version of JuiceFS. Please refer to the go.mod file for the specific JuiceFS version. If you want to use JuiceFS of the main line branch, please change the main branch of this repository.

$ git clone -b gateway [email protected]:juicedata/minio.git && cd minio

# Will generate a binary named minio
$ make build

# If you need juicefs to support ceph RADOS as an object store, you need to install librados-dev first and then run:
$ make build-ceph

Usage

The usage of this version of MinIO gateway is exactly the same as that of the native MinIO gateway. For the usage of native functions, please refer to MinIO's document, while JuiceFS's own configuration options can be passed in via the command line. You can use minio gateway juicefs -h to see all currently supported options.

Similar to the S3 gateway integrated with JuiceFS, the gateway service can be started with the following command:

$ export MINIO_ROOT_USER=admin
$ export MINIO_ROOT_PASSWORD=12345678
$ ./minio gateway juicefs --console-address ':59001' redis://localhost:6379

The port number of the S3 gateway console is explicitly specified here as 59001. If not specified, a port will be randomly selected. According to the command line prompt, open the http://127.0.0.1:59001 address in the browser to access the console.

For more infomation, please refer to https://juicefs.com/docs/community/s3_gateway.