forked from TrueCloudLab/frostfs-http-gw
174 lines
4.8 KiB
YAML
174 lines
4.8 KiB
YAML
wallet:
|
|
path: /path/to/wallet.json # Path to wallet.
|
|
address: NfgHwwTi3wHAS8aFAN243C5vGbkYDpqLHP # Account address. If omitted default one will be used.
|
|
passphrase: pwd # Passphrase to decrypt wallet. If you're using a wallet without a password, place '' here.
|
|
|
|
pprof:
|
|
enabled: false # Enable pprof.
|
|
address: localhost:8083
|
|
prometheus:
|
|
enabled: false # Enable metrics.
|
|
address: localhost:8084
|
|
|
|
tracing:
|
|
enabled: true
|
|
exporter: "otlp_grpc"
|
|
endpoint: "localhost:4317"
|
|
trusted_ca: ""
|
|
attributes:
|
|
- key: key0
|
|
value: value
|
|
- key: key1
|
|
value: value
|
|
|
|
logger:
|
|
level: debug # Log level.
|
|
destination: stdout
|
|
sampling:
|
|
enabled: false
|
|
initial: 100
|
|
thereafter: 100
|
|
interval: 1s
|
|
|
|
server:
|
|
- address: 0.0.0.0:8080
|
|
tls:
|
|
enabled: false
|
|
cert_file: /path/to/cert
|
|
key_file: /path/to/key
|
|
- address: 0.0.0.0:8081
|
|
tls:
|
|
enabled: false
|
|
cert_file: /path/to/cert
|
|
key_file: /path/to/key
|
|
|
|
# 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.
|
|
peers:
|
|
0:
|
|
# Endpoint.
|
|
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.
|
|
priority: 1
|
|
|
|
# Load distribution proportion for nodes with the same priority.
|
|
weight: 1
|
|
1:
|
|
address: grpc://s02.frostfs.devenv:8080
|
|
priority: 2
|
|
weight: 1
|
|
2:
|
|
address: grpc://s03.frostfs.devenv:8080
|
|
priority: 2
|
|
weight: 9
|
|
|
|
reconnect_interval: 1m
|
|
|
|
web:
|
|
# Per-connection buffer size for requests' reading.
|
|
# This also limits the maximum header size.
|
|
read_buffer_size: 4096
|
|
|
|
# Per-connection buffer size for responses' writing.
|
|
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.
|
|
read_timeout: 10m
|
|
|
|
# WriteTimeout is the maximum duration before timing out
|
|
# writes of the response. It is reset after the request handler
|
|
# has returned.
|
|
write_timeout: 5m
|
|
|
|
# StreamRequestBody enables request body streaming,
|
|
# and calls the handler sooner when given body is
|
|
# larger then the current limit.
|
|
stream_request_body: true
|
|
|
|
# Maximum request body size.
|
|
# The server rejects requests with bodies exceeding this limit.
|
|
max_request_body_size: 4194304
|
|
|
|
# RPC endpoint to be able to use nns container resolving.
|
|
rpc_endpoint: http://morph-chain.frostfs.devenv:30333
|
|
# The order in which resolvers are used to find an container id by name.
|
|
resolve_order:
|
|
- nns
|
|
- dns
|
|
|
|
upload_header:
|
|
use_default_timestamp: false # Create timestamp for object if it isn't provided by header.
|
|
|
|
connect_timeout: 5s # Timeout to dial node.
|
|
stream_timeout: 10s # Timeout for individual operations in streaming RPC.
|
|
request_timeout: 5s # Timeout to check node health during rebalance.
|
|
rebalance_timer: 30s # Interval to check nodes health.
|
|
pool_error_threshold: 100 # The number of errors on connection after which node is considered as unhealthy.
|
|
|
|
# Number of workers in handler's worker pool
|
|
worker_pool_size: 1000
|
|
|
|
# Enable index page to see objects list for specified container and prefix
|
|
index_page:
|
|
enabled: false
|
|
template_path: internal/handler/templates/index.gotmpl
|
|
|
|
archive:
|
|
compression: false # Enable archive compression to download files by common prefix.
|
|
|
|
runtime:
|
|
soft_memory_limit: 1gb
|
|
|
|
# Parameters of requests to FrostFS
|
|
frostfs:
|
|
# This flag enables client side object preparing.
|
|
client_cut: false
|
|
# Sets max buffer size for read payload in put operations.
|
|
buffer_max_size_for_put: 1048576
|
|
# Max attempt to make successful tree request.
|
|
# default value is 0 that means the number of attempts equals to number of nodes in pool.
|
|
tree_pool_max_attempts: 0
|
|
|
|
# Caching
|
|
cache:
|
|
# Cache which contains mapping of bucket name to bucket info
|
|
buckets:
|
|
lifetime: 1m
|
|
size: 1000
|
|
|
|
resolve_bucket:
|
|
namespace_header: X-Frostfs-Namespace
|
|
default_namespaces: [ "", "root" ]
|
|
|
|
cors:
|
|
allow_origin: ""
|
|
allow_methods: []
|
|
allow_headers: []
|
|
expose_headers: []
|
|
allow_credentials: false
|
|
max_age: 600
|
|
|
|
# Multinet properties
|
|
multinet:
|
|
# Enable multinet support
|
|
enabled: false
|
|
# Strategy to pick source IP address
|
|
balancer: roundrobin
|
|
# Restrict requests with unknown destination subnet
|
|
restrict: false
|
|
# Delay between ipv6 to ipv4 fallback switch
|
|
fallback_delay: 300ms
|
|
# List of subnets and IP addresses to use as source for those subnets
|
|
subnets:
|
|
- mask: 1.2.3.4/24
|
|
source_ips:
|
|
- 1.2.3.4
|
|
- 1.2.3.5
|