# the fully qualified module or class of the application
#application=socorro.middleware.middleware_app.MiddlewareApp

# the default index used to store data
# see "resource.elasticsearch.elasticsearch_default_index" for the default or override it here
#elasticsearch_default_index=socorro

[resource]

    #+include ./common_resource.ini

    [[elasticsearch]]

        #+include ./common_elasticsearch.ini

        # String containing the URI of the Elastic Search instance.
        #elasticSearchHostname=localhost

        # String containing the port on which calling the Elastic Search instance.
        #elasticSearchPort=9200

        # the default index used to store data
        #elasticsearch_default_index=socorro

        # the default doctype to use in elasticsearch
        #elasticsearch_doctype=crash_reports

        # an index format to pull crashes from elasticsearch (use datetime's strftime format to have daily, weekly or monthly indexes)
        #elasticsearch_index=socorro%Y%W

        # the time in seconds before a query to elasticsearch fails
        #elasticsearch_timeout=30

        # the time in seconds before a query to elasticsearch fails in restricted sections
        #elasticsearch_timeout_extended=120

        # the urls to the elasticsearch instances
        #elasticsearch_urls=http://localhost:9200

    [[fs]]

        #+include ./common_fs.ini

        # the default dump field
        #dump_field=upload_file_minidump

        # the suffix used to identify a dump file
        #dump_file_suffix=.dump

        # a path to a file system
        #fs_root=./crashes

        # the suffix used to identify a json file
        #json_file_suffix=.json

        # the suffix used to identify a gzipped json file
        #jsonz_file_suffix=.jsonz

        # the directory base name to use for the named radix tree storage
        #name_branch_base=name

        # umask to use for new files
        #umask=18

    [[hb]]

        #+include ./common_hb.ini

        # delays in seconds between retries
        #backoff_delays=10, 30, 60, 120, 300

        # the suffix used to identify a dump file (for use in temp files)
        #dump_file_suffix=.dump

        # the class responsible for proving an hbase connection
        #hbase_connection_context_class=socorro.external.hb.connection_context.HBaseConnectionContext

        # Host to HBase server
        #hbase_host=localhost

        # Port to HBase server
        #hbase_port=9090

        # timeout in milliseconds for an HBase connection
        #hbase_timeout=5000

        # the maximum number of new crashes to yield at a time
        #new_crash_limit=1000000

        # a local filesystem path where dumps temporarily during processing
        #temporary_file_system_storage_path=/tmp

        # a class that will execute transactions
        #transaction_executor_class=socorro.database.transaction_executor.TransactionExecutorWithInfiniteBackoff

        # seconds between log during retries
        #wait_log_interval=10

    [[logging]]

        #+include ./common_logging.ini

        # logging level for the logging to stderr (10 - DEBUG, 20 - INFO, 30 - WARNING, 40 - ERROR, 50 - CRITICAL)
        #stderr_error_logging_level=10

        # python logging system format for logging to stderr
        #stderr_line_format_string={asctime} {levelname} - {threadName} - {message}

        # logging level for the log file (10 - DEBUG, 20 - INFO, 30 - WARNING, 40 - ERROR, 50 - CRITICAL)
        #syslog_error_logging_level=40

        # syslog facility string ("user", "local0", etc)
        #syslog_facility_string=user

        # syslog hostname
        #syslog_host=localhost

        # python logging system format for syslog entries
        #syslog_line_format_string=middleware (pid {process}): {asctime} {levelname} - {threadName} - {message}

        # syslog port
        #syslog_port=514

    [[postgresql]]

        #+include ./common_postgresql.ini

        # the hostname of the database
        #database_hostname=localhost

        # the name of the database
        #database_name=breakpad

        # the port for the database
        #database_port=5432

    [[rabbitmq]]

        #+include ./common_rabbitmq.ini

        # the hostname of the RabbitMQ server
        #host=localhost

        # the port for the RabbitMQ server
        #port=5672

        # the name of priority crash queue name within RabbitMQ
        #priority_queue_name=socorro.priority

        # a classname for the type of wrapper for RabbitMQ connections
        #rabbitmq_connection_wrapper_class=socorro.external.rabbitmq.connection_context.Connection

        # the name of standard crash queue name within RabbitMQ
        #standard_queue_name=socorro.normal

        # the name of the RabbitMQ virtual host
        #virtual_host=/

    [[redactor]]

        #+include ./common_redactor.ini

        # a list of keys not allowed in a redacted processed crash
        #forbidden_keys=url, email, user_id, exploitability,json_dump.sensitive,upload_file_minidump_flash1.json_dump.sensitive,upload_file_minidump_flash2.json_dump.sensitive,upload_file_minidump_browser.json_dump.sensitive,memory_info

        # the name of the class that implements a 'redact' method
        #redactor_class=socorro.external.crashstorage_base.Redactor

[secrets]

    #+include ./common_secrets.ini

    [[postgresql]]

        #+include ./common_postgresql.ini

        # the user's database password
        #database_password=aPassword

        # the name of the user within the database
        #database_username=breakpad_rw

    [[rabbitmq]]

        #+include ./common_rabbitmq.ini

        # the user's RabbitMQ password
        #rabbitmq_password=guest

        # the name of the user within the RabbitMQ instance
        #rabbitmq_user=guest

    [[sentry]]

        #+include ./common_sentry.ini

        # DSN for Sentry via raven
        #dsn=

[database]

    # None
    #database_class=socorro.external.postgresql.connection_context.ConnectionContext

    # the hostname of the database
    # see "resource.postgresql.database_hostname" for the default or override it here
    #database_hostname=localhost

    # the name of the database
    # see "resource.postgresql.database_name" for the default or override it here
    #database_name=breakpad

    # the user's database password
    # see "secrets.postgresql.database_password" for the default or override it here
    #database_password=aPassword

    # the port for the database
    # see "resource.postgresql.database_port" for the default or override it here
    #database_port=5432

    # the name of the user within the database
    # see "secrets.postgresql.database_username" for the default or override it here
    #database_username=breakpad_rw

[filesystem]

    # the default dump field
    # see "resource.fs.dump_field" for the default or override it here
    #dump_field=upload_file_minidump

    # the suffix used to identify a dump file
    # see "resource.fs.dump_file_suffix" for the default or override it here
    #dump_file_suffix=.dump

    # None
    #filesystem_class=socorro.external.fs.crashstorage.FSLegacyRadixTreeStorage

    # a list of keys not allowed in a redacted processed crash
    # see "resource.redactor.forbidden_keys" for the default or override it here
    #forbidden_keys=url, email, user_id, exploitability,json_dump.sensitive,upload_file_minidump_flash1.json_dump.sensitive,upload_file_minidump_flash2.json_dump.sensitive,upload_file_minidump_browser.json_dump.sensitive,memory_info

    # a path to a file system
    # see "resource.fs.fs_root" for the default or override it here
    #fs_root=./crashes

    # the suffix used to identify a json file
    # see "resource.fs.json_file_suffix" for the default or override it here
    #json_file_suffix=.json

    # the suffix used to identify a gzipped json file
    # see "resource.fs.jsonz_file_suffix" for the default or override it here
    #jsonz_file_suffix=.jsonz

    # the directory base name to use for the named radix tree storage
    # see "resource.fs.name_branch_base" for the default or override it here
    #name_branch_base=name

    # the name of the class that implements a 'redact' method
    # see "resource.redactor.redactor_class" for the default or override it here
    #redactor_class=socorro.external.crashstorage_base.Redactor

    # umask to use for new files
    # see "resource.fs.umask" for the default or override it here
    #umask=18

[hbase]

    # delays in seconds between retries
    # see "resource.hb.backoff_delays" for the default or override it here
    #backoff_delays=10, 30, 60, 120, 300

    # the suffix used to identify a dump file (for use in temp files)
    # see "resource.hb.dump_file_suffix" for the default or override it here
    #dump_file_suffix=.dump

    # a list of keys not allowed in a redacted processed crash
    # see "resource.redactor.forbidden_keys" for the default or override it here
    #forbidden_keys=url, email, user_id, exploitability,json_dump.sensitive,upload_file_minidump_flash1.json_dump.sensitive,upload_file_minidump_flash2.json_dump.sensitive,upload_file_minidump_browser.json_dump.sensitive,memory_info

    # None
    #hbase_class=socorro.external.hb.crashstorage.HBaseCrashStorage

    # the class responsible for proving an hbase connection
    # see "resource.hb.hbase_connection_context_class" for the default or override it here
    #hbase_connection_context_class=socorro.external.hb.connection_context.HBaseConnectionContext

    # Host to HBase server
    # see "resource.hb.hbase_host" for the default or override it here
    #hbase_host=localhost

    # Port to HBase server
    # see "resource.hb.hbase_port" for the default or override it here
    #hbase_port=9090

    # timeout in milliseconds for an HBase connection
    # see "resource.hb.hbase_timeout" for the default or override it here
    #hbase_timeout=5000

    # the maximum number of new crashes to yield at a time
    # see "resource.hb.new_crash_limit" for the default or override it here
    #new_crash_limit=1000000

    # the name of the class that implements a 'redact' method
    # see "resource.redactor.redactor_class" for the default or override it here
    #redactor_class=socorro.external.crashstorage_base.Redactor

    # a local filesystem path where dumps temporarily during processing
    # see "resource.hb.temporary_file_system_storage_path" for the default or override it here
    #temporary_file_system_storage_path=/tmp

    # a class that will execute transactions
    # see "resource.hb.transaction_executor_class" for the default or override it here
    #transaction_executor_class=socorro.database.transaction_executor.TransactionExecutorWithInfiniteBackoff

    # seconds between log during retries
    # see "resource.hb.wait_log_interval" for the default or override it here
    #wait_log_interval=10

[http]

    [[correlations]]

        # Base URL where correlations text files are
        #base_url=https://crash-analysis.mozilla.com/crash_analysis/
        base_url=https://crash-analysis/crash_analysis/

        # Whether files downloaded for correlations should be temporary stored on disk
        #save_download=True

        # Directory where the temporary downloads are stored (if left empty will become the systems tmp directory)
        #save_root=

        # Number of seconds that the downloaded .txt file is stored in a temporary place
        #save_seconds=600

[implementations]

    # list of packages for service implementations
    #implementation_list=psql: socorro.external.postgresql, hbase: socorro.external.hb, es: socorro.external.elasticsearch, fs: socorro.external.fs, http: socorro.external.http, rabbitmq: socorro.external.rabbitmq

    # comma separated list of class overrides, e.g `Crashes: hbase`
    #service_overrides=CrashData: fs, Correlations: http, CorrelationsSignatures: http, SuperSearch: es, Priorityjobs: rabbitmq, Query: es

[introspection]

    # None
    #implementation_class=socorro.middleware.middleware_app.ImplementationWrapper

[laglog]

    # Number of bytes that warrents a critial
    #max_bytes_critical=33554432

    # Number of bytes that warrents a warning
    #max_bytes_warning=16777216

[logging]

    # logging level for the logging to stderr (10 - DEBUG, 20 - INFO, 30 - WARNING, 40 - ERROR, 50 - CRITICAL)
    # see "resource.logging.stderr_error_logging_level" for the default or override it here
    #stderr_error_logging_level=10

    # python logging system format for logging to stderr
    # see "resource.logging.stderr_line_format_string" for the default or override it here
    #stderr_line_format_string={asctime} {levelname} - {threadName} - {message}

    # logging level for the log file (10 - DEBUG, 20 - INFO, 30 - WARNING, 40 - ERROR, 50 - CRITICAL)
    # see "resource.logging.syslog_error_logging_level" for the default or override it here
    #syslog_error_logging_level=40

    # syslog facility string ("user", "local0", etc)
    # see "resource.logging.syslog_facility_string" for the default or override it here
    #syslog_facility_string=user

    # syslog hostname
    # see "resource.logging.syslog_host" for the default or override it here
    #syslog_host=localhost

    # python logging system format for syslog entries
    # see "resource.logging.syslog_line_format_string" for the default or override it here
    #syslog_line_format_string=middleware (pid {process}): {asctime} {levelname} - {threadName} - {message}

    # syslog port
    # see "resource.logging.syslog_port" for the default or override it here
    #syslog_port=514

[rabbitmq]

    # the hostname of the RabbitMQ server
    # see "resource.rabbitmq.host" for the default or override it here
    #host=localhost

    # the port for the RabbitMQ server
    # see "resource.rabbitmq.port" for the default or override it here
    #port=5672

    # the name of priority crash queue name within RabbitMQ
    # see "resource.rabbitmq.priority_queue_name" for the default or override it here
    #priority_queue_name=socorro.priority

    # None
    #rabbitmq_class=socorro.external.rabbitmq.connection_context.ConnectionContext

    # a classname for the type of wrapper for RabbitMQ connections
    # see "resource.rabbitmq.rabbitmq_connection_wrapper_class" for the default or override it here
    #rabbitmq_connection_wrapper_class=socorro.external.rabbitmq.connection_context.Connection

    # the user's RabbitMQ password
    # see "secrets.rabbitmq.rabbitmq_password" for the default or override it here
    #rabbitmq_password=guest

    # the name of the user within the RabbitMQ instance
    # see "secrets.rabbitmq.rabbitmq_user" for the default or override it here
    #rabbitmq_user=guest

    # the name of reprocessing crash queue name within RabbitMQ
    #reprocessing_queue_name=socorro.reprocessing

    # the name of standard crash queue name within RabbitMQ
    # see "resource.rabbitmq.standard_queue_name" for the default or override it here
    #standard_queue_name=socorro.normal

    # the name of the RabbitMQ virtual host
    # see "resource.rabbitmq.virtual_host" for the default or override it here
    #virtual_host=/

[sentry]

    # DSN for Sentry via raven
    # see "secrets.sentry.dsn" for the default or override it here
    #dsn=

[web_server]

    # a class implementing a wsgi web server
    wsgi_server_class=socorro.webapi.servers.ApacheModWSGI

[webapi]

    # String containing the URI of the Elastic Search instance.
    # see "resource.elasticsearch.elasticSearchHostname" for the default or override it here
    #elasticSearchHostname=localhost

    # String containing the port on which calling the Elastic Search instance.
    # see "resource.elasticsearch.elasticSearchPort" for the default or override it here
    #elasticSearchPort=9200

    # the default doctype to use in elasticsearch
    # see "resource.elasticsearch.elasticsearch_doctype" for the default or override it here
    #elasticsearch_doctype=crash_reports

    # an index format to pull crashes from elasticsearch (use datetime's strftime format to have daily, weekly or monthly indexes)
    # see "resource.elasticsearch.elasticsearch_index" for the default or override it here
    #elasticsearch_index=socorro%Y%W

    # the time in seconds before a query to elasticsearch fails
    # see "resource.elasticsearch.elasticsearch_timeout" for the default or override it here
    #elasticsearch_timeout=30

    # the time in seconds before a query to elasticsearch fails in restricted sections
    # see "resource.elasticsearch.elasticsearch_timeout_extended" for the default or override it here
    #elasticsearch_timeout_extended=120

    # the urls to the elasticsearch instances
    # see "resource.elasticsearch.elasticsearch_urls" for the default or override it here
    #elasticsearch_urls=http://localhost:9200

    # the maximum number of results a facet will return in search
    #facets_max_number=50

    # List of channels, excluding the `release` one.
    #non_release_channels=beta, aurora, nightly

    # Array associating OS ids to full names.
    #platforms={"id": "windows", "name": "Windows NT"}, {"id": "mac", "name": "Mac OS X"}, {"id": "linux", "name": "Linux"}

    # List of channels to restrict based on build ids.
    #restricted_channels=beta

    # Integer containing the maximum allowed number of distinct signatures the system should retrieve. Used mainly for performances in ElasticSearch
    #searchMaxNumberOfDistinctSignatures=1000

    # the default date range for searches, in days
    #search_default_date_range=7

    # the maximum date range for searches, in days
    #search_maximum_date_range=365

