Configuration¶
Processor configuration¶
Honcho runs a processor process and a disk cache manager process. Both share the same configuration.
- Configuration¶
Configuration summary:
Setting
Parser
Required?
bool
bool
str
str
str
str
cloud_provider_parser
str
str
or_none(parse_data_size)
str
str
str
or_none(parse_time_period)
ListOf(str)
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
Yes
str
int
or_none(int)
or_none(int)
Configuration options:
- TOOL_ENV¶
- Parser
bool
- Default
“False”
- Required
No
Whether or not this is running in a tool environment and should ignore required configuration.
- LOCAL_DEV_ENV¶
- Parser
bool
- Default
“False”
- Required
No
Whether or not this is a local development environment.
- HOST_ID¶
- Parser
str
- Default
“socket.gethostname()”
- Required
No
Name of the host this is running on.
- SENTRY_DSN¶
- Parser
str
- Default
“”
- Required
No
Sentry DSN or empty string to disable.
- LOGGING_LEVEL¶
- Parser
str
- Default
“INFO”
- Required
No
Default logging level. Should be one of INFO, DEBUG, WARNING, ERROR.
- LOCAL_DEV_AWS_ENDPOINT_URL¶
- Parser
str
- Default
“”
- Required
No
Endpoint url for AWS SQS/S3 in the local dev environment. Don’t set this in server environments.
- CLOUD_PROVIDER¶
- Parser
cloud_provider_parser
- Default
“AWS”
- Required
No
The cloud provider to use for queueing and blob storage. Must be AWS or GCP.
- CACHE_MANAGER_LOGGING_LEVEL¶
- Parser
str
- Default
“INFO”
- Required
No
Default logging level for the cache manager. Should be one of INFO, DEBUG, WARNING, ERROR.
- SYMBOLS_CACHE_PATH¶
- Parser
str
- Default
“os.path.join(tempfile.gettempdir(), “symbols”, “cache”)”
- Required
No
Directory to use for the on-disk LRU-cache for symbols files.
- SYMBOLS_CACHE_MAX_SIZE¶
- Parser
or_none(parse_data_size)
- Default
“40gb”
- Required
No
Max size (bytes) of symbols cache. You can use _ to group digits for legibility. You can use units like kb, mb, gb, tb, etc.
- BETAVERSIONRULE_VERSION_STRING_API¶
- Parser
str
- Default
- Required
No
URL for the version string API endpoint in the Crash Stats webapp.
- PROCESSOR_TEMPORARY_PATH¶
- Parser
str
- Default
“tempfile.gettempdir()”
- Required
No
Directory to use as a workspace for crash report processing.
- STACKWALKER_COMMAND_PATH¶
- Parser
str
- Default
“/stackwalk-rust/minidump-stackwalk”
- Required
No
Aboslute path to the stackwalker binary.
- STACKWALKER_KILL_TIMEOUT¶
- Parser
or_none(parse_time_period)
- Default
“2m”
- Required
No
Timeout in seconds before the stackwalker is killed.
- STACKWALKER_SYMBOLS_URLS¶
- Parser
ListOf(str)
- Default
“”
- Required
No
Comma-separated list of urls for symbols suppliers.
- SYMBOLS_TMP_PATH¶
- Parser
str
- Default
“os.path.join(tempfile.gettempdir(), “symbols”, “tmp”)”
- Required
No
Directory to use for temporary storage of files being downloaded.
- SQS_STANDARD_QUEUE¶
- Parser
str
- Default
“standard-queue”
- Required
No
Name for the standard processing queue.
- SQS_PRIORITY_QUEUE¶
- Parser
str
- Default
“priority-queue”
- Required
No
Name for the priority processing queue.
- SQS_REPROCESSING_QUEUE¶
- Parser
str
- Default
“reprocessing-queue”
- Required
No
Name for the reprocessing queue.
- TELEMETRY_S3_ACCESS_KEY¶
- Parser
str
- Default
“”
- Required
No
S3 access key for telemetry bucket.
- TELEMETRY_S3_SECRET_ACCESS_KEY¶
- Parser
str
- Default
“”
- Required
No
S3 secret access key for telemetry bucket.
- TELEMETRY_S3_REGION¶
- Parser
str
- Default
“”
- Required
No
S3 region.
- PUBSUB_PROJECT_ID¶
- Parser
str
- Default
“test”
- Required
No
Google Compute Platform project_id.
- PUBSUB_STANDARD_TOPIC_NAME¶
- Parser
str
- Default
“standard-queue”
- Required
No
Topic name for the standard processing queue.
- PUBSUB_STANDARD_SUBSCRIPTION_NAME¶
- Parser
str
- Default
“standard-queue”
- Required
No
Subscription name for the standard processing queue.
- PUBSUB_PRIORITY_TOPIC_NAME¶
- Parser
str
- Default
“priority-queue”
- Required
No
Topic name for the priority processing queue.
- PUBSUB_PRIORITY_SUBSCRIPTION_NAME¶
- Parser
str
- Default
“priority-queue”
- Required
No
Subscription name for the priority processing queue.
- PUBSUB_REPROCESSING_TOPIC_NAME¶
- Parser
str
- Default
“reprocessing-queue”
- Required
No
Topic name for the reprocessing queue.
- PUBSUB_REPROCESSING_SUBSCRIPTION_NAME¶
- Parser
str
- Default
“reprocessing-queue”
- Required
No
Subscription name for the reprocessing queue.
- TELEMETRY_S3_BUCKET¶
- Parser
str
- Default
“”
- Required
No
S3 bucket name for telemetry data export.
- ELASTICSEARCH_INDEX¶
- Parser
str
- Default
“socorro%Y%W”
- Required
No
Template for Elasticsearch index names.
- ELASTICSEARCH_INDEX_REGEX¶
- Parser
str
- Default
“^socorro[0-9]{6}$”
- Required
No
Regex for matching Elasticsearch index names.
- ELASTICSEARCH_URL¶
- Parser
str
- Required
Yes
Elasticsearch url.
- STATSD_HOST¶
- Parser
str
- Default
“localhost”
- Required
No
statsd host.
- STATSD_PORT¶
- Parser
int
- Default
“8125”
- Required
No
statsd port.
- PROCESSOR_NUMBER_OF_THREADS¶
- Parser
or_none(int)
- Default
“4”
- Required
No
Number of worker threads for the processor.
- PROCESSOR_MAXIMUM_QUEUE_SIZE¶
- Parser
or_none(int)
- Default
“8”
- Required
No
Number of items to queue up from the processing queues.
Webapp / crontabber configuration¶
Gunicorn configuration:
- GUNICORN_TIMEOUT¶
- Parser
str
- Default
“300”
- Required
No
Specifies the timeout value in seconds.
https://docs.gunicorn.org/en/stable/settings.html#timeout
Used in bin/run_webapp.sh.
- GUNICORN_WORKERS¶
- Parser
str
- Default
“1”
- Required
No
Specifies the number of gunicorn workers.
You should set it to
(2 x $num_cores) + 1
.https://docs.gunicorn.org/en/stable/settings.html#workers
http://docs.gunicorn.org/en/stable/design.html#how-many-workers
Used in bin/run_webapp.sh.
- GUNICORN_WORKER_CLASS¶
- Parser
str
- Default
“sync”
- Required
No
Specifies the gunicorn worker type.
https://docs.gunicorn.org/en/stable/settings.html#workers
Used in bin/run_webapp.sh.
- GUNICORN_MAX_REQUESTS¶
- Parser
str
- Default
“10000”
- Required
No
The number of requests before recycling the gunicorn worker.
https://docs.gunicorn.org/en/stable/settings.html#workers
Used in bin/run_webapp.sh.
- GUNICORN_MAX_REQUESTS_JITTER¶
- Parser
str
- Default
“1000”
- Required
No
The range to generate a random amount to add to max requests so that everything isn’t restarting at the same time.
https://docs.gunicorn.org/en/stable/settings.html#workers
Used in bin/run_webapp.sh.
Webapp configuration:
- Configuration
Configuration summary:
Setting
Parser
Required?
parse_bool
parse_bool
parse_bool
str
ListOf(str)
str
str
str
str
str
parse_bool
str
int
str
str
str
str
Yes
parse_bool
parse_bool
str
str
str
parse_bool
str
str
str
str
str
int
int
int
int
str
str
str
str
int
str
Configuration options:
- TOOL_ENV
- Parser
parse_bool
- Default
“false”
- Required
No
Whether or not we’re running in a tool environment where we want to ignore required configuration
- LOCAL_DEV_ENV
- Parser
parse_bool
- Default
“false”
- Required
No
Whether or not we’re running in the local development environment
- DEBUG¶
- Parser
parse_bool
- Default
“false”
- Required
No
Debugging displays nice error messages, but leaks memory. Set this to false on all server instances and true only for development.
- STATIC_ROOT¶
- Parser
str
- Default
“path(“static”)”
- Required
No
Absolute path to the directory static files should be collected to.
- ALLOWED_HOSTS¶
- Parser
ListOf(str)
- Default
“”
- Required
No
- LOGGING_LEVEL
- Parser
str
- Default
“INFO”
- Required
No
Logging level for Crash Stats code
- DJANGO_LOGGING_LEVEL¶
- Parser
str
- Default
“INFO”
- Required
No
Logging level for Django logging (requests, SQL, etc)
- HOST_ID
- Parser
str
- Default
“socket.gethostname()”
- Required
No
Name of the host this is running on. Used in logging.
- BZAPI_BASE_URL¶
- Parser
str
- Default
- Required
No
Base URL for Bugzilla API
- BZAPI_TOKEN¶
- Parser
str
- Default
“”
- Required
No
Bugzilla API token
- CACHE_IMPLEMENTATION_FETCHES¶
- Parser
parse_bool
- Default
“true”
- Required
No
- STATSD_HOST
- Parser
str
- Default
“localhost”
- Required
No
- STATSD_PORT
- Parser
int
- Default
“8125”
- Required
No
- TIME_ZONE¶
- Parser
str
- Default
“UTC”
- Required
No
- DATABASE_URL¶
- Parser
str
- Default
“sqlite://sqlite.crashstats.db”
- Required
No
- NPM_ROOT_PATH¶
- Parser
str
- Default
“ROOT”
- Required
No
- SECRET_KEY¶
- Parser
str
- Required
Yes
Make this unique, and don’t share it with anybody. It cannot be blank.
- SESSION_COOKIE_SECURE¶
- Parser
parse_bool
- Default
“true”
- Required
No
If you intend to run WITHOUT HTTPS, such as local development, then set this to false
- SESSION_COOKIE_HTTPONLY¶
- Parser
parse_bool
- Default
“true”
- Required
No
By default, use HTTPONLY cookies
- X_FRAME_OPTIONS¶
- Parser
str
- Default
“DENY”
- Required
No
By default, we don’t want to be inside a frame. If you need to override this you can use the
django.views.decorators.clickjacking.xframe_options_sameorigin
decorator on specific views that can be in a frame.
- OVERVIEW_VERSION_URLS¶
- Parser
str
- Default
“”
- Required
No
Comma-separated list of urls that serve version information in JSON format
- SENTRY_DSN
- Parser
str
- Default
“”
- Required
No
Sentry aggregates reports of uncaught errors and other events
- ANALYZE_MODEL_FETCHES¶
- Parser
parse_bool
- Default
“true”
- Required
No
Set to true enable analysis of all model fetches
- OIDC_RP_CLIENT_ID¶
- Parser
str
- Default
“”
- Required
No
- OIDC_RP_CLIENT_SECRET¶
- Parser
str
- Default
“”
- Required
No
- OIDC_OP_AUTHORIZATION_ENDPOINT¶
- Parser
str
- Default
“”
- Required
No
- OIDC_OP_TOKEN_ENDPOINT¶
- Parser
str
- Default
“”
- Required
No
- OIDC_OP_USER_ENDPOINT¶
- Parser
str
- Default
“”
- Required
No
- LAST_LOGIN_MAX¶
- Parser
int
- Default
“str(60 * 60 * 24)”
- Required
No
Max number of seconds you are allowed to be logged in with OAuth2. When theuser has been logged in >= this number, the user is automatically logged out.
- NUMBER_OF_FEATURED_VERSIONS¶
- Parser
int
- Default
“4”
- Required
No
This is the number of versions to display if a particular product has no ‘featured versions’. Then we use the active versions, but capped up to this number.
- VERSIONS_WINDOW_DAYS¶
- Parser
int
- Default
“60”
- Required
No
Number of days to look at for versions in crash reports. This is set for two months. If we haven’t gotten a crash report for some version in two months, then seems like that version isn’t active.
- VERSIONS_COUNT_THRESHOLD¶
- Parser
int
- Default
“50”
- Required
No
Minimum number of crash reports in the VERSIONS_WINDOW_DAYS to be considered as a valid version.
- LESS_BINARY¶
- Parser
str
- Default
“path(“node_modules/.bin/lessc”)”
- Required
No
- UGLIFYJS_BINARY¶
- Parser
str
- Default
“path(“node_modules/.bin/uglifyjs”)”
- Required
No
- CSSMIN_BINARY¶
- Parser
str
- Default
“path(“node_modules/.bin/cssmin”)”
- Required
No
- CACHE_LOCATION¶
- Parser
str
- Default
“127.0.0.1:11211”
- Required
No
- CACHE_TIMEOUT¶
- Parser
int
- Default
“500”
- Required
No
- CACHE_KEY_PREFIX¶
- Parser
str
- Default
“socorro”
- Required
No