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 \
|
||||
-mod=vendor \
|
||||
-trimpath \
|
||||
-ldflags "${LDFLAGS} -X ${REPO}/misc.Prefix=S3_GW" \
|
||||
-ldflags "${LDFLAGS}" \
|
||||
-o /go/bin/neofs-s3 ./cmd/gate \
|
||||
&& upx -3 /go/bin/neofs-s3
|
||||
|
||||
|
|
117
README.md
117
README.md
|
@ -16,45 +16,104 @@
|
|||
--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)
|
||||
-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")
|
||||
-p, --peers stringArray set NeoFS nodes
|
||||
|
||||
# Environments
|
||||
|
||||
S3_AUTH-KEY =
|
||||
S3_CON_TTL = 5m0s
|
||||
S3_CONNECT_TIMEOUT = 30s
|
||||
S3_KEEPALIVE_PERMIT_WITHOUT_STREAM = true
|
||||
S3_KEEPALIVE_TIME = 10s
|
||||
S3_KEEPALIVE_TIMEOUT = 10s
|
||||
S3_LISTEN_ADDRESS = 0.0.0.0:8080
|
||||
S3_LOGGER_FORMAT = console
|
||||
S3_LOGGER_LEVEL = debug
|
||||
S3_LOGGER_NO_DISCLAIMER = true
|
||||
S3_LOGGER_SAMPLING_INITIAL = 1000
|
||||
S3_LOGGER_SAMPLING_THEREAFTER = 1000
|
||||
S3_LOGGER_TRACE_LEVEL = panic
|
||||
S3_MAX_CLIENTS_COUNT = 100
|
||||
S3_MAX_CLIENTS_DEADLINE = 30s
|
||||
S3_METRICS = false
|
||||
S3_NEOFS-KEY = generated
|
||||
S3_PPROF = false
|
||||
S3_REBALANCE_TIMER = 15s
|
||||
S3_REQUEST_TIMEOUT = 15s
|
||||
S3_VERBOSE = false
|
||||
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_PEERS_[N]_ADDRESS = string
|
||||
S3_PEERS_[N]_WEIGHT = 0..1 (float)
|
||||
S3_GW_PEERS_[N]_ADDRESS = string
|
||||
S3_GW_PEERS_[N]_WEIGHT = 0..1 (float)
|
||||
```
|
||||
|
||||
---
|
||||
<footer>
|
||||
## Reference Resources
|
||||
|
||||
#### 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 := pflag.NewFlagSet("commandline", pflag.ExitOnError)
|
||||
flags.SetOutput(os.Stdout)
|
||||
flags.SortFlags = false
|
||||
|
||||
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
|
||||
|
||||
const ApplicationName = "neofs-s3-gate"
|
||||
const (
|
||||
ApplicationName = "neofs-s3-gate"
|
||||
|
||||
Prefix = "S3_GW"
|
||||
)
|
||||
|
||||
var (
|
||||
// TODO should be replaced with S3_GW before release
|
||||
Prefix = "S3"
|
||||
|
||||
Build = "now"
|
||||
Version = "dev"
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue