diff --git a/cmd/versitygw/main.go b/cmd/versitygw/main.go index bed7ab0f..aea7d60b 100644 --- a/cmd/versitygw/main.go +++ b/cmd/versitygw/main.go @@ -382,7 +382,7 @@ func initFlags() []cli.Flag { }, &cli.BoolFlag{ Name: "keep-alive", - Usage: "enable keep-alive connections (for finnicky clients)", + Usage: "enable keep-alive connections", EnvVars: []string{"VGW_KEEP_ALIVE"}, Destination: &keepAlive, }, diff --git a/extra/example.conf b/extra/example.conf index 86c4d5db..d5d2d866 100644 --- a/extra/example.conf +++ b/extra/example.conf @@ -76,6 +76,16 @@ ROOT_SECRET_ACCESS_KEY= # (e.g., VGW_PORT=:7070,/run/vgw/s3.sock). #VGW_PORT=:7070 +# The VGW_MAX_CONNECTIONS option sets the maximum number of concurrent +# connections the S3 server may serve simultaneously. Connections beyond this +# limit are refused at the TCP level; clients will receive a connection error. +#VGW_MAX_CONNECTIONS=250000 + +# The VGW_MAX_REQUESTS option sets the maximum number of in-flight requests +# the S3 server may process simultaneously. Requests beyond this limit are +# rejected with an S3 SlowDown error (HTTP 503). +#VGW_MAX_REQUESTS=100000 + # The VGW_REGION option will specify the region that the S3 server will # report to clients. This option is optional, and defaults to "us-east-1". #VGW_REGION=us-east-1 @@ -102,6 +112,16 @@ ROOT_SECRET_ACCESS_KEY= #VGW_ADMIN_CERT= #VGW_ADMIN_CERT_KEY= +# The VGW_ADMIN_MAX_CONNECTIONS option sets the maximum number of concurrent +# connections the admin server may serve simultaneously. Connections beyond +# this limit are refused at the TCP level; clients will receive a connection error. +#VGW_ADMIN_MAX_CONNECTIONS=250000 + +# The VGW_ADMIN_MAX_REQUESTS option sets the maximum number of in-flight +# requests the admin server may process simultaneously. Requests beyond this +# limit are rejected with an S3 SlowDown error (HTTP 503). +#VGW_ADMIN_MAX_REQUESTS=100000 + # The VGW_SOCKET_PERM option sets the file-mode permissions for file-backed # UNIX domain sockets created by the S3, admin, and WebUI servers. The value # must be an octal integer (e.g. 0660 to allow owner and group read/write @@ -114,6 +134,11 @@ ROOT_SECRET_ACCESS_KEY= # logging to stdout. #VGW_QUIET=false +# The VGW_KEEP_ALIVE option enables HTTP keep-alive connections. This is +# disabled by default, but can be useful for clients that require persistent +# connections. +#VGW_KEEP_ALIVE=false + # The VGW_HEALTH option when set will specify the URL to accept health checks # on. The health check endpoint is often used for load balancers to verify # gateway is alive. The health endpoint masks any bucket with this setting. @@ -180,6 +205,11 @@ ROOT_SECRET_ACCESS_KEY= # https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html. #VGW_ACCESS_LOG= +# The VGW_ADMIN_ACCESS_LOG option when set will specify the file to log all +# admin server requests to. When not set, admin requests are logged to the +# same file as the S3 server (VGW_ACCESS_LOG) if that is configured. +#VGW_ADMIN_ACCESS_LOG= + # The VGW_LOG_WEBHOOK_URL option when set will specify the URL to send the # S3 server request access logs to. The access logs are JSON encoded when # sent to the webhook. @@ -376,6 +406,11 @@ ROOT_SECRET_ACCESS_KEY= # "localhost:6060". #VGW_PPROF= +# The VGW_IAM_DEBUG option enables verbose debug output for IAM operations. +# This is generally only useful for debugging IAM service connectivity and +# authentication issues, and should not be used in production. +#VGW_IAM_DEBUG=false + ################ # IAM services # ################ @@ -399,8 +434,12 @@ ROOT_SECRET_ACCESS_KEY= # used to authenticate the gateway to the Vault server. See wiki documentation # for an example of using Vault in dev mode with the gateway. #VGW_IAM_VAULT_ENDPOINT_URL= +#VGW_IAM_VAULT_NAMESPACE= #VGW_IAM_VAULT_SECRET_STORAGE_PATH= +#VGW_IAM_VAULT_SECRET_STORAGE_NAMESPACE= #VGW_IAM_VAULT_MOUNT_PATH= +#VGW_IAM_VAULT_AUTH_METHOD= +#VGW_IAM_VAULT_AUTH_NAMESPACE= #VGW_IAM_VAULT_ROOT_TOKEN= #VGW_IAM_VAULT_ROLE_ID= #VGW_IAM_VAULT_ROLE_SECRET= @@ -557,6 +596,12 @@ ROOT_SECRET_ACCESS_KEY= # with this. #VGW_META_NONE=false +# The VGW_POSIX_CONCURRENCY option sets the maximum number of concurrent +# actions the posix backend may perform simultaneously. Increasing this value +# may improve throughput on high-core-count systems at the cost of additional +# memory use. +#VGW_POSIX_CONCURRENCY=5000 + # The gateway will use O_TMPFILE for writing objects while uploading and # link the file to the final object name when the upload is complete if the # filesystem supports O_TMPFILE. This creates an atomic object creation @@ -572,6 +617,12 @@ ROOT_SECRET_ACCESS_KEY= # than O_TMPFILE when the data needs to be copied into the final location. #VGW_DISABLE_OTMP=false +# The VGW_DISABLE_COPY_FILE_RANGE option disables use of the copy_file_range +# syscall when assembling multipart upload parts. This can be necessary when +# the backend filesystem has buggy behavior with copy_file_range() such as some +# NFS servers that may hang on this call. +#VGW_DISABLE_COPY_FILE_RANGE=false + # The VGW_DEFAULT_ETAG option sets the ETag value returned for objects that do # not have a stored etag attribute. This applies to files that were placed on # the filesystem outside of versitygw and therefore lack S3 metadata. Some S3