FrostFS S3 Protocol Gateway with fuzzing tests
Find a file
Evgeniy Kulikov ef0e179b33 Fixes over bucket router
should work over {bucket}.{domain} and /{bucket}

Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
2020-12-10 18:13:28 +03:00
api Fixes over bucket router 2020-12-10 18:13:28 +03:00
cert Add posibility to serve HTTPS/TLS connection 2020-07-13 18:50:11 +03:00
cmd/gate Add listen-domains 2020-12-10 18:11:45 +03:00
misc Prepare to release 2020-12-02 12:46:51 +03:00
.dockerignore Initial commit based on https://github.com/minio/minio/releases/tag/RELEASE.2020-07-02T00-15-09Z 2020-07-03 15:03:06 +03:00
.gitignore Cleanup + Makefile + Dockerfile 2020-07-03 18:08:57 +03:00
Dockerfile Prepare to release 2020-12-02 12:46:51 +03:00
go.mod Migrate to CDN SDK release 2020-12-02 12:36:18 +03:00
go.sum Migrate to CDN SDK release 2020-12-02 12:36:18 +03:00
LICENSE Initial commit based on https://github.com/minio/minio/releases/tag/RELEASE.2020-07-02T00-15-09Z 2020-07-03 15:03:06 +03:00
Makefile Change ENV prefix 2020-12-01 10:56:02 +03:00
README.md Fix doc link 2020-12-02 12:49:57 +03:00

NeoFS S3 Gate

Example of configuration

# Flags
      --pprof                           enable pprof
      --metrics                         enable prometheus metrics
  -h, --help                            show help
  -v, --version                         show version
      --neofs-key string                set value to hex string, WIF string, or path to NeoFS private key file (use "generated" to generate key) (default "generated")
      --auth-key string                 set path to file with auth (curve25519) private key to use in auth scheme
      --verbose                         set debug mode of gRPC connections
      --request_timeout duration        set gRPC request timeout (default 15s)
      --connect_timeout duration        set gRPC connect timeout (default 30s)
      --rebalance_timer duration        set gRPC connection rebalance timer (default 15s)
      --max_clients_count int           set max-clients count (default 100)
      --max_clients_deadline duration   set max-clients deadline (default 30s)
      --listen_address string           set address to listen (default "0.0.0.0:8080")
  -p, --peers stringArray               set NeoFS nodes

# Environments

S3_GW_AUTH-KEY = 
S3_GW_NEOFS-KEY =
S3_GW_CONNECT_TIMEOUT = 30s
S3_GW_REBALANCE_TIMER = 15s
S3_GW_REQUEST_TIMEOUT = 15s
S3_GW_KEEPALIVE_PERMIT_WITHOUT_STREAM = true
S3_GW_KEEPALIVE_TIME = 10s
S3_GW_KEEPALIVE_TIMEOUT = 10s
S3_GW_LISTEN_ADDRESS = 0.0.0.0:8080
S3_GW_LOGGER_FORMAT = console
S3_GW_LOGGER_LEVEL = debug
S3_GW_LOGGER_NO_DISCLAIMER = true
S3_GW_LOGGER_SAMPLING_INITIAL = 1000
S3_GW_LOGGER_SAMPLING_THEREAFTER = 1000
S3_GW_LOGGER_TRACE_LEVEL = panic
S3_GW_MAX_CLIENTS_COUNT = 100
S3_GW_MAX_CLIENTS_DEADLINE = 30s
S3_GW_METRICS = false
S3_GW_PPROF = false
S3_GW_VERBOSE = false

# Peers preset

S3_GW_PEERS_[N]_ADDRESS = string
S3_GW_PEERS_[N]_WEIGHT = 0..1 (float)

Reference Resources

Bucket/Object-Level Actions

# Method Name Status
1 AbortMultipartUpload Unsupported
2 CompleteMultipartUpload Unsupported
3 CopyObject Supported
4 CopyObjectPart Unsupported
5 DeleteBucket Unsupported
6 DeleteBucketEncryption Unsupported
7 DeleteBucketLifecycle Unsupported
8 DeleteBucketPolicy Unsupported
9 DeleteBucketTagging Unsupported
10 DeleteBucketWebsite Unsupported
11 DeleteMultipleObjects Supported
12 DeleteObject Supported
13 DeleteObjectTagging Unsupported
14 GetBucketACL Unsupported
15 GetBucketAccelerate Supported
16 GetBucketCors Unsupported
17 GetBucketEncryption Unsupported
18 GetBucketLifecycle Unsupported
19 GetBucketLocation Unsupported
20 GetBucketLogging Unsupported
21 GetBucketNotification Unsupported
22 GetBucketObjectLockConfig Unsupported
23 GetBucketPolicy Unsupported
24 GetBucketReplication Unsupported
25 GetBucketRequestPayment Unsupported
26 GetBucketTagging Unsupported
27 GetBucketVersioning Unsupported
28 GetBucketWebsite Unsupported
29 GetObject Supported
30 GetObjectACL Unsupported
31 GetObjectLegalHold Unsupported
32 GetObjectRetention Unsupported
33 HeadBucket Supported
34 HeadObject Supported
35 ListBucketObjectVersions Unsupported
36 ListBuckets Supported
37 ListMultipartUploads Unsupported
38 ListObjectParts Unsupported
39 ListObjectsV1 Supported
40 ListObjectsV2 Supported
41 ListenBucketNotification Unsupported
42 NewMultipartUpload Unsupported
43 PostPolicyBucket Unsupported
44 PutBucket Unsupported
45 PutBucketACL Unsupported
46 PutBucketEncryption Unsupported
47 PutBucketLifecycle Unsupported
48 PutBucketNotification Unsupported
49 PutBucketObjectLockConfig Unsupported
50 PutBucketPolicy Unsupported
51 PutBucketTagging Unsupported
52 PutBucketVersioning Unsupported
53 PutObject Supported
54 PutObjectACL Unsupported
55 PutObjectLegalHold Unsupported
56 PutObjectPart Unsupported
57 PutObjectRetention Unsupported
58 PutObjectTagging Unsupported
59 SelectObjectContent Unsupported