FrostFS S3 Protocol Gateway
 
 
 
Go to file
Angira Kekteeva a0a04a73bd [#347] Add setEACL session token checks
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-04-20 12:42:33 +03:00
.github/workflows [#265] Add go 1.17 to run tests 2021-12-27 13:08:14 +03:00
api [#347] Add setEACL session token checks 2022-04-20 12:42:33 +03:00
authmate [#382] Refactor neofs related types 2022-03-31 11:47:24 +03:00
cmd [#396] Rename rpc-endpoint and resolve-order 2022-04-18 11:58:54 +03:00
config [#396] Rename rpc-endpoint and resolve-order 2022-04-18 11:58:54 +03:00
creds [#382] Refactor neofs related types 2022-03-31 11:47:24 +03:00
docs [#396] Rename rpc-endpoint and resolve-order 2022-04-18 11:58:54 +03:00
internal [#365] Update SDK 2022-04-08 17:12:52 +03:00
.dockerignore
.gitignore
.golangci.yml [#272] Replace golint by revive 2021-10-01 12:25:54 +03:00
CHANGELOG.md Release v0.19.0 2022-03-16 15:44:19 +03:00
Dockerfile
LICENSE [#264] Change NeoFS S3 Gateway license to AGPLv3 2021-09-20 10:38:28 +03:00
Makefile [#287] Add version 2021-12-07 11:12:54 +03:00
README.md [#150] Add S3 compatibility test results 2021-08-24 15:33:45 +03:00
VERSION [#287] Add version 2021-12-07 11:12:54 +03:00
go.mod [#365] Update SDK 2022-04-08 17:12:52 +03:00
go.sum [#365] Update SDK 2022-04-08 17:12:52 +03:00
help.mk
updateTestsResult.sh [#304] Add update of results for chosen storage 2022-01-17 12:49:57 +03:00

README.md

NeoFS S3 Gateway

NeoFS S3 gateway provides API compatible with Amazon S3 cloud storage service.

Installation

go get -u github.com/nspcc-dev/neofs-s3-gw

Or you can call make to build it from the cloned repository (the binary will end up in bin/neofs-s3-gw with authmate helper in bin/neofs-authmate).

Notable make targets:

dep          Check and ensure dependencies
image        Build clean docker image
dirty-image  Build dirty docker image with host-built binaries
format       Run all code formatters
lint         Run linters
version      Show current version

Or you can also use a Docker image provided for released (and occasionally unreleased) versions of gateway (:latest points to the latest stable release).

Execution

Minimalistic S3 gateway setup needs:

  • NeoFS node(s) address (S3 gateway itself is not a NeoFS node) Passed via -p parameter or via S3_GW_PEERS_<N>_ADDRESS and S3_GW_PEERS_<N>_WEIGHT environment variables (gateway supports multiple NeoFS nodes with weighted load balancing).
  • a wallet used to fetch key and communicate with NeoFS nodes Passed via --wallet parameter or S3_GW_WALLET environment variable.

These two commands are functionally equivalent, they run the gate with one backend node, some keys and otherwise default settings:

$ neofs-s3-gw -p 192.168.130.72:8080 --wallet wallet.json

$ S3_GW_PEERS_0_ADDRESS=192.168.130.72:8080 \
  S3_GW_WALLET=wallet.json \
  neofs-s3-gw

It's also possible to specify uri scheme (grpc or grpcs) when using -p or environment variables:

$ neofs-s3-gw -p grpc://192.168.130.72:8080 --wallet wallet.json

$ S3_GW_PEERS_0_ADDRESS=grpcs://192.168.130.72:8080 \
  S3_GW_WALLET=wallet.json \
  neofs-s3-gw

Documentation