forked from TrueCloudLab/frostfs-s3-gw
Prepare to release
- set output for flag set - change env prefix for all environments - migrate to CDN SDK release v0.1.0 - update README Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
This commit is contained in:
parent
d7a36f2fb4
commit
709d9f37e8
5 changed files with 96 additions and 110 deletions
|
@ -24,7 +24,7 @@ RUN set -x \
|
||||||
-v \
|
-v \
|
||||||
-mod=vendor \
|
-mod=vendor \
|
||||||
-trimpath \
|
-trimpath \
|
||||||
-ldflags "${LDFLAGS} -X ${REPO}/misc.Prefix=S3_GW" \
|
-ldflags "${LDFLAGS}" \
|
||||||
-o /go/bin/neofs-s3 ./cmd/gate \
|
-o /go/bin/neofs-s3 ./cmd/gate \
|
||||||
&& upx -3 /go/bin/neofs-s3
|
&& upx -3 /go/bin/neofs-s3
|
||||||
|
|
||||||
|
|
119
README.md
119
README.md
|
@ -16,45 +16,104 @@
|
||||||
--rebalance_timer duration set gRPC connection rebalance timer (default 15s)
|
--rebalance_timer duration set gRPC connection rebalance timer (default 15s)
|
||||||
--max_clients_count int set max-clients count (default 100)
|
--max_clients_count int set max-clients count (default 100)
|
||||||
--max_clients_deadline duration set max-clients deadline (default 30s)
|
--max_clients_deadline duration set max-clients deadline (default 30s)
|
||||||
-t, --con_ttl duration set gRPC connection time to live (default 5m0s)
|
|
||||||
--listen_address string set address to listen (default "0.0.0.0:8080")
|
--listen_address string set address to listen (default "0.0.0.0:8080")
|
||||||
-p, --peers stringArray set NeoFS nodes
|
-p, --peers stringArray set NeoFS nodes
|
||||||
|
|
||||||
# Environments
|
# Environments
|
||||||
|
|
||||||
S3_AUTH-KEY =
|
S3_GW_AUTH-KEY =
|
||||||
S3_CON_TTL = 5m0s
|
S3_GW_NEOFS-KEY =
|
||||||
S3_CONNECT_TIMEOUT = 30s
|
S3_GW_CONNECT_TIMEOUT = 30s
|
||||||
S3_KEEPALIVE_PERMIT_WITHOUT_STREAM = true
|
S3_GW_REBALANCE_TIMER = 15s
|
||||||
S3_KEEPALIVE_TIME = 10s
|
S3_GW_REQUEST_TIMEOUT = 15s
|
||||||
S3_KEEPALIVE_TIMEOUT = 10s
|
S3_GW_KEEPALIVE_PERMIT_WITHOUT_STREAM = true
|
||||||
S3_LISTEN_ADDRESS = 0.0.0.0:8080
|
S3_GW_KEEPALIVE_TIME = 10s
|
||||||
S3_LOGGER_FORMAT = console
|
S3_GW_KEEPALIVE_TIMEOUT = 10s
|
||||||
S3_LOGGER_LEVEL = debug
|
S3_GW_LISTEN_ADDRESS = 0.0.0.0:8080
|
||||||
S3_LOGGER_NO_DISCLAIMER = true
|
S3_GW_LOGGER_FORMAT = console
|
||||||
S3_LOGGER_SAMPLING_INITIAL = 1000
|
S3_GW_LOGGER_LEVEL = debug
|
||||||
S3_LOGGER_SAMPLING_THEREAFTER = 1000
|
S3_GW_LOGGER_NO_DISCLAIMER = true
|
||||||
S3_LOGGER_TRACE_LEVEL = panic
|
S3_GW_LOGGER_SAMPLING_INITIAL = 1000
|
||||||
S3_MAX_CLIENTS_COUNT = 100
|
S3_GW_LOGGER_SAMPLING_THEREAFTER = 1000
|
||||||
S3_MAX_CLIENTS_DEADLINE = 30s
|
S3_GW_LOGGER_TRACE_LEVEL = panic
|
||||||
S3_METRICS = false
|
S3_GW_MAX_CLIENTS_COUNT = 100
|
||||||
S3_NEOFS-KEY = generated
|
S3_GW_MAX_CLIENTS_DEADLINE = 30s
|
||||||
S3_PPROF = false
|
S3_GW_METRICS = false
|
||||||
S3_REBALANCE_TIMER = 15s
|
S3_GW_PPROF = false
|
||||||
S3_REQUEST_TIMEOUT = 15s
|
S3_GW_VERBOSE = false
|
||||||
S3_VERBOSE = false
|
|
||||||
|
|
||||||
# Peers preset
|
# Peers preset
|
||||||
|
|
||||||
S3_PEERS_[N]_ADDRESS = string
|
S3_GW_PEERS_[N]_ADDRESS = string
|
||||||
S3_PEERS_[N]_WEIGHT = 0..1 (float)
|
S3_GW_PEERS_[N]_WEIGHT = 0..1 (float)
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
## Reference Resources
|
||||||
<footer>
|
|
||||||
|
|
||||||
#### MinIO Fork
|
* [AWS S3 API Reference]("https://docs.aws.amazon.com/AmazonS3/latest/API/s3-api.pdf")
|
||||||
|
|
||||||
Forked from https://github.com/minio/minio (https://github.com/minio/minio/releases/tag/RELEASE.2020-07-02T00-15-09Z)
|
|
||||||
|
|
||||||
</footer>
|
### 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 |
|
||||||
|
|
||||||
|
|
|
@ -137,6 +137,7 @@ func newSettings() *viper.Viper {
|
||||||
|
|
||||||
// flags setup:
|
// flags setup:
|
||||||
flags := pflag.NewFlagSet("commandline", pflag.ExitOnError)
|
flags := pflag.NewFlagSet("commandline", pflag.ExitOnError)
|
||||||
|
flags.SetOutput(os.Stdout)
|
||||||
flags.SortFlags = false
|
flags.SortFlags = false
|
||||||
|
|
||||||
flags.Bool(cfgEnableProfiler, false, "enable pprof")
|
flags.Bool(cfgEnableProfiler, false, "enable pprof")
|
||||||
|
|
|
@ -1,75 +0,0 @@
|
||||||
## Intro
|
|
||||||
|
|
||||||
NeoFS S3 Gate is largely based on [MinIO]("https://min.io") codebase and therefore inherits its basic API, except cases where NeoFS functionality fails to be mapped reasonably.
|
|
||||||
|
|
||||||
## Reference Resources
|
|
||||||
|
|
||||||
* [MinIO SDK Client Reference]("https://docs.min.io/docs/golang-client-api-reference.html")
|
|
||||||
|
|
||||||
* [AWS S3 API Reference]("https://docs.aws.amazon.com/AmazonS3/latest/API/s3-api.pdf")
|
|
||||||
|
|
||||||
|
|
||||||
### 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 | Unsupported (issue #26) |
|
|
||||||
| 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 | Unsupported (isuue #XX) |
|
|
||||||
| 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 |
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
package misc
|
package misc
|
||||||
|
|
||||||
const ApplicationName = "neofs-s3-gate"
|
const (
|
||||||
|
ApplicationName = "neofs-s3-gate"
|
||||||
|
|
||||||
|
Prefix = "S3_GW"
|
||||||
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// TODO should be replaced with S3_GW before release
|
|
||||||
Prefix = "S3"
|
|
||||||
|
|
||||||
Build = "now"
|
Build = "now"
|
||||||
Version = "dev"
|
Version = "dev"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue