Skip to content

Instantly share code, notes, and snippets.

@teotikalki
Created June 7, 2016 20:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save teotikalki/cb20c359a7a8d0e0c4c1c3a4f61d3a3c to your computer and use it in GitHub Desktop.
Save teotikalki/cb20c359a7a8d0e0c4c1c3a4f61d3a3c to your computer and use it in GitHub Desktop.
##======================================================================
## LeoFS - Gateway Configuration v1.1.0
##
## See: http://leo-project.net/leofs/docs/configuration/configuration_3.html
##======================================================================
## --------------------------------------------------------------------
## SASL
## --------------------------------------------------------------------
## See: http://www.erlang.org/doc/man/sasl_app.html
##
## The following configuration parameters are defined for
## the SASL application. See app(4) for more information
## about configuration parameters
## SASL error log path
## sasl.sasl_error_log = ./log/sasl/sasl-error.log
## Restricts the error logging performed by the specified sasl_error_logger
## to error reports, progress reports, or both.
## errlog_type = [error | progress | all]
## sasl.errlog_type = error
## Specifies in which directory the files are stored.
## If this parameter is undefined or false, the error_logger_mf_h is not installed.
## sasl.error_logger_mf_dir = ./log/sasl
## Specifies how large each individual file can be.
## If this parameter is undefined, the error_logger_mf_h is not installed.
## sasl.error_logger_mf_maxbytes = 10485760
## Specifies how many files are used.
## If this parameter is undefined, the error_logger_mf_h is not installed.
## sasl.error_logger_mf_maxfiles = 5
## --------------------------------------------------------------------
## Manager's Node(s)
## --------------------------------------------------------------------
## Name of Manager node(s)
managers = [manager0@10.9.2.40, manager1@10.9.2.43]
## --------------------------------------------------------------------
## GATEWAY Protocol
## --------------------------------------------------------------------
## Gateway Protocol to use: [s3 | rest | embed | nfs]
protocol = s3
## --------------------------------------------------------------------
## GATEWAY - HTTP-related configurations
## --------------------------------------------------------------------
## Port number the Gateway uses for HTTP connections
http.port = 80
## Numbers of processes listening for connections
http.num_of_acceptors = 128
## Maximum number of requests allowed in a single keep-alive session
http.max_keepalive = 4096
## Maximum number of virtual directories
## http.layer_of_dirs = 12
## Port number the Gateway uses for HTTPS connections
http.ssl_port = 443
## SSL Certificate file
http.ssl_certfile = ./etc/server_cert.pem
## SSL key
http.ssl_keyfile = ./etc/server_key.pem
## HTTP custom header configuration file path
## http.headers_config_file = ./etc/http_custom_header.conf
## HTTP timeout for reading header
## http.timeout_for_header = 5000
## HTTP timeout for reading body
## http.timeout_for_body = 15000
## Synchronized time of a bucket property (second)
bucket_prop_sync_interval = 300
## --------------------------------------------------------------------
## GATEWAY - NFS-related configurations
## --------------------------------------------------------------------
## Mountd's port number
## nfs.mountd.port = 22050
## Mountd's the number of acceptors
## nfs.mountd.acceptors = 128
## NFSd's port number
## nfs.nfsd.port = 2049
## NFSd's the number of acceptors
## nfs.nfsd.acceptors = 128
## --------------------------------------------------------------------
## GATEWAY - Large Object
## --------------------------------------------------------------------
## Total number of chunked objects
large_object.max_chunked_objs = 100000
## Length of a chunked object
large_object.chunked_obj_len = 5242880
## Threshold of length of a chunked object
large_object.threshold_of_chunk_len = 5767168
## Reading length of a chuncked object
## * If happening timeout when copying a large object,
## you will solve to set this value as less than 5MB.
## * default: "large_object.chunked_obj_len" (5242880 - 5MB)
large_object.reading_chunked_obj_len = 5242880
## --------------------------------------------------------------------
## GATEWAY - Cache
## --------------------------------------------------------------------
## If this parameter is 'true', Gateway turns on HTTP-based cache server, like Varnish OR Squid.
## If this parameter is 'false', Stores objects into the Gateway’s memory.
## When operating READ, the Etag of the cache is compared with a backend storage’s Etag.
## cache.http_cache = false
## A number of cache workers
## cache.cache_workers = 16
## Memory cache capacity in bytes
cache.cache_ram_capacity = 268435456
## Disk cache capacity in bytes
cache.cache_disc_capacity = 524288000
## When the length of the object exceeds this value, store the object on disk
cache.cache_disc_threshold_len = 1048576
## Directory for the disk cache data
cache.cache_disc_dir_data = /var/db/leo_gateway/cache/data
## Directory for the disk cache journal
cache.cache_disc_dir_journal = /var/db/leo_gateway/cache/journal
## Cache Expire in seconds
cache.cache_expire = 300
## Cache Max Content Length in bytes
cache.cache_max_content_len = 1048576
## Cache Content Type(s)
## In case of "empty", all objects are cached.
## cache.cachable_content_type =
## Cache Path Pattern(s) (regular expression)
## In case of "empty", all objects are cached.
## cache.cachable_path_pattern =
## --------------------------------------------------------------------
## GATEWAY - Watchdog
## --------------------------------------------------------------------
##
## Watchdog.REX(RPC)
##
## Is rex -watchdog enabled - default:false
## watchdog.rex.is_enabled = true
## rex - watch interval - default:5sec
## watchdog.rex.interval = 5
## Threshold memory capacity of binary for rex(rpc) - default:32MB
watchdog.rex.threshold_mem_capacity = 33554432
##
## Watchdog.CPU
##
## Is cpu-watchdog enabled - default:false
## watchdog.cpu.is_enabled = true
## cpu - raised error times
## watchdog.cpu.raised_error_times = 3
## cpu - watch interval - default:5sec
## watchdog.cpu.interval = 5
## Threshold CPU load avg for 1min/5min - default:5.0
## watchdog.cpu.threshold_cpu_load_avg = 5.0
## Threshold CPU load util - default:100 = "100%"
## watchdog.cpu.threshold_cpu_util = 100
##
## Watchdog.Erlang IO
##
## Is io-watchdog enabled - default:false
## watchdog.io.is_enabled = true
## io - watch interval - default:1sec
## watchdog.io.interval = 1
## Threshold input size/sec - default:128MB/sec
## watchdog.io.threshold_input_per_sec = 134217728
## Threshold output size/sec - default:128MB/sec
## watchdog.io.threshold_output_per_sec = 134217728
## --------------------------------------------------------------------
## GATEWAY - Timeout
## --------------------------------------------------------------------
## Timeout value when requesting to a storage
## 0 to 65,535 bytes
## timeout.level_1 = 5000
## 65,535 to 131,071 bytes
## timeout.level_2 = 7000
## 131,072 to 524,287 bytes
## timeout.level_3 = 10000
## 524,288 to 1,048,576 bytes
## timeout.level_4 = 20000
## 1,048,576 bytes and over
## timeout.level_5 = 30000
## Timeout value when requesting a GET to a storage
## timeout.get = 30000
## Timeout value when requesting a LS(find_by_parent_dir) to a storage
## timeout.ls = 30000
## --------------------------------------------------------------------
## GATEWAY - Log
## --------------------------------------------------------------------
##
## Log level: [0:debug, 1:info, 2:warn, 3:error]
## log.log_level = 1
## Is enable access-log [true, false]
## log.is_enable_access_log = false
## Output log file(s) - Erlang's log
log.erlang = /var/log/leo_gateway/erlang
## Output log file(s) - app
log.app = /var/log/leo_gateway/app
## Output log file(s) - members of storage-cluster
log.member_dir = /var/log/leo_gateway/ring
## Output log file(s) - ring
log.ring_dir = /var/log/leo_gateway/ring
## --------------------------------------------------------------------
## GATEWAY - Other Directories
## --------------------------------------------------------------------
## Directory of queue for monitoring "RING"
queue_dir = /var/db/leo_gateway/queue
## Directory of SNMP agent configuration
## snmp_agent = ./snmp/snmpa_gateway_0/LEO-GATEWAY
## --------------------------------------------------------------------
## QoS
## --------------------------------------------------------------------
## Enable QoS for statistics
## qos.stat.is_enable = false
## Enable QoS for notification
## qos.notify.is_enable = false
## Savanna Manager's nodes
## qos.managers = [savanna_manager_0@10.9.2.40, savanna_manager_1@10.9.2.40]
## --------------------------------------------------------------------
## Other Libs
## --------------------------------------------------------------------
## Enable profiler - leo_backend_db
## leo_backend_db.profile = false
## Enable profiler - leo_logger
## leo_logger.profile = false
## Enable profiler - leo_mq
## leo_mq.profile = false
## Enable profiler - leo_redundant_manager
## leo_redundant_manager.profile = false
## Enable profiler - leo_statistics
## leo_statistics.profile = false
##======================================================================
## For vm.args
##======================================================================
## Name of the leofs-gateway node
nodename = gateway0@10.9.2.40
## Cookie for distributed node communication. All nodes in the same cluster
## should use the same cookie or they will not be able to communicate.
distributed_cookie = nX+qeJPIitwaWCe9
## Enable kernel poll
erlang.kernel_poll = true
## Number of async threads
erlang.asyc_threads = 32
## Increase number of concurrent ports/sockets
erlang.max_ports = 64000
## Set the location of crash dumps
erlang.crash_dump = /var/log/leo_gateway/erl_crash.dump
## Raise the ETS table limit
erlang.max_ets_tables = 256000
## Enable SMP
erlang.smp = enable
## Erlang scheduler's compaction of load
erlang.schedulers.compaction_of_load = true
## Erlang scheduler's balancing of load
erlang.schedulers.utilization_balancing = false
## Sender-side network distribution buffer size
## - default 32MB (32768KB)
erlang.distribution_buffer_size = 32768
## A non-negative integer which indicates
## how many times generational garbage collections
## can be done without forcing a fullsweep collection
erlang.fullsweep_after = 0
## Enable eager check I/O
erlang.secio = false
## Raise the default erlang process limit
process_limit = 1048576
## Path of SNMP-agent configuration
## snmp_conf = ./snmp/snmpa_gateway_0/leo_gateway_snmp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment