forked from TrueCloudLab/frostfs-http-gw
152 lines
5.3 KiB
Bash
152 lines
5.3 KiB
Bash
# Wallet section.
|
|
|
|
# Path to wallet.
|
|
HTTP_GW_WALLET_PATH=/path/to/wallet.json
|
|
# Account address. If omitted default one will be used.
|
|
HTTP_GW_WALLET_ADDRESS=NfgHwwTi3wHAS8aFAN243C5vGbkYDpqLHP
|
|
# Passphrase to decrypt wallet. If you're using a wallet without a password, place '' here.
|
|
HTTP_GW_WALLET_PASSPHRASE=pwd
|
|
|
|
# Enable metrics.
|
|
HTTP_GW_PPROF_ENABLED=true
|
|
HTTP_GW_PPROF_ADDRESS=localhost:8083
|
|
|
|
HTTP_GW_PROMETHEUS_ENABLED=true
|
|
HTTP_GW_PROMETHEUS_ADDRESS=localhost:8084
|
|
|
|
# Logger.
|
|
HTTP_GW_LOGGER_LEVEL=debug
|
|
HTTP_GW_LOGGER_SAMPLING_ENABLED=false
|
|
HTTP_GW_LOGGER_SAMPLING_INITIAL=100
|
|
HTTP_GW_LOGGER_SAMPLING_THEREAFTER=100
|
|
HTTP_GW_LOGGER_SAMPLING_INTERVAL=1s
|
|
|
|
HTTP_GW_SERVER_0_ADDRESS=0.0.0.0:443
|
|
HTTP_GW_SERVER_0_TLS_ENABLED=false
|
|
HTTP_GW_SERVER_0_TLS_CERT_FILE=/path/to/tls/cert
|
|
HTTP_GW_SERVER_0_TLS_KEY_FILE=/path/to/tls/key
|
|
HTTP_GW_SERVER_1_ADDRESS=0.0.0.0:444
|
|
HTTP_GW_SERVER_1_TLS_ENABLED=true
|
|
HTTP_GW_SERVER_1_TLS_CERT_FILE=/path/to/tls/cert
|
|
HTTP_GW_SERVER_1_TLS_KEY_FILE=/path/to/tls/key
|
|
|
|
# How often to reconnect to the servers
|
|
HTTP_GW_RECONNECT_INTERVAL: 1m
|
|
|
|
# Nodes configuration.
|
|
# This configuration make the gateway use the first node (grpc://s01.frostfs.devenv:8080)
|
|
# while it's healthy. Otherwise, the gateway use the second node (grpc://s01.frostfs.devenv:8080)
|
|
# for 10% of requests and the third node for 90% of requests.
|
|
|
|
# Peer 1.
|
|
# Endpoint.
|
|
HTTP_GW_PEERS_0_ADDRESS=grpc://s01.frostfs.devenv:8080
|
|
# Until nodes with the same priority level are healthy
|
|
# nodes with other priority are not used.
|
|
# The lower the value, the higher the priority.
|
|
HTTP_GW_PEERS_0_PRIORITY=1
|
|
# Load distribution proportion for nodes with the same priority.
|
|
HTTP_GW_PEERS_0_WEIGHT=1
|
|
# Peer 2.
|
|
HTTP_GW_PEERS_1_ADDRESS=grpc://s02.frostfs.devenv:8080
|
|
HTTP_GW_PEERS_1_PRIORITY=2
|
|
HTTP_GW_PEERS_1_WEIGHT=1
|
|
# Peer 3.
|
|
HTTP_GW_PEERS_2_ADDRESS=grpc://s03.frostfs.devenv:8080
|
|
HTTP_GW_PEERS_2_PRIORITY=2
|
|
HTTP_GW_PEERS_2_WEIGHT=9
|
|
|
|
# Per-connection buffer size for requests' reading.
|
|
# This also limits the maximum header size.
|
|
HTTP_GW_WEB_READ_BUFFER_SIZE=4096
|
|
# Per-connection buffer size for responses' writing.
|
|
HTTP_GW_WRITE_BUFFER_SIZE=4096
|
|
# ReadTimeout is the amount of time allowed to read
|
|
# the full request including body. The connection's read
|
|
# deadline is reset when the connection opens, or for
|
|
# keep-alive connections after the first byte has been read.
|
|
HTTP_GW_READ_TIMEOUT=10m
|
|
# WriteTimeout is the maximum duration before timing out
|
|
# writes of the response. It is reset after the request handler
|
|
# has returned.
|
|
HTTP_GW_WRITE_TIMEOUT=5m
|
|
# StreamRequestBody enables request body streaming,
|
|
# and calls the handler sooner when given body is
|
|
# larger then the current limit.
|
|
HTTP_GW_STREAM_REQUEST_BODY=true
|
|
# Maximum request body size.
|
|
# The server rejects requests with bodies exceeding this limit.
|
|
HTTP_GW_MAX_REQUEST_BODY_SIZE=4194304
|
|
|
|
# RPC endpoint to be able to use nns container resolving.
|
|
HTTP_GW_RPC_ENDPOINT=http://morph-chain.frostfs.devenv:30333
|
|
# The order in which resolvers are used to find an container id by name.
|
|
HTTP_GW_RESOLVE_ORDER="nns dns"
|
|
|
|
# Create timestamp for object if it isn't provided by header.
|
|
HTTP_GW_UPLOAD_HEADER_USE_DEFAULT_TIMESTAMP=false
|
|
|
|
# Timeout to dial node.
|
|
HTTP_GW_CONNECT_TIMEOUT=5s
|
|
# Timeout for individual operations in streaming RPC.
|
|
HTTP_GW_STREAM_TIMEOUT=10s
|
|
# Timeout to check node health during rebalance.
|
|
HTTP_GW_REQUEST_TIMEOUT=5s
|
|
# Interval to check nodes health.
|
|
HTTP_GW_REBALANCE_TIMER=30s
|
|
# The number of errors on connection after which node is considered as unhealthy
|
|
HTTP_GW_POOL_ERROR_THRESHOLD=100
|
|
|
|
# Enable zip compression to download files by common prefix.
|
|
HTTP_GW_ZIP_COMPRESSION=false
|
|
|
|
HTTP_GW_TRACING_ENABLED=true
|
|
HTTP_GW_TRACING_ENDPOINT="localhost:4317"
|
|
HTTP_GW_TRACING_EXPORTER="otlp_grpc"
|
|
HTTP_GW_TRACING_TRUSTED_CA=""
|
|
HTTP_GW_TRACING_ATTRIBUTES_0_KEY=key0
|
|
HTTP_GW_TRACING_ATTRIBUTES_0_VALUE=value
|
|
HTTP_GW_TRACING_ATTRIBUTES_1_KEY=key1
|
|
HTTP_GW_TRACING_ATTRIBUTES_1_VALUE=value
|
|
|
|
HTTP_GW_RUNTIME_SOFT_MEMORY_LIMIT=1073741824
|
|
|
|
# Parameters of requests to FrostFS
|
|
# This flag enables client side object preparing.
|
|
HTTP_GW_FROSTFS_CLIENT_CUT=false
|
|
# Sets max buffer size for read payload in put operations.
|
|
HTTP_GW_FROSTFS_BUFFER_MAX_SIZE_FOR_PUT=1048576
|
|
|
|
# Caching
|
|
# Cache which contains mapping of bucket name to bucket info
|
|
HTTP_GW_CACHE_BUCKETS_LIFETIME=1m
|
|
HTTP_GW_CACHE_BUCKETS_SIZE=1000
|
|
|
|
# Header to determine zone to resolve bucket name
|
|
HTTP_GW_RESOLVE_BUCKET_NAMESPACE_HEADER=X-Frostfs-Namespace
|
|
# Namespaces that should be handled as default
|
|
HTTP_GW_RESOLVE_BUCKET_DEFAULT_NAMESPACES="" "root"
|
|
|
|
# Max attempt to make successful tree request.
|
|
# default value is 0 that means the number of attempts equals to number of nodes in pool.
|
|
HTTP_GW_FROSTFS_TREE_POOL_MAX_ATTEMPTS=0
|
|
|
|
HTTP_GW_CORS_ALLOW_ORIGIN="*"
|
|
HTTP_GW_CORS_ALLOW_METHODS="GET" "POST"
|
|
HTTP_GW_CORS_ALLOW_HEADERS="*"
|
|
HTTP_GW_CORS_EXPOSE_HEADERS="*"
|
|
HTTP_GW_CORS_ALLOW_CREDENTIALS=false
|
|
HTTP_GW_CORS_MAX_AGE=600
|
|
|
|
# Multinet properties
|
|
# Enable multinet support
|
|
HTTP_GW_MULTINET_ENABLED=false
|
|
# Strategy to pick source IP address
|
|
HTTP_GW_MULTINET_BALANCER=roundrobin
|
|
# Restrict requests with unknown destination subnet
|
|
HTTP_GW_MULTINET_RESTRICT=false
|
|
# Delay between ipv6 to ipv4 fallback switch
|
|
HTTP_GW_MULTINET_FALLBACK_DELAY=300ms
|
|
# List of subnets and IP addresses to use as source for those subnets
|
|
HTTP_GW_MULTINET_SUBNETS_1_MASK=1.2.3.4/24
|
|
HTTP_GW_MULTINET_SUBNETS_1_SOURCE_IPS=1.2.3.4 1.2.3.5
|