2023-02-13 17:32:39 +00:00
# whether to run this chore.
# account-freeze.enabled: false
2023-07-07 18:31:53 +01:00
# whether to exclude storjscan-paying users from automatic warn/freeze
2023-08-15 17:58:50 +01:00
# account-freeze.exclude-storjscan: false
2023-07-07 18:31:53 +01:00
2023-02-13 17:32:39 +00:00
# How long to wait between a warning event and freezing an account.
2023-06-22 15:35:07 +01:00
# account-freeze.grace-period: 360h0m0s
2023-02-13 17:32:39 +00:00
# How often to run this chore, which is how often unpaid invoices are checked.
# account-freeze.interval: 24h0m0s
2023-03-23 13:32:15 +00:00
# The failed invoice amount (in cents) beyond which an account will not be frozen
# account-freeze.price-threshold: 10000
2023-02-13 17:32:39 +00:00
2020-02-07 16:36:28 +00:00
# admin peer http listening address
# admin.address: ""
2022-11-10 13:19:42 +00:00
# the oauth host allowed to bypass token authentication.
# admin.allowed-oauth-host: ""
2023-02-21 22:03:46 +00:00
# the group which is only allowed to update user and project limits and freeze and unfreeze accounts.
# admin.groups.limit-update: ""
2021-10-01 13:26:21 +01:00
# an alternate directory path which contains the static assets to serve. When empty, it uses the embedded assets
# admin.static-dir: ""
2023-08-31 14:22:08 +01:00
# an alternate directory path which contains the static assets for the currently in development back-office. When empty, it uses the embedded assets
# admin.static-dir-back-office: ""
2021-03-27 22:43:22 +00:00
# enable analytics reporting
# analytics.enabled: false
2021-12-09 20:52:51 +00:00
# the number of events that can be in the queue before dropping
# analytics.hub-spot.channel-size: 1000
2022-10-05 09:13:50 +01:00
# hubspot client ID
# analytics.hub-spot.client-id: ""
# hubspot client secret
# analytics.hub-spot.client-secret: ""
2021-12-09 20:52:51 +00:00
# the number of concurrent api requests that can be made
# analytics.hub-spot.concurrent-sends: 4
# the default timeout for the hubspot http client
# analytics.hub-spot.default-timeout: 10s
2022-10-05 09:13:50 +01:00
# hubspot refresh token
# analytics.hub-spot.refresh-token: ""
# hubspot token refresh API
# analytics.hub-spot.token-api: https://api.hubapi.com/oauth/v1/token
2021-03-23 15:52:34 +00:00
# segment write key
# analytics.segment-write-key: ""
2019-09-05 16:40:52 +01:00
# how often to run the reservoir chore
# audit.chore-interval: 24h0m0s
2023-01-26 01:21:47 +00:00
# how often to run the containment-sync chore
# audit.containment-sync-chore-interval: 2h0m0s
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
2022-11-11 23:11:40 +00:00
# how long a single reverification job can take before it may be taken over by another worker
# audit.reverification-retry-interval: 6h0m0s
# number of workers to run reverify audits on pieces
# audit.reverify-worker-concurrency: 2
2019-09-05 16:40:52 +01:00
# number of reservoir slots allotted for nodes, currently capped at 3
# audit.slots: 3
2023-04-24 11:07:16 +01:00
# whether use Audit observer with ranged loop.
# audit.use-ranged-loop: true
2022-12-15 00:37:37 +00:00
2022-11-23 16:37:39 +00:00
# number of audit jobs to push at once to the verification queue
# audit.verification-push-batch-size: 4096
2020-12-18 10:00:48 +00:00
# number of workers to run audits on segments
2020-05-04 20:50:27 +01:00
# audit.worker-concurrency: 2
2019-08-21 16:49:27 +01:00
2023-05-18 19:47:23 +01:00
# Treat pieces on the same network as in need of repair
2023-07-17 15:23:20 +01:00
# checker.do-declumping: true
2023-05-18 19:47:23 +01:00
2023-05-30 15:44:36 +01:00
# Treat pieces out of segment placement as in need of repair
# checker.do-placement-check: true
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
2020-10-21 23:02:54 +01:00
# the probability of a single node going down within the next checker iteration
# checker.node-failure-rate: 5.435e-05
2019-07-08 23:04:35 +01:00
# how stale reliable node cache can be
# checker.reliability-cache-staleness: 5m0s
2020-10-27 18:26:46 +00:00
# comma-separated override values for repair threshold in the format k/o/n-override (min/optimal/total-override)
2021-01-28 21:55:16 +00:00
# checker.repair-overrides: 29/80/110-52,29/80/95-52,29/80/130-52
2019-10-02 13:58:37 +01:00
2022-04-29 23:33:08 +01:00
# Number of damaged segments to buffer in-memory before flushing to the repair queue
# checker.repair-queue-insert-batch-size: 100
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
2023-06-09 17:42:19 +01:00
compensation.rates.at-rest-gb-hours: "0.00000208"
2020-03-10 20:42:11 +00:00
# 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
2022-06-05 23:41:38 +01:00
# expiration time for account recovery and activation tokens
2022-10-11 22:36:29 +01:00
# console-auth.token-expiration-time: 30m0s
2022-04-19 21:50:15 +01:00
2023-04-28 12:43:27 +01:00
# interval for 'AS OF SYSTEM TIME' clause (CockroachDB specific) to read from the DB at a specific time in the past
# console-db-cleanup.as-of-system-time-interval: -5m0s
# whether to run this chore
# console-db-cleanup.enabled: false
# interval between chore cycles
# console-db-cleanup.interval: 24h0m0s
# maximum lifetime of unverified user account records
# console-db-cleanup.max-unverified-user-age: 168h0m0s
# maximum number of database records to scan at once
# console-db-cleanup.page-size: 1000
2022-09-13 11:40:55 +01:00
# the Flagship API key
# console.ab-testing.api-key: ""
# whether or not AB testing is enabled
# console.ab-testing.enabled: false
# the Flagship environment ID
# console.ab-testing.env-id: ""
# the Flagship API URL
# console.ab-testing.flagship-url: https://decision.flagship.io/v2
# the Flagship environment ID
# console.ab-testing.hit-tracking-url: https://ariane.abtasty.com
2020-03-23 20:38:50 +00:00
# url link for account activation redirect
# console.account-activation-redirect-url: ""
2023-08-22 11:51:59 +01:00
# server address of the http api gateway and frontend app
2019-08-05 18:01:20 +01:00
# console.address: :10100
2019-05-08 13:14:00 +01:00
2023-02-15 15:53:09 +00:00
# indicates if all projects dashboard should be used
2023-06-14 21:51:29 +01:00
# console.all-projects-dashboard: true
2023-02-15 15:53:09 +00:00
2021-12-09 15:05:21 +00:00
# default duration for AS OF SYSTEM TIME
# console.as-of-system-time-duration: -5m0s
2023-08-02 18:29:42 +01:00
# optional domain for cookies to use
# console.auth-cookie-domain: ""
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: ""
2023-05-17 19:18:54 +01:00
# the target URL of console back-end reverse proxy for local development when running a UI server
# console.backend-reverse-proxy: ""
2021-03-11 15:05:06 +00:00
# url link for for beta satellite feedback
# console.beta-satellite-feedback-url: ""
# url link for for beta satellite support
# console.beta-satellite-support-url: ""
2023-05-18 11:07:36 +01:00
# The maximum body size allowed to be received by the API
# console.body-size-limit: 100.00 KB
2022-07-21 14:31:38 +01:00
# whether or not captcha is enabled
# console.captcha.login.hcaptcha.enabled: false
# captcha secret key
# console.captcha.login.hcaptcha.secret-key: ""
# captcha site key
# console.captcha.login.hcaptcha.site-key: ""
# whether or not captcha is enabled
# console.captcha.login.recaptcha.enabled: false
# captcha secret key
# console.captcha.login.recaptcha.secret-key: ""
# captcha site key
# console.captcha.login.recaptcha.site-key: ""
# whether or not captcha is enabled
# console.captcha.registration.hcaptcha.enabled: false
# captcha secret key
# console.captcha.registration.hcaptcha.secret-key: ""
# captcha site key
# console.captcha.registration.hcaptcha.site-key: ""
# whether or not captcha is enabled
# console.captcha.registration.recaptcha.enabled: false
# captcha secret key
# console.captcha.registration.recaptcha.secret-key: ""
# captcha site key
# console.captcha.registration.recaptcha.site-key: ""
2019-09-27 17:48:53 +01:00
# url link to contacts page
# console.contact-info-url: https://forum.storj.io
2021-06-22 01:09:56 +01:00
# indicates if user is allowed to add coupon codes to account from billing
# console.coupon-code-billing-ui-enabled: false
# indicates if user is allowed to add coupon codes to account from signup
# console.coupon-code-signup-ui-enabled: false
2021-02-24 22:35:24 +00:00
2021-04-09 12:37:33 +01:00
# indicates if Content Security Policy is enabled
# console.csp-enabled: true
2020-07-15 16:14:09 +01:00
# default project limits for users
2021-10-24 02:41:41 +01:00
# console.default-project-limit: 1
2020-07-15 16:14:09 +01:00
2021-02-25 01:05:45 +00:00
# url link to documentation
2021-04-09 23:25:25 +01:00
# console.documentation-url: https://docs.storj.io/
2021-02-25 01:05:45 +00: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: ""
2022-03-31 12:51:07 +01:00
# incremental duration of penalty for failed login attempts in minutes
# console.failed-login-penalty: 2
2021-03-23 20:50:34 +00:00
# indicates if file browser flow is disabled
2021-04-09 19:44:05 +01:00
# console.file-browser-flow-disabled: false
2021-03-23 20:50:34 +00:00
2019-11-21 16:15:22 +00:00
# allow domains to embed the satellite in a frame, space separated
2021-04-09 23:25:25 +01:00
# console.frame-ancestors: tardigrade.io storj.io
2019-11-21 16:15:22 +00:00
2023-05-17 19:18:54 +01:00
# server address of the front-end app
# console.frontend-address: :10200
# feature flag to toggle whether console back-end server should also serve front-end endpoints
# console.frontend-enable: true
2023-06-01 14:20:35 +01:00
# whether to show new gallery view
2023-08-14 16:05:19 +01:00
# console.gallery-view-enabled: true
2023-06-01 14:20:35 +01:00
2020-11-24 22:29:19 +00:00
# url link for gateway credentials requests
2023-05-15 21:18:34 +01:00
# console.gateway-credentials-request-url: https://auth.storjsatelliteshare.io
2020-11-24 22:29:19 +00:00
2020-09-04 14:58:50 +01:00
# url link to general request page
2021-04-14 20:07:36 +01:00
# console.general-request-url: https://supportdcs.storj.io/hc/en-us/requests/new?ticket_form_id=360000379291
2020-09-04 14:58:50 +01:00
2022-02-11 15:06:52 +00:00
# indicates if generated console api should be used
# console.generated-api-enabled: false
2022-04-22 20:06:47 +01:00
# url link to storj.io homepage
# console.homepage-url: https://www.storj.io
2021-02-23 17:26:24 +00:00
# indicates if satellite is in beta
# console.is-beta-satellite: false
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
2023-05-30 22:11:29 +01:00
# indicates whether limit card section of the UI is enabled
2023-08-14 16:05:19 +01:00
# console.limits-area-enabled: true
2023-05-30 22:11:29 +01:00
2023-05-15 21:18:34 +01:00
# url link for linksharing requests within the application
# console.linksharing-url: https://link.storjsatelliteshare.io
2021-04-09 12:56:21 +01:00
2022-03-31 12:51:07 +01:00
# number of times user can try to login without penalty
# console.login-attempts-without-penalty: 3
2022-07-12 16:20:53 +01:00
# indicates if storj native token payments system is enabled
# console.native-token-payments-enabled: false
2023-05-19 15:24:59 +01:00
# whether to show new upload modal
# console.new-upload-modal-enabled: false
2022-02-03 20:49:38 +00:00
# how long oauth access tokens are issued for
# console.oauth-access-token-expiry: 24h0m0s
# how long oauth authorization codes are issued for
# console.oauth-code-expiry: 10m0s
# how long oauth refresh tokens are issued for
# console.oauth-refresh-token-expiry: 720h0m0s
2023-08-31 12:33:39 +01:00
# whether to use object browser pagination
# console.object-browser-pagination-enabled: false
2020-03-11 15:36:55 +00:00
# enable open registration
# console.open-registration-enabled: false
2022-02-22 19:53:41 +00:00
# optional url to external registration success page
# console.optional-signup-success-url: ""
2021-04-23 15:22:20 +01:00
# names and addresses of partnered satellites in JSON list format
2022-06-28 17:12:43 +01:00
# console.partnered-satellites: '[{"name":"US1","address":"https://us1.storj.io"},{"name":"EU1","address":"https://eu1.storj.io"},{"name":"AP1","address":"https://ap1.storj.io"}]'
2020-05-29 16:36:59 +01:00
testplanet/satellite: reduce the number of places default values need to be configured
Satellites set their configuration values to default values using
cfgstruct, however, it turns out our tests don't test these values
at all! Instead, they have a completely separate definition system
that is easy to forget about.
As is to be expected, these values have drifted, and it appears
in a few cases test planet is testing unreasonable values that we
won't see in production, or perhaps worse, features enabled in
production were missed and weren't enabled in testplanet.
This change makes it so all values are configured the same,
systematic way, so it's easy to see when test values are different
than dev values or release values, and it's less hard to forget
to enable features in testplanet.
In terms of reviewing, this change should be actually fairly
easy to review, considering private/testplanet/satellite.go keeps
the current config system and the new one and confirms that they
result in identical configurations, so you can be certain that
nothing was missed and the config is all correct.
You can also check the config lock to see what actual config
values changed.
Change-Id: I6715d0794887f577e21742afcf56fd2b9d12170e
2021-05-31 22:15:00 +01:00
# password hashing cost (0=automatic)
# console.password-cost: 0
2021-04-09 15:43:10 +01:00
# indicates if the overview onboarding step should render with pathways
2021-04-09 19:44:05 +01:00
# console.pathway-overview-enabled: true
2021-04-09 15:43:10 +01:00
2023-09-12 04:16:35 +01:00
# placement-specific edge service URL overrides in the format {"placementID": {"authService": "...", "publicLinksharing": "...", "internalLinksharing": "..."}, "placementID2": ...}
# console.placement-edge-url-overrides: ""
2023-01-26 18:31:13 +00:00
# whether to allow purchasing pricing packages
# console.pricing-packages-enabled: false
2023-06-01 08:27:09 +01:00
# duration that project member invitations are valid for
# console.project-invitation-expiration: 168h0m0s
2020-09-04 14:58:50 +01:00
# url link to project limit increase request page
2021-04-14 20:07:36 +01:00
# console.project-limits-increase-request-url: https://supportdcs.storj.io/hc/en-us/requests/new?ticket_form_id=360000683212
2020-09-04 14:58:50 +01:00
2023-05-15 21:18:34 +01:00
# url link for linksharing requests for external sharing
# console.public-linksharing-url: https://link.storjshare.io
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
2021-08-17 20:38:34 +01:00
# number of clients whose rate limits we store
2020-04-08 20:40:49 +01:00
# 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
# used to communicate with web crawlers and other web robots
# console.seo: "User-agent: *\nDisallow: \nDisallow: /cgi-bin/"
2022-07-19 10:26:18 +01:00
# duration a session is valid for (superseded by inactivity timer delay if inactivity timer is enabled)
# console.session.duration: 168h0m0s
# inactivity timer delay in seconds
# console.session.inactivity-timer-duration: 600
# indicates if session can be timed out due inactivity
2022-11-16 07:22:03 +00:00
# console.session.inactivity-timer-enabled: true
2022-07-19 10:26:18 +01:00
# indicates whether remaining session time is shown for debugging
# console.session.inactivity-timer-viewer-enabled: false
2022-06-05 23:41:38 +01:00
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
2022-06-28 17:12:43 +01:00
# console.terms-and-conditions-url: https://www.storj.io/terms-of-service/
2019-09-27 17:48:53 +01:00
2021-07-01 00:13:45 +01:00
# the default free-tier bandwidth usage limit
2023-03-28 19:30:43 +01:00
# console.usage-limits.bandwidth.free: 25.00 GB
2021-03-22 20:26:59 +00:00
2021-07-01 00:13:45 +01:00
# the default paid-tier bandwidth usage limit
# console.usage-limits.bandwidth.paid: 100.00 TB
2022-02-28 21:37:46 +00:00
# the default free-tier project limit
# console.usage-limits.project.free: 1
# the default paid-tier project limit
# console.usage-limits.project.paid: 3
2021-12-06 19:06:50 +00:00
# the default free-tier segment usage limit
2023-03-28 19:30:43 +01:00
# console.usage-limits.segment.free: 10000
2021-12-06 19:06:50 +00:00
# the default paid-tier segment usage limit
2022-03-02 17:39:37 +00:00
# console.usage-limits.segment.paid: 100000000
2021-12-06 19:06:50 +00:00
2021-07-01 00:13:45 +01:00
# the default free-tier storage usage limit
2023-03-28 19:30:43 +01:00
# console.usage-limits.storage.free: 25.00 GB
2021-07-01 00:13:45 +01:00
# the default paid-tier storage usage limit
# console.usage-limits.storage.paid: 25.00 TB
2021-03-22 20:26:59 +00:00
2023-06-08 14:52:40 +01:00
# whether to use vuetify POC project
# console.use-vuetify-project: false
2023-07-19 11:03:30 +01:00
# amount of base units of US micro dollars needed to upgrade user's tier status
# console.user-balance-for-upgrade: 10000000
2023-07-12 16:16:51 +01:00
2023-08-02 18:29:42 +01:00
# the subdomain the vuetify POC project should be hosted on
# console.vuetify-host: ""
2021-11-03 15:36:20 +00:00
# whether to load templates on each request
# console.watch: false
2022-05-27 04:44:48 +01:00
# allow private IPs in CheckIn and PingMe
# contact.allow-private-ip: false
2019-09-19 20:56:34 +01:00
# the public address of the node, useful for nodes behind NAT
contact.external-address: ""
2021-05-16 17:36:53 +01:00
# the maximum burst size for the contact rate limit token bucket
# contact.rate-limit-burst: 2
# the number of nodes or addresses to keep token buckets for
# contact.rate-limit-cache-size: 1000
# the amount of time that should happen between contact attempts usually
# contact.rate-limit-interval: 10m0s
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
2023-03-13 15:34:28 +00:00
# database-options.api-keys-cache.capacity: 10000
2020-01-10 01:12:27 +00:00
# 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-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: ""
2022-01-06 19:46:53 +00:00
# how often to send reminders to users who need to verify their email
# email-reminders.chore-interval: 24h0m0s
# enable sending emails reminding users to verify their email
2022-12-07 15:29:57 +00:00
# email-reminders.enable: true
2022-01-06 19:46:53 +00:00
# amount of time before sending first reminder to users who need to verify their email
# email-reminders.first-verification-reminder: 24h0m0s
# amount of time before sending second reminder to users who need to verify their email
# email-reminders.second-verification-reminder: 120h0m0s
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
2021-04-27 09:31:05 +01:00
# expired-deletion.interval: 24h0m0s
2020-04-15 20:20:16 +01:00
2021-03-22 12:18:04 +00:00
# how many expired objects to query in a batch
# expired-deletion.list-limit: 100
2022-08-30 16:41:09 +01:00
# Access Grant which will be used to upload bloom filters to the bucket
# garbage-collection-bf.access-grant: ""
# Bucket which will be used to upload bloom filters
# garbage-collection-bf.bucket: ""
2022-10-11 19:19:58 +01:00
# how long bloom filters will remain in the bucket for gc/sender to consume before being automatically deleted
2022-08-30 16:41:09 +01:00
# garbage-collection-bf.expire-in: 336h0m0s
2022-08-30 09:51:11 +01:00
# the false positive rate used for creating a garbage collection bloom filter
# garbage-collection-bf.false-positive-rate: 0.1
# the initial number of pieces expected for a storage node to have, used for creating a filter
# garbage-collection-bf.initial-pieces: 400000
2022-10-27 22:47:26 +01:00
# set if garbage collection bloom filter process should only run once then exit
# garbage-collection-bf.run-once: false
2023-04-26 16:20:13 +01:00
# whether to use test GC SyncObserver with ranged loop
2023-06-20 11:37:57 +01:00
# garbage-collection-bf.use-sync-observer: true
2023-04-26 16:20:13 +01:00
2022-08-30 16:41:09 +01:00
# how many bloom filters will be packed in a single zip
# garbage-collection-bf.zip-batch-size: 500
2022-08-29 10:44:54 +01:00
# Access to download the bloom filters. Needs read and write permission.
# garbage-collection.access-grant: ""
2019-07-24 18:26:43 +01:00
2022-08-29 10:44:54 +01:00
# bucket where retain info is stored
# garbage-collection.bucket: ""
2019-07-24 18:26:43 +01:00
2022-08-29 10:44:54 +01:00
# the number of nodes to concurrently send garbage collection retain filters to
2023-06-28 16:31:28 +01:00
# garbage-collection.concurrent-sends: 100
2019-07-24 18:26:43 +01:00
2022-08-29 10:44:54 +01:00
# set if loop to send garbage collection retain filters is enabled
2023-06-28 16:31:28 +01:00
# garbage-collection.enabled: true
2022-08-29 10:44:54 +01:00
2022-10-11 19:19:58 +01:00
# Expiration of newly created objects in the bucket. These objects are under the prefix error-[timestamp] and store error messages.
2022-08-29 10:44:54 +01:00
# garbage-collection.expire-in: 336h0m0s
2019-07-24 18:26:43 +01:00
2022-08-29 10:44:54 +01:00
# the time between each attempt to download and send garbage collection retain filters to storage nodes
2023-06-28 16:31:28 +01:00
# garbage-collection.interval: 1h0m0s
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
testplanet/satellite: reduce the number of places default values need to be configured
Satellites set their configuration values to default values using
cfgstruct, however, it turns out our tests don't test these values
at all! Instead, they have a completely separate definition system
that is easy to forget about.
As is to be expected, these values have drifted, and it appears
in a few cases test planet is testing unreasonable values that we
won't see in production, or perhaps worse, features enabled in
production were missed and weren't enabled in testplanet.
This change makes it so all values are configured the same,
systematic way, so it's easy to see when test values are different
than dev values or release values, and it's less hard to forget
to enable features in testplanet.
In terms of reviewing, this change should be actually fairly
easy to review, considering private/testplanet/satellite.go keeps
the current config system and the new one and confirms that they
result in identical configurations, so you can be certain that
nothing was missed and the config is all correct.
You can also check the config lock to see what actual config
values changed.
Change-Id: I6715d0794887f577e21742afcf56fd2b9d12170e
2021-05-31 22:15:00 +01:00
# interval for AS OF SYSTEM TIME clause (crdb specific) to read from db at a specific time in the past
2021-02-10 18:09:49 +00:00
# graceful-exit.as-of-system-time-interval: -10s
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
2023-07-25 18:48:36 +01:00
# number of days it takes to execute a passive graceful exit
# graceful-exit.graceful-exit-duration-in-days: 30
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
2023-07-25 18:48:36 +01:00
# a gracefully exiting node will fail GE if it falls below this online score (compare AuditHistoryConfig.OfflineThreshold)
# graceful-exit.minimum-online-score: 0.8
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
2023-07-25 18:48:36 +01:00
# how frequently to check uptime ratio of gracefully-exiting nodes
# graceful-exit.offline-check-interval: 30m0s
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
2023-07-25 18:48:36 +01:00
# whether graceful exit will be determined by a period of time, rather than by instructing nodes to transfer one piece at a time
# graceful-exit.time-based: false
2021-02-10 18:09:49 +00:00
# batch size (crdb specific) for deleting and adding items to the transfer queue
# graceful-exit.transfer-queue-batch-size: 1000
2023-04-24 10:10:00 +01:00
# whether use GE observer with ranged loop.
# graceful-exit.use-ranged-loop: true
2022-12-09 21:28:05 +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
2021-05-25 18:43:47 +01:00
# as of system interval
# live-accounting.as-of-system-interval: -10s
2020-06-02 00:19:10 +01:00
# bandwidth cache key time to live
# live-accounting.bandwidth-cache-ttl: 5m0s
2023-07-11 13:06:36 +01:00
# how much projects usage should be requested from redis cache at once
# live-accounting.batch-size: 5000
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
2022-09-16 15:34:02 +01:00
# configures log encoding. can either be 'console', 'json', 'pretty', or 'gcloudlogging'.
2020-09-25 15:47:42 +01:00
# 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-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-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
2021-07-29 13:08:19 +01:00
# maximum encrypted object key length
2023-08-21 21:03:16 +01:00
# metainfo.max-encrypted-object-key-length: 4000
2021-07-29 13:08:19 +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
2021-09-24 15:18:21 +01:00
# maximum number of parts object can contain
# metainfo.max-number-of-parts: 10000
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
2021-09-24 15:18:21 +01:00
# minimum allowed part size (last part has no minimum size limit)
# metainfo.min-part-size: 5.0 MiB
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
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-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.
2022-01-21 22:37:59 +00:00
# metainfo.rate-limiter.rate: 100
2020-01-17 15:01:36 +00:00
2020-10-27 17:34:59 +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
2022-06-24 00:20:36 +01:00
# enable code for server-side copy, deprecated. please leave this to true.
2022-04-26 14:58:16 +01:00
# metainfo.server-side-copy: true
2022-02-11 10:59:00 +00:00
2022-06-24 00:20:36 +01:00
# disable already enabled server-side copy. this is because once server side copy is enabled, delete code should stay changed, even if you want to disable server side copy
# metainfo.server-side-copy-disabled: false
2022-09-01 23:13:15 +01:00
# test the new query for non-recursive listing
# metainfo.test-listing-query: false
2023-03-29 16:12:16 +01:00
# number of object locations to cache.
# metainfo.upload-limiter.cache-capacity: 10000
# whether rate limiting is enabled.
# metainfo.upload-limiter.enabled: true
# how often we can upload to the single object (the same location) per API instance
# metainfo.upload-limiter.single-object-limit: 1s
2023-07-21 10:36:59 +01:00
# enable new flow for upload which is using pending_objects table
# metainfo.use-pending-objects-table: false
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
2021-09-16 16:09:07 +01:00
# application name for telemetry identification. Ignored for certain applications.
2019-08-05 18:01:20 +01:00
# metrics.app: satellite
2019-05-08 13:14:00 +01:00
2021-09-16 16:09:07 +01:00
# application suffix. Ignored for certain applications.
2019-08-05 18:01:20 +01:00
# metrics.app-suffix: -release
2019-05-08 13:14:00 +01:00
2022-10-12 11:55:26 +01:00
# address(es) to send telemetry to (comma-separated)
# metrics.event-addr: eventkitd.datasci.storj.io:9002
2019-06-24 23:45:37 +01:00
# instance id prefix
# metrics.instance-prefix: ""
2021-09-16 16:09:07 +01:00
# how frequently to send up telemetry. Ignored for certain applications.
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
2022-11-14 22:15:29 +00:00
# api key for the customer.io api
# node-events.customerio.api-key: ""
# timeout for the http request to customer.io endpoint
# node-events.customerio.request-timeout: 30s
# the account id for the customer.io api
# node-events.customerio.site-id: ""
# the url for the customer.io endpoint to send node event data to
# node-events.customerio.url: https://track.customer.io/api/v1
2022-11-07 19:08:53 +00:00
# how long to wait before checking the node events DB again if there is nothing to work on
# node-events.interval: 5m0s
2022-11-14 22:15:29 +00:00
# which notification provider to use
# node-events.notifier: ""
2022-11-07 19:08:53 +00:00
# how long the earliest instance of an event for a particular email should exist in the DB before it is selected
# node-events.selection-wait-period: 5m0s
2022-10-07 21:28:51 +01:00
# how long to wait between sending Node Offline emails
# offline-nodes.cooldown: 24h0m0s
# how often to check for offline nodes and send them emails
# offline-nodes.interval: 1h0m0s
# Max number of nodes to return in a single query. Chore will iterate until rows returned is less than limit
# offline-nodes.limit: 1000
# max number of offline emails to send a node operator until the node comes back online
# offline-nodes.max-emails: 3
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
2022-11-17 09:00:52 +00:00
# orders.expiration: 24h0m0s
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
2021-02-17 19:57:43 +00:00
# orders.flush-batch-size: 1000
2020-01-10 18:53:42 +00:00
# how often to flush the rollups write cache to the database
# orders.flush-interval: 1m0s
2020-10-09 21:22:57 +01:00
# how many concurrent orders to process at once. zero is unlimited
# orders.orders-semaphore-size: 2
2023-09-26 08:41:15 +01:00
# default AS OF SYSTEM TIME for service
# overlay.as-of-system-time: -10s
2021-10-29 18:44:44 +01:00
# the location of the maxmind database containing geoip country information
# overlay.geo-ip.db: ""
# a mock list of countries the satellite will attribute to nodes (useful for testing)
2022-04-17 19:58:19 +01:00
# overlay.geo-ip.mock-countries: []
2021-10-29 18:44:44 +01:00
2023-02-15 16:41:26 +00:00
# the minimum node id difficulty required for new nodes. existing nodes remain allowed
# overlay.minimum-new-node-id-difficulty: 36
2021-06-15 17:32:12 +01:00
# the amount of time to wait before accepting a redundant check-in from a node (unmodified info since last check-in)
# overlay.node-check-in-wait-period: 2h0m0s
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
2022-09-29 20:39:00 +01:00
# the amount of time to wait between sending Node Software Update emails
# overlay.node-software-update-email-cooldown: 168h0m0s
2020-12-22 19:07:07 +00:00
# default duration for AS OF SYSTEM TIME
# overlay.node.as-of-system-time.default-interval: -10s
# enables the use of the AS OF SYSTEM TIME feature in CRDB
# overlay.node.as-of-system-time.enabled: true
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
2022-02-25 16:53:24 +00:00
# list of country codes to exclude from node selection for uploads
2022-04-17 19:58:19 +01:00
# overlay.node.upload-excluded-country-codes: []
2022-02-25 16:53:24 +00:00
2022-02-25 10:43:19 +00:00
# list of country codes to exclude nodes from target repair selection
2022-04-17 19:58:19 +01:00
# overlay.repair-excluded-country-codes: []
2022-02-25 10:43:19 +00:00
2022-09-28 20:53:48 +01:00
# whether to send emails to nodes
# overlay.send-node-emails: false
2019-07-31 18:21:06 +01:00
# number of update requests to process per transaction
# overlay.update-stats-batch-size: 100
2022-06-17 00:29:31 +01:00
# flag to disable querying for new billing transactions by billing chore
# payments.billing-config.disable-loop: true
# billing chore interval to query for new transactions from all payment types
2022-09-26 20:56:57 +01:00
# payments.billing-config.interval: 15s
2022-06-17 00:29:31 +01:00
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
2023-03-22 15:28:52 +00:00
# semicolon-separated partner package plans in the format partner:price,credit. Price and credit are in cents USD.
2023-01-11 20:17:54 +00:00
# payments.package-plans: ""
2019-11-05 20:26:19 +00:00
# payments provider to use
# payments.provider: ""
2022-06-06 13:42:45 +01:00
# basic auth identifier
# payments.storjscan.auth.identifier: ""
2022-04-28 03:54:56 +01:00
2022-06-06 13:42:45 +01:00
# basic auth secret
# payments.storjscan.auth.secret: ""
2022-04-28 03:54:56 +01:00
2022-06-06 13:42:45 +01:00
# required number of following blocks in the chain to accept payment as confirmed
2022-09-22 16:46:05 +01:00
# payments.storjscan.confirmations: 15
2022-06-06 13:42:45 +01:00
2022-07-08 16:23:56 +01:00
# flag to disable querying new storjscan payments by storjscan chore
# payments.storjscan.disable-loop: true
2022-06-06 13:42:45 +01:00
# storjscan API endpoint
2022-04-28 03:54:56 +01:00
# payments.storjscan.endpoint: ""
2022-07-08 16:23:56 +01:00
# storjscan chore interval to query new payments for all satellite deposit wallets
# payments.storjscan.interval: 1m0s
2022-12-14 13:35:53 +00:00
# toggle autoadvance feature for invoice creation
2020-03-13 16:07:39 +00:00
# payments.stripe-coin-payments.auto-advance: false
2023-03-23 15:38:07 +00:00
# the maximum number of concurrent Stripe API calls in invoicing methods
# payments.stripe-coin-payments.max-parallel-calls: 10
2023-04-19 20:48:36 +01:00
# whether to remove expired package credit or not
# payments.stripe-coin-payments.remove-expired-credit: true
2023-03-03 08:20:28 +00:00
# the duration of the first retry interval
# payments.stripe-coin-payments.retries.initial-backoff: 20ms
# the maximum duration of any retry interval
# payments.stripe-coin-payments.retries.max-backoff: 5s
# the maximum number of times to retry a request
# payments.stripe-coin-payments.retries.max-retries: 10
# the factor by which the retry interval will be multiplied on each iteration
# payments.stripe-coin-payments.retries.multiplier: 2
2022-12-14 13:35:53 +00:00
# if set, skips the creation of empty invoices for customers with zero usage for the billing period
# payments.stripe-coin-payments.skip-empty-invoices: true
2021-05-10 18:12:05 +01:00
# stripe free tier coupon ID
# payments.stripe-coin-payments.stripe-free-tier-coupon-id: ""
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: ""
2023-04-03 14:24:34 +01:00
# semicolon-separated usage price overrides in the format partner:storage,egress,segment,egress_discount_ratio. The egress discount ratio is the ratio of free egress per unit-month of storage
2022-12-01 07:40:52 +00:00
# payments.usage-price-overrides: ""
# price user should pay for egress in dollars/TB
# payments.usage-price.egress-tb: "7"
# price user should pay for segments stored on network per month in dollars/segment
# payments.usage-price.segment: "0.0000088"
# price user should pay for storage per month in dollars/TB
# payments.usage-price.storage-tb: "4"
2023-06-13 15:03:54 +01:00
# whether to enable piece tracker observer with ranged loop
# piece-tracker.use-ranged-loop: true
2023-07-06 13:35:26 +01:00
# detailed placement rules in the form 'id:definition;id:definition;...' where id is a 16 bytes integer (use >10 for backward compatibility), definition is a combination of the following functions:country(2 letter country codes,...), tag(nodeId, key, bytes(value)) all(...,...).
# placement: ""
2020-07-07 15:48:09 +01:00
# how often to remove unused project bandwidth rollups
2023-02-02 21:05:41 +00:00
# project-bw-cleanup.interval: 24h0m0s
2020-07-07 15:48:09 +01:00
# 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.
2023-03-13 16:55:30 +00:00
# project-limit.cache-capacity: 20000
2020-09-09 20:20:44 +01:00
# how long to cache the project limits.
# project-limit.cache-expiration: 10m0s
2022-12-08 14:27:21 +00:00
# as of system interval
# ranged-loop.as-of-system-interval: -5m0s
# how many items to query in a batch
# ranged-loop.batch-size: 2500
2023-01-03 14:36:26 +00:00
# how often to run the loop
# ranged-loop.interval: 2h0m0s
2022-12-08 14:27:21 +00:00
# how many chunks of segments to process in parallel
# ranged-loop.parallelism: 2
2023-03-06 09:30:53 +00:00
# ratio where to consider processed count as supicious
# ranged-loop.suspicious-processed-ratio: 0.03
2023-06-16 10:42:05 +01:00
# time limit for dialing storage node
# repairer.dial-timeout: 5s
2023-05-18 19:47:23 +01:00
# repair pieces on the same network to other nodes
2023-07-17 15:23:20 +01:00
# repairer.do-declumping: true
2023-05-18 19:47:23 +01:00
2023-05-26 13:22:15 +01:00
# repair pieces out of segment placement
# repairer.do-placement-check: true
2019-10-30 20:31:08 +00:00
# time limit for downloading pieces from a node for repair
# repairer.download-timeout: 5m0s
2023-09-27 14:13:13 +01:00
# comma separated placement IDs (numbers), placements which should be ignored by the repairer
# repairer.excluded-placements: ""
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
2023-09-27 14:13:13 +01:00
# comma separated placement IDs (numbers), which should checked by the repairer (other placements are ignored)
# repairer.included-placements: ""
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
testplanet/satellite: reduce the number of places default values need to be configured
Satellites set their configuration values to default values using
cfgstruct, however, it turns out our tests don't test these values
at all! Instead, they have a completely separate definition system
that is easy to forget about.
As is to be expected, these values have drifted, and it appears
in a few cases test planet is testing unreasonable values that we
won't see in production, or perhaps worse, features enabled in
production were missed and weren't enabled in testplanet.
This change makes it so all values are configured the same,
systematic way, so it's easy to see when test values are different
than dev values or release values, and it's less hard to forget
to enable features in testplanet.
In terms of reviewing, this change should be actually fairly
easy to review, considering private/testplanet/satellite.go keeps
the current config system and the new one and confirms that they
result in identical configurations, so you can be certain that
nothing was missed and the config is all correct.
You can also check the config lock to see what actual config
values changed.
Change-Id: I6715d0794887f577e21742afcf56fd2b9d12170e
2021-05-31 22:15:00 +01:00
# repairer.max-buffer-mem: 4.0 MiB
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
2022-11-24 13:02:08 +00:00
# whether the audit score of nodes should be updated as a part of repair
# repairer.reputation-update-enabled: false
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
2023-04-25 09:40:22 +01:00
# whether to enable repair checker observer with ranged loop
# repairer.use-ranged-loop: true
2023-01-19 16:17:01 +00:00
2021-06-23 00:09:39 +01:00
# the number of times a node has been audited to not be considered a New Node
# reputation.audit-count: 100
# the reputation cut-off for disqualifying SNs based on audit history
2022-08-11 15:17:12 +01:00
# reputation.audit-dq: 0.96
2021-06-23 00:09:39 +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
# reputation.audit-history.grace-period: 168h0m0s
# whether nodes will be disqualified if they have low online score after a review period
# reputation.audit-history.offline-dq-enabled: false
# whether nodes will be suspended if they have low online score
# reputation.audit-history.offline-suspension-enabled: true
# 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.
# reputation.audit-history.offline-threshold: 0.6
# The length of time to track audit windows for node suspension and disqualification
# reputation.audit-history.tracking-period: 720h0m0s
# The length of time spanning a single audit window
# reputation.audit-history.window-size: 12h0m0s
2022-08-11 15:17:12 +01:00
# the forgetting factor used to update storage node reputation due to audits
# reputation.audit-lambda: 0.999
2021-06-23 00:09:39 +01:00
# weight to apply to audit reputation for total repair reputation calculation
# reputation.audit-repair-weight: 1
# weight to apply to audit reputation for total uplink reputation calculation
# reputation.audit-uplink-weight: 1
# the normalization weight used to calculate the audit SNs reputation
# reputation.audit-weight: 1
2022-05-07 20:04:12 +01:00
# the amount of time that should elapse before the cache retries failed database operations
# reputation.error-retry-interval: 1m0s
# the maximum amount of time that should elapse before cached reputation writes are flushed to the database (if 0, no reputation cache is used)
# reputation.flush-interval: 2h0m0s
2022-08-11 15:17:12 +01:00
# the value to which an alpha reputation value should be initialized
# reputation.initial-alpha: 1000
# the value to which a beta reputation value should be initialized
# reputation.initial-beta: 0
2021-06-23 00:09:39 +01:00
# whether nodes will be disqualified if they have been suspended for longer than the suspended grace period
# reputation.suspension-dq-enabled: false
# the time period that must pass before suspended nodes will be disqualified
# reputation.suspension-grace-period: 168h0m0s
2022-08-11 15:17:12 +01:00
# the reputation cut-off for disqualifying SNs based on returning 'unknown' errors during audit
# reputation.unknown-audit-dq: 0.6
# the forgetting factor used to update storage node reputation due to returning 'unknown' errors during audit'
# reputation.unknown-audit-lambda: 0.95
2022-04-12 17:59:07 +01:00
# expiration to use if user does not specify an rest key expiration
# rest-keys.default-expiration: 720h0m0s
2020-11-30 19:34:42 +00:00
# age at which a rollup is archived
# rollup-archive.archive-age: 2160h0m0s
# number of records to delete per delete execution. Used only for crdb which is slow without limit.
# rollup-archive.batch-size: 500
# whether or not the rollup archive is enabled.
# rollup-archive.enabled: true
# how frequently rollup archiver should run
# rollup-archive.interval: 24h0m0s
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
2022-07-20 09:10:29 +01:00
# how many tallies to delete in a batch
# rollup.delete-tallies-batch-size: 10000
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
2023-03-17 12:55:09 +00:00
# whether to debounce incoming messages
# server.debouncing-enabled: true
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
2023-03-17 12:55:09 +00:00
# enable support for tcp fast open
2023-01-05 14:41:03 +00:00
# server.tcp-fast-open: true
# the size of the tcp fast open queue
# server.tcp-fast-open-queue: 256
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
2020-12-31 18:43:13 +00:00
# whether nodes will be disqualified if they have not been contacted in some time
2021-03-15 17:07:18 +00:00
# stray-nodes.enable-dq: true
2020-12-31 18:43:13 +00:00
# how often to check for and DQ stray nodes
# stray-nodes.interval: 168h0m0s
2021-03-15 20:48:36 +00:00
# Max number of nodes to return in a single query. Chore will iterate until rows returned is less than limit
# stray-nodes.limit: 1000
2020-12-31 18:43:13 +00:00
# length of time a node can go without contacting satellite before being disqualified
# stray-nodes.max-duration-without-contact: 720h0m0s
2023-08-01 09:43:48 +01:00
# comma-separated paths of additional cert files, used to validate signed node tags
# tag-authorities: ""
2021-07-01 12:29:25 +01:00
# as of system interval
# tally.as-of-system-interval: -5m0s
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
2023-05-22 18:30:25 +01:00
# how many buckets to query in a batch
2021-07-01 12:29:25 +01:00
# tally.list-limit: 2500
2020-11-29 16:13:06 +00:00
# how large of batches GetBandwidthSince should process at a time
# tally.read-rollup-batch-size: 10000
2020-11-28 20:54:52 +00:00
# how large of batches SaveRollup should process at a time
# tally.save-rollup-batch-size: 1000
2023-06-15 12:30:41 +01:00
# how large should be insert into tallies
# tally.save-tallies-batch-size: 10000
2023-04-24 09:32:56 +01:00
# whether to enable node tally with ranged loop
# tally.use-ranged-loop: true
2022-12-15 19:22:18 +00:00
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
2022-07-26 16:42:34 +01:00
# tracing.enabled: true
2020-04-24 19:09:59 +01:00
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
2022-12-12 11:33:58 +00:00
# A comma delimited list of peers (IDs/addresses) allowed to use this endpoint.
# userinfo.allowed-peers: ""
2022-12-22 10:58:46 +00:00
# Whether the private Userinfo rpc endpoint is enabled
# userinfo.enabled: false
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
2021-05-06 12:54:10 +01:00
2023-05-15 12:48:03 +01:00
# as of system interval
# zombie-deletion.as-of-system-interval: -5m0s
2021-05-06 12:54:10 +01:00
# set if zombie object cleanup is enabled or not
2021-12-21 12:26:18 +00:00
# zombie-deletion.enabled: true
2021-05-06 12:54:10 +01:00
# after what time object will be deleted if there where no new upload activity
# zombie-deletion.inactive-for: 24h0m0s
# the time between each attempt to go through the db and clean up zombie objects
# zombie-deletion.interval: 12h0m0s
# how many objects to query in a batch
# zombie-deletion.list-limit: 100