2020-02-07 16:36:28 +00:00
# admin peer http listening address
# admin.address: ""
2019-09-05 16:40:52 +01:00
# how often to run the reservoir chore
# audit.chore-interval: 24h0m0s
2019-05-07 22:20:04 +01:00
# max number of times to attempt updating a statdb batch
2019-05-08 13:14:00 +01:00
# audit.max-retries-stat-db: 3
2019-05-31 16:23:00 +01:00
# limit above which we consider an audit is failed
# audit.max-reverify-count: 3
2019-05-07 22:20:04 +01:00
# the minimum acceptable bytes that storage nodes can transfer per second to the satellite
2019-05-08 13:14:00 +01:00
# audit.min-bytes-per-second: 128 B
2019-06-03 10:17:09 +01:00
# the minimum duration for downloading a share from storage nodes before timing out
2019-11-05 10:21:25 +00:00
# audit.min-download-timeout: 5m0s
2019-06-03 10:17:09 +01:00
2019-09-05 16:40:52 +01:00
# how often to recheck an empty audit queue
# audit.queue-interval: 1h0m0s
# number of reservoir slots allotted for nodes, currently capped at 3
# audit.slots: 3
# number of workers to run audits on paths
2020-05-04 20:50:27 +01:00
# audit.worker-concurrency: 2
2019-08-21 16:49:27 +01:00
2019-06-04 13:13:31 +01:00
# how frequently checker should check for bad segments
2019-05-08 13:14:00 +01:00
# checker.interval: 30s
2019-05-30 16:18:20 +01:00
# how frequently irrepairable checker should check for lost pieces
2019-06-15 17:19:19 +01:00
# checker.irreparable-interval: 30m0s
2019-05-30 16:18:20 +01:00
2019-07-08 23:04:35 +01:00
# how stale reliable node cache can be
# checker.reliability-cache-staleness: 5m0s
2019-10-02 13:58:37 +01:00
# override value for repair threshold
2020-10-28 15:24:39 +00:00
# checker.repair-override: 52
2019-10-02 13:58:37 +01:00
2020-03-10 20:42:11 +00:00
# percent of held amount disposed to node after leaving withheld
compensation.dispose-percent: 50
# rate for data at rest per GB/hour
compensation.rates.at-rest-gb-hours: "0.00000205"
# rate for audit egress bandwidth per TB
compensation.rates.get-audit-tb: "10"
# rate for repair egress bandwidth per TB
compensation.rates.get-repair-tb: "10"
# rate for egress bandwidth per TB
compensation.rates.get-tb: "20"
# rate for repair ingress bandwidth per TB
compensation.rates.put-repair-tb: "0"
# rate for ingress bandwidth per TB
compensation.rates.put-tb: "0"
# comma separated monthly withheld percentage rates
compensation.withheld-percents: 75,75,75,50,50,50,25,25,25,0,0,0,0,0,0
2020-03-23 20:38:50 +00:00
# url link for account activation redirect
# console.account-activation-redirect-url: ""
2019-05-07 22:20:04 +01:00
# server address of the graphql api gateway and frontend app
2019-08-05 18:01:20 +01:00
# console.address: :10100
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# auth token needed for access to registration token creation endpoint
2019-05-08 13:14:00 +01:00
# console.auth-token: ""
2019-05-28 15:32:51 +01:00
# secret used to sign auth tokens
# console.auth-token-secret: ""
2019-09-27 17:48:53 +01:00
# url link to contacts page
# console.contact-info-url: https://forum.storj.io
2020-07-15 16:14:09 +01:00
# default project limits for users
2020-09-23 16:04:15 +01:00
# console.default-project-limit: 10
2020-07-15 16:14:09 +01:00
2019-05-07 22:20:04 +01:00
# external endpoint of the satellite if hosted
2019-05-08 13:14:00 +01:00
# console.external-address: ""
2019-11-21 16:15:22 +00:00
# allow domains to embed the satellite in a frame, space separated
# console.frame-ancestors: tardigrade.io
2020-09-04 14:58:50 +01:00
# url link to general request page
# console.general-request-url: https://support.tardigrade.io/hc/en-us/requests/new?ticket_form_id=360000379291
2020-06-11 18:57:32 +01:00
# id for google tag manager
# console.google-tag-manager-id: ""
2019-09-27 17:48:53 +01:00
# url link to let us know page
# console.let-us-know-url: https://storjlabs.atlassian.net/servicedesk/customer/portals
2020-03-11 15:36:55 +00:00
# enable open registration
# console.open-registration-enabled: false
2020-05-29 16:36:59 +01:00
# names of partnered satellites
# console.partnered-satellite-names: US-Central-1,Europe-West-1,Asia-East-1
2020-09-04 14:58:50 +01:00
# url link to project limit increase request page
# console.project-limits-increase-request-url: https://support.tardigrade.io/hc/en-us/requests/new?ticket_form_id=360000683212
2020-04-08 20:40:49 +01:00
# number of events before the limit kicks in
2020-05-08 16:36:45 +01:00
# console.rate-limit.burst: 5
2020-04-08 20:40:49 +01:00
# the rate at which request are allowed
# console.rate-limit.duration: 5m0s
# number of IPs whose rate limits we store
# console.rate-limit.num-limits: 1000
2019-09-27 17:48:53 +01:00
# used to display at web satellite console
# console.satellite-name: Storj
# name of organization which set up satellite
# console.satellite-operator: Storj Labs
2019-11-27 16:57:59 +00:00
# used to initialize segment.io at web satellite console
# console.segment-io-public-key: ""
2019-09-27 17:48:53 +01:00
# used to communicate with web crawlers and other web robots
# console.seo: "User-agent: *\nDisallow: \nDisallow: /cgi-bin/"
2019-05-07 22:20:04 +01:00
# path to static resources
2019-05-08 13:14:00 +01:00
# console.static-dir: ""
2019-09-27 17:48:53 +01:00
# url link to terms and conditions page
# console.terms-and-conditions-url: https://storj.io/storage-sla/
2020-04-15 12:36:21 +01:00
# url link to sign up verification page
2020-05-29 16:36:59 +01:00
# console.verification-page-url: https://tardigrade.io/verify
2020-04-15 12:36:21 +01:00
2019-09-19 20:56:34 +01:00
# the public address of the node, useful for nodes behind NAT
contact.external-address: ""
2020-04-02 21:44:51 +01:00
# timeout for pinging storage nodes
# contact.timeout: 10m0s
2019-05-07 22:20:04 +01:00
# satellite database connection string
2019-08-05 18:01:20 +01:00
# database: postgres://
2019-05-08 13:14:00 +01:00
2020-01-10 01:12:27 +00:00
# satellite database api key lru capacity
# database-options.api-keys-cache.capacity: 1000
# satellite database api key expiration
# database-options.api-keys-cache.expiration: 1m0s
2020-06-03 14:51:02 +01:00
# macaroon revocation cache capacity
# database-options.revocations-cache.capacity: 10000
# macaroon revocation cache expiration
# database-options.revocations-cache.expiration: 5m0s
2019-08-27 18:12:38 +01:00
# how often to delete expired serial numbers
satellite/dbcleanup: run cleanup more frequently
As the tables that get cleaned up by this job get a lot of inserts and deletes over the course of a day, the autovacuum process on PostgreSQL struggles fairly easily/quickly.
Due to its limitation, it can only delete 180,000,000 tuples in one go, before it has to rescan the entire table/index.
With the current load, the most busy satellites accumulate about 1,000,000,000 tuples per day (consumed_serials). With our current 24h interval that results in ~6-7 scans, slowing the entire database down for a quite long time.
This PR reduces the interval to 4 hours, which under a constant load, results in less than 180,000,000 entries per run.
That way, we do not scan twice for only a small gain over said amount. Reducing the interval further would also increase the DB load unnecessary, as each run scans the entire tables at least once.
For future reference, we might need to adjust the interval, if the load is significantly changing.
Change-Id: I18fdd45d93d468cff126e719c8380c29a49f43dd
2020-06-10 18:15:39 +01:00
# db-cleanup.serials-interval: 4h0m0s
2019-08-27 18:12:38 +01:00
2019-06-05 00:53:38 +01:00
# Maximum Database Connection Lifetime, -1ns means the stdlib default
2020-08-28 16:50:57 +01:00
# db.conn_max_lifetime: 30m0s
2019-06-04 22:30:21 +01:00
2019-06-05 00:53:38 +01:00
# Maximum Amount of Idle Database connections, -1 means the stdlib default
2020-07-08 18:59:42 +01:00
# db.max_idle_conns: 1
2019-06-04 22:30:21 +01:00
2019-06-05 00:53:38 +01:00
# Maximum Amount of Open Database connections, -1 means the stdlib default
2020-07-08 18:59:42 +01:00
# db.max_open_conns: 5
2019-06-04 22:30:21 +01:00
2019-05-07 22:20:04 +01:00
# address to listen on for debug endpoints
2019-08-05 18:01:20 +01:00
# debug.addr: 127.0.0.1:0
2019-05-08 13:14:00 +01:00
2020-01-29 15:37:12 +00:00
# expose control panel
# debug.control: false
2020-02-25 16:46:12 +00:00
# provide the name of the peer to enable continuous cpu/mem profiling for
# debug.profilername: ""
2019-05-07 22:20:04 +01:00
# If set, a path to write a process trace SVG to
2019-05-08 13:14:00 +01:00
# debug.trace-out: ""
2020-01-02 20:41:18 +00:00
# how often to run the downtime detection chore.
# downtime.detection-interval: 1h0m0s
2020-01-07 21:34:48 +00:00
# the downtime estimation chore should check this many offline nodes
2020-04-13 19:08:04 +01:00
# downtime.estimation-batch-size: 1000
# max number of concurrent connections in estimation chore
# downtime.estimation-concurrency-limit: 10
2020-01-07 21:34:48 +00:00
# how often to run the downtime estimation chore
# downtime.estimation-interval: 1h0m0s
2020-04-15 20:20:16 +01:00
# set if expired segment cleanup is enabled or not
# expired-deletion.enabled: true
# the time between each attempt to go through the db and clean up expired segments
# expired-deletion.interval: 120h0m0s
2019-07-24 18:26:43 +01:00
# the number of nodes to concurrently send garbage collection bloom filters to
# garbage-collection.concurrent-sends: 1
# set if garbage collection is enabled or not
2019-08-12 19:30:09 +01:00
# garbage-collection.enabled: true
2019-07-24 18:26:43 +01:00
# the false positive rate used for creating a garbage collection bloom filter
# garbage-collection.false-positive-rate: 0.1
# the initial number of pieces expected for a storage node to have, used for creating a filter
# garbage-collection.initial-pieces: 400000
# the time between each send of garbage collection filters to storage nodes
2019-08-12 19:30:09 +01:00
# garbage-collection.interval: 120h0m0s
2019-07-24 18:26:43 +01:00
2019-12-20 20:26:32 +00:00
# the amount of time to allow a node to handle a retain request
# garbage-collection.retain-send-timeout: 1m0s
2020-03-12 15:40:22 +00:00
# if true, run garbage collection as part of the core
2020-03-26 18:44:18 +00:00
# garbage-collection.run-in-core: false
2020-03-12 15:40:22 +00:00
2020-02-13 11:01:39 +00:00
# if true, skip the first run of GC
# garbage-collection.skip-first: true
2019-10-07 21:38:05 +01:00
# size of the buffer used to batch inserts into the transfer queue.
# graceful-exit.chore-batch-size: 500
# how often to run the transfer queue chore.
# graceful-exit.chore-interval: 30s
2019-11-01 14:21:24 +00:00
# whether or not graceful exit is enabled on the satellite side.
2019-12-09 17:30:38 +00:00
# graceful-exit.enabled: true
2019-11-01 14:21:24 +00:00
2019-10-11 22:18:05 +01:00
# size of the buffer used to batch transfer queue reads and sends to the storage node.
2020-01-24 21:06:49 +00:00
# graceful-exit.endpoint-batch-size: 300
2019-10-11 22:18:05 +01:00
# maximum number of transfer failures per piece.
2020-01-24 21:06:49 +00:00
# graceful-exit.max-failures-per-piece: 5
2019-10-24 17:24:42 +01:00
# maximum inactive time frame of transfer activities per node.
2019-12-09 17:30:38 +00:00
# graceful-exit.max-inactive-time-frame: 168h0m0s
2019-10-24 17:24:42 +01:00
2019-11-13 14:54:50 +00:00
# maximum number of order limits a satellite sends to a node before marking piece transfer failed
2020-01-24 21:06:49 +00:00
# graceful-exit.max-order-limit-send-count: 10
2019-11-13 14:54:50 +00:00
2019-12-20 21:51:13 +00:00
# minimum age for a node on the network in order to initiate graceful exit
# graceful-exit.node-min-age-in-months: 6
2019-10-24 17:24:42 +01:00
# maximum percentage of transfer failures per node.
# graceful-exit.overall-max-failures-percentage: 10
2019-10-11 22:18:05 +01:00
2019-10-30 17:40:57 +00:00
# the minimum duration for receiving a stream from a storage node before timing out
2020-08-21 23:58:22 +01:00
# graceful-exit.recv-timeout: 2h0m0s
2019-10-30 17:40:57 +00:00
2019-05-07 22:20:04 +01:00
# path to the certificate chain for this identity
2019-08-05 18:01:20 +01:00
identity.cert-path: /root/.local/share/storj/identity/satellite/identity.cert
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# path to the private key for this identity
2019-08-05 18:01:20 +01:00
identity.key-path: /root/.local/share/storj/identity/satellite/identity.key
2019-05-08 13:14:00 +01:00
2020-06-02 00:19:10 +01:00
# bandwidth cache key time to live
# live-accounting.bandwidth-cache-ttl: 5m0s
2019-05-10 02:39:21 +01:00
# what to use for storing real-time accounting data
2019-10-31 17:27:38 +00:00
# live-accounting.storage-backend: ""
2019-05-10 02:39:21 +01:00
2019-05-07 22:20:04 +01:00
# if true, log function filename and line number
2019-05-08 13:14:00 +01:00
# log.caller: false
2019-05-07 22:20:04 +01:00
# if true, set logging to development mode
2019-05-08 13:14:00 +01:00
# log.development: false
2020-09-25 15:47:42 +01:00
# configures log encoding. can either be 'console', 'json', or 'pretty'.
# log.encoding: ""
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# the minimum log level to log
2019-06-13 17:43:39 +01:00
# log.level: info
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# can be stdout, stderr, or a filename
2019-08-05 18:01:20 +01:00
# log.output: stderr
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# if true, log stack traces
2019-05-08 13:14:00 +01:00
# log.stack: false
2019-05-07 22:20:04 +01:00
# smtp authentication type
2019-08-05 18:01:20 +01:00
# mail.auth-type: login
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# oauth2 app's client id
2019-05-08 13:14:00 +01:00
# mail.client-id: ""
2019-05-07 22:20:04 +01:00
# oauth2 app's client secret
2019-05-08 13:14:00 +01:00
# mail.client-secret: ""
2019-05-07 22:20:04 +01:00
# sender email address
2019-05-08 13:14:00 +01:00
# mail.from: ""
2019-05-07 22:20:04 +01:00
# plain/login auth user login
2019-05-08 13:14:00 +01:00
# mail.login: ""
2019-05-07 22:20:04 +01:00
# plain/login auth user password
2019-05-08 13:14:00 +01:00
# mail.password: ""
2019-05-07 22:20:04 +01:00
# refresh token used to retrieve new access token
2019-05-08 13:14:00 +01:00
# mail.refresh-token: ""
2019-05-07 22:20:04 +01:00
# smtp server address
2019-05-08 13:14:00 +01:00
# mail.smtp-server-address: ""
2019-05-07 22:20:04 +01:00
# path to email templates source
2019-05-08 13:14:00 +01:00
# mail.template-path: ""
2019-05-07 22:20:04 +01:00
# uri which is used when retrieving new access token
2019-05-08 13:14:00 +01:00
# mail.token-uri: ""
2019-06-11 16:00:59 +01:00
# server address of the marketing Admin GUI
2019-08-05 18:01:20 +01:00
# marketing.address: 127.0.0.1:8090
2019-06-11 16:00:59 +01:00
2019-08-30 23:43:53 +01:00
# base url for marketing Admin GUI
# marketing.base-url: ""
2019-06-11 16:00:59 +01:00
# path to static resources
# marketing.static-dir: ""
2019-05-07 22:20:04 +01:00
# the database connection string to use
2019-08-05 18:01:20 +01:00
# metainfo.database-url: postgres://
2019-05-08 13:14:00 +01:00
2019-07-22 14:34:12 +01:00
# how long to wait for new observers before starting iteration
# metainfo.loop.coalesce-duration: 5s
2020-05-05 07:51:24 +01:00
# how many items to query in a batch
2020-09-01 17:03:31 +01:00
# metainfo.loop.list-limit: 2500
2020-05-05 07:51:24 +01:00
# rate limit (default is 0 which is unlimited segments per second)
2019-12-19 18:33:59 +00:00
# metainfo.loop.rate-limit: 0
2019-10-01 17:55:02 +01:00
# maximum time allowed to pass between creating and committing a segment
2019-10-13 16:40:24 +01:00
# metainfo.max-commit-interval: 48h0m0s
2019-10-01 17:55:02 +01:00
2019-05-07 22:20:04 +01:00
# maximum inline segment size
2020-04-01 10:15:24 +01:00
# metainfo.max-inline-segment-size: 4.0 KiB
2020-06-01 21:07:31 +01:00
# maximum segment metadata size
# metainfo.max-metadata-size: 2.0 KiB
2020-04-01 10:15:24 +01:00
# maximum segment size
# metainfo.max-segment-size: 64.0 MiB
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# minimum remote segment size
2019-05-08 13:14:00 +01:00
# metainfo.min-remote-segment-size: 1.2 KiB
2020-08-17 19:49:44 +01:00
# maximum number of concurrent requests
# metainfo.object-deletion.max-concurrent-requests: 10000
2020-07-09 16:32:35 +01:00
# maximum number of requests per batch
# metainfo.object-deletion.max-objects-per-request: 100
# number of segments per request when looking for zombie segments
# metainfo.object-deletion.zombie-segments-per-request: 3
2019-05-07 22:20:04 +01:00
# toggle flag if overlay is enabled
2019-05-08 13:14:00 +01:00
# metainfo.overlay: true
2020-03-12 07:03:46 +00:00
# timeout for dialing nodes (0 means satellite default)
# metainfo.piece-deletion.dial-timeout: 0s
# threshold for retrying a failed node
# metainfo.piece-deletion.fail-threshold: 5m0s
# maximum number of concurrent requests to storage nodes
# metainfo.piece-deletion.max-concurrency: 100
2020-08-17 19:49:44 +01:00
# maximum number of concurrent pieces can be processed
# metainfo.piece-deletion.max-concurrent-pieces: 1000000
2020-03-12 07:03:46 +00:00
# maximum number of pieces per batch
# metainfo.piece-deletion.max-pieces-per-batch: 5000
# maximum number pieces per single request
# metainfo.piece-deletion.max-pieces-per-request: 1000
# timeout for a single delete request
# metainfo.piece-deletion.request-timeout: 1m0s
2020-06-30 22:49:29 +01:00
# the default bandwidth usage limit
2020-08-10 11:13:21 +01:00
# metainfo.project-limits.default-max-bandwidth: 50.00 GB
2020-06-30 22:49:29 +01:00
# the default storage usage limit
2020-08-10 11:13:21 +01:00
# metainfo.project-limits.default-max-usage: 50.00 GB
2020-06-30 22:49:29 +01:00
# max bucket count for a project.
# metainfo.project-limits.max-buckets: 100
2020-01-17 15:01:36 +00:00
# number of projects to cache.
# metainfo.rate-limiter.cache-capacity: 10000
2020-01-29 15:22:22 +00:00
# how long to cache the projects limiter.
# metainfo.rate-limiter.cache-expiration: 10m0s
2020-01-17 15:01:36 +00:00
# whether rate limiting is enabled.
# metainfo.rate-limiter.enabled: true
# request rate per project per second.
# metainfo.rate-limiter.rate: 1000
2020-11-10 11:56:30 +00:00
# redundancy scheme configuration in the format k/m/o/n-sharesize
# metainfo.rs: 29/35/80/110-256 B
2019-06-21 19:15:58 +01:00
2020-03-27 19:30:36 +00:00
# address(es) to send telemetry to (comma-separated)
2019-08-05 18:01:20 +01:00
# metrics.addr: collectora.storj.io:9000
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# application name for telemetry identification
2019-08-05 18:01:20 +01:00
# metrics.app: satellite
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# application suffix
2019-08-05 18:01:20 +01:00
# metrics.app-suffix: -release
2019-05-08 13:14:00 +01:00
2019-10-16 19:08:33 +01:00
# the time between each metrics chore run
# metrics.chore-interval: 15m0s
2019-06-24 23:45:37 +01:00
# instance id prefix
# metrics.instance-prefix: ""
2019-05-07 22:20:04 +01:00
# how frequently to send up telemetry
2019-05-08 13:14:00 +01:00
# metrics.interval: 1m0s
2019-05-07 22:20:04 +01:00
# path to log for oom notices
2019-08-05 18:01:20 +01:00
# monkit.hw.oomlog: /var/log/kern.log
2019-05-08 13:14:00 +01:00
2020-08-27 15:30:04 +01:00
# encryption keys to encrypt info in orders
# orders.encryption-keys: ""
2019-06-21 11:38:40 +01:00
# how long until an order expires
2020-01-24 20:12:09 +00:00
# orders.expiration: 48h0m0s
2019-06-21 11:38:40 +01:00
2020-01-10 18:53:42 +00:00
# how many items in the rollups write cache before they are flushed to the database
# orders.flush-batch-size: 10000
# how often to flush the rollups write cache to the database
# orders.flush-interval: 1m0s
2020-07-24 18:13:15 +01:00
# include encrypted metadata in the order limit
# orders.include-encrypted-metadata: false
2020-10-09 21:22:57 +01:00
# how many concurrent orders to process at once. zero is unlimited
# orders.orders-semaphore-size: 2
2020-01-15 21:45:17 +00:00
# how many records to read in a single transaction when calculating billable bandwidth
# orders.reported-rollups-read-batch-size: 1000
2019-08-15 20:05:43 +01:00
# how many orders to batch per transaction
2019-08-19 14:36:11 +01:00
# orders.settlement-batch-size: 250
2019-08-15 20:05:43 +01:00
satellite/orders: 3-phase rollout
This adds a config flag orders.window-endpoint-rollout-phase
that can take on the values phase1, phase2 or phase3.
In phase1, the current orders endpoint continues to work as
usual, and the windowed orders endpoint uses the same backend
as the current one (but also does a bit extra).
In phase2, the current orders endpoint is disabled and the
windowed orders endpoint continues to use the same backend.
In phase3, the current orders endpoint is still disabled and
the windowed orders endpoint uses the new backend that requires
much less database traffic and state.
The intention is to deploy in phase1, roll out code to nodes
to have them use the windowed endpoint, switch to phase2, wait
a couple days for all existing orders to expire, then switch
to phase3.
Additionally, it fixes a bug where a node could submit a bunch
of orders and rack up charges for a bucket.
Change-Id: Ifdc10e09ae1645159cbec7ace687dcb2d594c76d
2020-07-21 17:53:32 +01:00
# rollout phase for the windowed endpoint
2020-10-20 19:54:17 +01:00
# orders.window-endpoint-rollout-phase: phase3
satellite/orders: 3-phase rollout
This adds a config flag orders.window-endpoint-rollout-phase
that can take on the values phase1, phase2 or phase3.
In phase1, the current orders endpoint continues to work as
usual, and the windowed orders endpoint uses the same backend
as the current one (but also does a bit extra).
In phase2, the current orders endpoint is disabled and the
windowed orders endpoint continues to use the same backend.
In phase3, the current orders endpoint is still disabled and
the windowed orders endpoint uses the new backend that requires
much less database traffic and state.
The intention is to deploy in phase1, roll out code to nodes
to have them use the windowed endpoint, switch to phase2, wait
a couple days for all existing orders to expire, then switch
to phase3.
Additionally, it fixes a bug where a node could submit a bunch
of orders and rack up charges for a bucket.
Change-Id: Ifdc10e09ae1645159cbec7ace687dcb2d594c76d
2020-07-21 17:53:32 +01:00
2020-07-24 22:21:25 +01:00
# The length of time to give suspended SNOs to diagnose and fix issues causing downtime. Afterwards, they will have one tracking period to reach the minimum online score before disqualification
# overlay.audit-history.grace-period: 168h0m0s
2020-10-15 17:00:08 +01:00
# whether nodes will be disqualified if they have low online score after a review period
# overlay.audit-history.offline-dq-enabled: false
2020-07-24 22:21:25 +01:00
# The point below which a node is punished for offline audits. Determined by calculating the ratio of online/total audits within each window and finding the average across windows within the tracking period.
# overlay.audit-history.offline-threshold: 0.6
# The length of time to track audit windows for node suspension and disqualification
# overlay.audit-history.tracking-period: 720h0m0s
# The length of time spanning a single audit window
# overlay.audit-history.window-size: 12h0m0s
2020-05-06 14:05:31 +01:00
# disable node cache
2020-05-19 18:25:53 +01:00
# overlay.node-selection-cache.disabled: false
2020-05-06 14:05:31 +01:00
2020-04-24 17:11:04 +01:00
# how stale the node selection cache can be
# overlay.node-selection-cache.staleness: 3m0s
2019-05-07 22:20:04 +01:00
# the number of times a node has been audited to not be considered a New Node
2019-07-02 00:02:23 +01:00
# overlay.node.audit-count: 100
2019-05-08 13:14:00 +01:00
2019-06-20 14:56:04 +01:00
# the reputation cut-off for disqualifying SNs based on audit history
2019-06-20 20:01:50 +01:00
# overlay.node.audit-reputation-dq: 0.6
2019-06-20 14:56:04 +01:00
2019-06-18 19:17:25 +01:00
# the forgetting factor used to calculate the audit SNs reputation
2019-06-20 20:01:50 +01:00
# overlay.node.audit-reputation-lambda: 0.95
2019-06-18 19:17:25 +01:00
# weight to apply to audit reputation for total repair reputation calculation
# overlay.node.audit-reputation-repair-weight: 1
# weight to apply to audit reputation for total uplink reputation calculation
# overlay.node.audit-reputation-uplink-weight: 1
# the normalization weight used to calculate the audit SNs reputation
# overlay.node.audit-reputation-weight: 1
2019-05-22 21:06:27 +01:00
# require distinct IPs when choosing nodes for upload
# overlay.node.distinct-ip: true
2020-02-10 20:59:29 +00:00
# how much disk space a node at minimum must have to be selected for upload
2020-08-10 11:13:21 +01:00
# overlay.node.minimum-disk-space: 500.00 MB
2020-02-10 20:59:29 +00:00
2019-05-07 22:20:04 +01:00
# the minimum node software version for node selection queries
2019-05-08 13:14:00 +01:00
# overlay.node.minimum-version: ""
2020-03-18 21:16:13 +00:00
# the fraction of new nodes allowed per request
# overlay.node.new-node-fraction: 0.05
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# the amount of time without seeing a node before its considered offline
2019-09-18 19:57:57 +01:00
# overlay.node.online-window: 4h0m0s
2019-05-08 13:14:00 +01:00
2020-05-04 17:32:06 +01:00
# whether nodes will be disqualified if they have been suspended for longer than the suspended grace period
# overlay.node.suspension-dq-enabled: false
2020-04-14 17:49:45 +01:00
# the time period that must pass before suspended nodes will be disqualified
# overlay.node.suspension-grace-period: 168h0m0s
2019-06-18 19:17:25 +01:00
# the number of times a node's uptime has been checked to not be considered a New Node
2019-07-02 00:02:23 +01:00
# overlay.node.uptime-count: 100
2019-06-11 11:14:01 +01:00
2019-07-31 18:21:06 +01:00
# number of update requests to process per transaction
# overlay.update-stats-batch-size: 100
2020-01-24 13:38:53 +00:00
# amount of percents that user will earn as bonus credits by depositing in STORJ tokens
# payments.bonus-rate: 10
2020-03-16 19:34:15 +00:00
# duration a new coupon is valid in months/billing cycles
# payments.coupon-duration: 2
# project limit to which increase to after applying the coupon, 0 B means not changing it from the default
# payments.coupon-project-limit: 0 B
# coupon value in cents
2020-05-12 12:18:58 +01:00
# payments.coupon-value: 275
2020-03-16 19:34:15 +00:00
2020-01-28 23:36:54 +00:00
# price user should pay for each TB of egress
# payments.egress-tb-price: "45"
2019-11-15 14:27:44 +00:00
2020-03-16 19:34:15 +00:00
# minimum value of coin payments in cents before coupon is applied
2020-05-12 12:18:58 +01:00
# payments.min-coin-payment: 1000
2020-03-16 19:34:15 +00:00
2020-04-08 11:19:06 +01:00
# price node receive for storing TB of audit in cents
# payments.node-audit-bandwidth-price: 1000
# price node receive for storing disk space in cents/TB
# payments.node-disk-space-price: 150
# price node receive for storing TB of egress in cents
# payments.node-egress-bandwidth-price: 2000
# price node receive for storing TB of repair in cents
# payments.node-repair-bandwidth-price: 1000
2020-01-28 23:36:54 +00:00
# price user should pay for each object stored in network per month
# payments.object-price: "0.0000022"
2019-11-15 14:27:44 +00:00
2020-07-10 14:05:17 +01:00
# proportion of users which require a balance to create projects [0-1]
# payments.paywall-proportion: 1
2019-11-05 20:26:19 +00:00
# payments provider to use
# payments.provider: ""
2020-01-28 23:36:54 +00:00
# price user should pay for storing TB per month
# payments.storage-tb-price: "10"
2019-11-05 20:26:19 +00:00
# amount of time we wait before running next account balance update loop
2020-05-29 21:21:27 +01:00
# payments.stripe-coin-payments.account-balance-update-interval: 2m0s
2019-11-05 20:26:19 +00:00
2020-03-13 16:07:39 +00:00
# toogle autoadvance feature for invoice creation
# payments.stripe-coin-payments.auto-advance: false
2019-11-05 20:26:19 +00:00
# coinpayments API private key key
# payments.stripe-coin-payments.coinpayments-private-key: ""
# coinpayments API public key
# payments.stripe-coin-payments.coinpayments-public-key: ""
2019-11-15 14:59:39 +00:00
# amount of time we wait before running next conversion rates update loop
# payments.stripe-coin-payments.conversion-rates-cycle-interval: 10m0s
2019-11-18 11:38:43 +00:00
# stripe API public key
# payments.stripe-coin-payments.stripe-public-key: ""
2019-11-05 20:26:19 +00:00
# stripe API secret key
# payments.stripe-coin-payments.stripe-secret-key: ""
# amount of time we wait before running next transaction update loop
2020-05-29 21:21:27 +01:00
# payments.stripe-coin-payments.transaction-update-interval: 2m0s
2019-11-05 20:26:19 +00:00
2020-07-07 15:48:09 +01:00
# how often to remove unused project bandwidth rollups
# project-bw-cleanup.interval: 168h0m0s
# number of months of project bandwidth rollups to retain, not including the current month
# project-bw-cleanup.retain-months: 2
2020-09-09 20:20:44 +01:00
# number of projects to cache.
# project-limit.cache-capacity: 10000
# how long to cache the project limits.
# project-limit.cache-expiration: 10m0s
2020-05-01 14:26:20 +01:00
# the URL for referral manager
2019-11-21 22:34:49 +00:00
# referrals.referral-manager-url: ""
2019-10-30 20:31:08 +00:00
# time limit for downloading pieces from a node for repair
# repairer.download-timeout: 5m0s
2020-03-18 23:55:09 +00:00
# whether to download pieces for repair in memory (true) or download to disk (false)
# repairer.in-memory-repair: false
2019-06-04 13:13:31 +01:00
# how frequently repairer should try and repair more data
2019-12-09 15:56:52 +00:00
# repairer.interval: 5m0s
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# maximum buffer memory (in bytes) to be allocated for read buffers
2020-08-10 11:13:21 +01:00
# repairer.max-buffer-mem: 4.00 MB
2019-05-08 13:14:00 +01:00
2019-07-11 23:44:47 +01:00
# ratio applied to the optimal threshold to calculate the excess of the maximum number of repaired pieces to upload
# repairer.max-excess-rate-optimal-threshold: 0.05
2019-05-07 22:20:04 +01:00
# maximum segments that can be repaired concurrently
2019-05-08 13:14:00 +01:00
# repairer.max-repair: 5
2019-05-07 22:20:04 +01:00
# time limit for uploading repaired pieces to new storage nodes
2019-11-18 17:52:56 +00:00
# repairer.timeout: 5m0s
2019-05-08 13:14:00 +01:00
2020-01-08 18:33:15 +00:00
# time limit for an entire repair job, from queue pop to upload completion
# repairer.total-timeout: 45m0s
2020-01-15 21:45:17 +00:00
# how often to flush the reported serial rollups to the database
2020-02-14 00:03:41 +00:00
# reported-rollup.interval: 5m0s
2020-01-15 21:45:17 +00:00
2020-05-30 17:02:01 +01:00
# default queue batch size
# reported-rollup.queue-batch-size: 10000
2019-05-07 22:20:04 +01:00
# option for deleting tallies after they are rolled up
2019-12-18 00:07:06 +00:00
# rollup.delete-tallies: true
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# how frequently rollup should run
2019-05-08 13:14:00 +01:00
# rollup.interval: 24h0m0s
2019-05-07 22:20:04 +01:00
# public address to listen on
2019-08-05 18:01:20 +01:00
server.address: :7777
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# if true, client leaves may contain the most recent certificate revocation for the current certificate
2019-05-08 13:14:00 +01:00
# server.extensions.revocation: true
2019-05-07 22:20:04 +01:00
# if true, client leaves must contain a valid "signed certificate extension" (NB: verified against certs in the peer ca whitelist; i.e. if true, a whitelist must be provided)
2019-05-08 13:14:00 +01:00
# server.extensions.whitelist-signed-leaf: false
2019-05-07 22:20:04 +01:00
# path to the CA cert whitelist (peer identities must be signed by one these to be verified). this will override the default peer whitelist
2019-05-08 13:14:00 +01:00
# server.peer-ca-whitelist-path: ""
2019-05-07 22:20:04 +01:00
# identity version(s) the server will be allowed to talk to
2019-08-05 18:01:20 +01:00
# server.peer-id-versions: latest
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# private address to listen on
2019-08-05 18:01:20 +01:00
server.private-address: 127.0.0.1:7778
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# url for revocation database (e.g. bolt://some.db OR redis://127.0.0.1:6378?db=2&password=abc123)
2019-08-05 18:01:20 +01:00
# server.revocation-dburl: bolt://testdata/revocations.db
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# if true, uses peer ca whitelist checking
2019-05-21 12:48:47 +01:00
# server.use-peer-ca-whitelist: true
2019-05-08 13:14:00 +01:00
2019-05-07 22:20:04 +01:00
# how frequently the tally service should run
2019-05-08 13:14:00 +01:00
# tally.interval: 1h0m0s
2020-03-30 16:22:32 +01:00
# address for jaeger agent
2020-06-03 21:19:35 +01:00
# tracing.agent-addr: agent.tracing.datasci.storj.io:5775
2020-03-30 16:22:32 +01:00
# application name for tracing identification
# tracing.app: satellite
# application suffix
# tracing.app-suffix: -release
# buffer size for collector batch packet size
# tracing.buffer-size: 0
2020-04-24 19:09:59 +01:00
# whether tracing collector is enabled
# tracing.enabled: false
2020-04-21 22:04:26 +01:00
# how frequently to flush traces to tracing agent
2020-04-15 13:56:27 +01:00
# tracing.interval: 0s
2020-03-30 16:22:32 +01:00
# buffer size for collector queue size
# tracing.queue-size: 0
2020-04-21 22:04:26 +01:00
# how frequent to sample traces
2020-03-30 16:22:32 +01:00
# tracing.sample: 0
2019-05-07 22:20:04 +01:00
# Interval to check the version
2019-05-08 13:14:00 +01:00
# version.check-interval: 15m0s
2019-05-07 22:20:04 +01:00
# Request timeout for version checks
2019-05-08 13:14:00 +01:00
# version.request-timeout: 1m0s
2019-05-07 22:20:04 +01:00
# server address to check its version against
2019-09-25 21:55:38 +01:00
# version.server-address: https://version.storj.io