addons-server/settings.py

158 строки
5.4 KiB
Python
Исходник Обычный вид История

"""This is the standard development settings file.
If you need to overload settings, please do so in a local_settings.py file (it
won't be tracked in git).
"""
2014-10-01 15:44:44 +04:00
import os
from urlparse import urlparse
2014-10-01 15:44:44 +04:00
from olympia.lib.settings_base import * # noqa
WSGI_APPLICATION = 'olympia.wsgi.application'
DEBUG = True
# These apps are great during development.
INSTALLED_APPS += (
'olympia.landfill',
)
FILESYSTEM_CACHE_ROOT = os.path.join(TMP_PATH, 'cache')
# Disable cache-machine locally and in tests to prepare for its removal.
CACHE_MACHINE_ENABLED = False
# Using locmem deadlocks in certain scenarios. This should all be fixed,
# hopefully, in Django1.7. At that point, we may try again, and remove this to
# not require memcache installation for newcomers.
# A failing scenario is:
# 1/ log in
# 2/ click on "Submit a new addon"
# 3/ click on "I accept this Agreement" => request never ends
#
# If this is changed back to locmem, make sure to use it from "caching" (by
# default in Django for locmem, a timeout of "0" means "don't cache it", while
# on other backends it means "cache forever"):
# 'BACKEND': 'caching.backends.locmem.LocMemCache'
CACHES = {
'default': {
'BACKEND': 'caching.backends.memcached.MemcachedCache',
2014-10-01 15:44:44 +04:00
'LOCATION': os.environ.get('MEMCACHE_LOCATION', 'localhost:11211'),
},
'filesystem': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': FILESYSTEM_CACHE_ROOT,
}
}
# For local development, we don't need mozlog loggers.
USE_MOZLOG = False
# If you're not running on SSL you'll want this to be False.
SESSION_COOKIE_SECURE = False
SESSION_COOKIE_DOMAIN = None
CELERY_TASK_ALWAYS_EAGER = False
# Assuming you did `npm install` (and not `-g`) like you were supposed to, this
2018-03-19 17:19:31 +03:00
# will be the path to the `lessc` executable.
2015-09-29 11:38:50 +03:00
LESS_BIN = os.getenv('LESS_BIN', path('node_modules/less/bin/lessc'))
CLEANCSS_BIN = os.getenv(
'CLEANCSS_BIN',
path('node_modules/clean-css-cli/bin/cleancss'))
UGLIFY_BIN = os.getenv(
'UGLIFY_BIN',
path('node_modules/uglify-js/bin/uglifyjs'))
ADDONS_LINTER_BIN = os.getenv(
'ADDONS_LINTER_BIN',
path('node_modules/addons-linter/bin/addons-linter'))
# Locally we typically don't run more than 1 elasticsearch node. So we set
# replicas to zero.
ES_DEFAULT_NUM_REPLICAS = 0
SITE_URL = os.environ.get('OLYMPIA_SITE_URL') or 'http://localhost:8000'
SERVICES_DOMAIN = urlparse(SITE_URL).netloc
SERVICES_URL = SITE_URL
ALLOWED_HOSTS = ALLOWED_HOSTS + [SERVICES_DOMAIN]
# Default AMO user id to use for tasks (from users.json fixture in zadmin).
TASK_USER_ID = 10968
2015-03-07 21:23:18 +03:00
# Set to True if we're allowed to use X-SENDFILE.
XSENDFILE = False
2018-04-09 17:48:02 +03:00
ALLOW_SELF_REVIEWS = True
AES_KEYS = {
'api_key:secret': os.path.join(
ROOT, 'src', 'olympia', 'api', 'tests', 'assets', 'test-api-key.txt'),
}
CORS_ENDPOINT_OVERRIDES = cors_endpoint_overrides(
['localhost:3000', 'olympia.test']
)
# FxA config for local development only.
FXA_CONFIG = {
2016-04-21 23:31:31 +03:00
'default': {
WIP: Cleanup locustio based performance / smoke tests, add more entities (#8358) * Port mozilla/amo-loadtest to FXA authentication and WebExtensions. This is the first part of many to improve our load-tests and allow them to be run regularly as part of a regression test suite. This commit primarily ports the existing tests over to our repository, updates them to use FxA authentication and uses a WebExtension for the upload test. This only implements the baseline for more work to come in #7744 but it's important to have authentication and the basic infrastructure working correctly. It's also still using the legacy add-on detail and listing pages, that'll obviously change - or be only true for SeaMonkey and Thunderbird related tests since we still have to support them (very low priority though) It also adds a first step of a summary report that links to new-relic. That'll need a bit more tooling and testing but it worked quite well in first tests. Refs #7744 Next steps: * Implement most of the read-only tests from #7744 * Check what needs auth in #7744, implement it properly * Implement database and cache query logging * Implement a unified merged test-report that uses the database and cache query logging and merges it with locust logs (using our new unique request id) * Fix makefile, show dummy-usage for now. * Delete generate-summary script for now * Pin and cleanup dependencies * Reverse all urls * Use passed in account for login * split things up * Use gevent for waiting, some cleanups, add first version of Dockerfile, running script, disable developer stuff for now * Add browsing collections and browsing categories * Add loads more variation, add support for thunderbird, seamonkey, multiple languages * Decrease size of docker images for local testing * Get installation and docker image mostly to work, docs, cleanups * Allow fxa environment variables be overwritten * Hit legacy site of every variation * More explicit theme testing * Add browsing for app-versions and various rss feeds * More variation in rss feeds, add featured and search tools * Add a few more response.success() calls * Test user profile pages, warn for empty collection pages * More docs * Add review browsing
2018-05-30 17:46:16 +03:00
'client_id': env('FXA_CLIENT_ID', default='f336377c014eacf0'),
'client_secret': env(
'FXA_CLIENT_SECRET',
default='5a36054059674b09ea56709c85b862c388f2d493d735070868ae8f476e16a80d'), # noqa
2016-04-21 23:31:31 +03:00
'content_host': 'https://stable.dev.lcip.org',
'oauth_host': 'https://oauth-stable.dev.lcip.org/v1',
'profile_host': 'https://stable.dev.lcip.org/profile/v1',
2018-01-26 09:08:08 +03:00
'redirect_url': 'http://olympia.test/api/v3/accounts/authenticate/',
2016-04-21 23:31:31 +03:00
'scope': 'profile',
},
2018-04-09 17:48:02 +03:00
'amo': {
WIP: Cleanup locustio based performance / smoke tests, add more entities (#8358) * Port mozilla/amo-loadtest to FXA authentication and WebExtensions. This is the first part of many to improve our load-tests and allow them to be run regularly as part of a regression test suite. This commit primarily ports the existing tests over to our repository, updates them to use FxA authentication and uses a WebExtension for the upload test. This only implements the baseline for more work to come in #7744 but it's important to have authentication and the basic infrastructure working correctly. It's also still using the legacy add-on detail and listing pages, that'll obviously change - or be only true for SeaMonkey and Thunderbird related tests since we still have to support them (very low priority though) It also adds a first step of a summary report that links to new-relic. That'll need a bit more tooling and testing but it worked quite well in first tests. Refs #7744 Next steps: * Implement most of the read-only tests from #7744 * Check what needs auth in #7744, implement it properly * Implement database and cache query logging * Implement a unified merged test-report that uses the database and cache query logging and merges it with locust logs (using our new unique request id) * Fix makefile, show dummy-usage for now. * Delete generate-summary script for now * Pin and cleanup dependencies * Reverse all urls * Use passed in account for login * split things up * Use gevent for waiting, some cleanups, add first version of Dockerfile, running script, disable developer stuff for now * Add browsing collections and browsing categories * Add loads more variation, add support for thunderbird, seamonkey, multiple languages * Decrease size of docker images for local testing * Get installation and docker image mostly to work, docs, cleanups * Allow fxa environment variables be overwritten * Hit legacy site of every variation * More explicit theme testing * Add browsing for app-versions and various rss feeds * More variation in rss feeds, add featured and search tools * Add a few more response.success() calls * Test user profile pages, warn for empty collection pages * More docs * Add review browsing
2018-05-30 17:46:16 +03:00
'client_id': env('FXA_CLIENT_ID', default='0f95f6474c24c1dc'),
'client_secret': env(
'FXA_CLIENT_SECRET',
default='ca45e503a1b4ec9e2a3d4855d79849e098da18b7dfe42b6bc76dfed420fc1d38'), # noqa
2016-04-21 23:31:31 +03:00
'content_host': 'https://stable.dev.lcip.org',
'oauth_host': 'https://oauth-stable.dev.lcip.org/v1',
'profile_host': 'https://stable.dev.lcip.org/profile/v1',
'redirect_url': 'http://localhost:3000/fxa-authenticate',
2016-04-21 23:31:31 +03:00
'scope': 'profile',
},
'local': {
WIP: Cleanup locustio based performance / smoke tests, add more entities (#8358) * Port mozilla/amo-loadtest to FXA authentication and WebExtensions. This is the first part of many to improve our load-tests and allow them to be run regularly as part of a regression test suite. This commit primarily ports the existing tests over to our repository, updates them to use FxA authentication and uses a WebExtension for the upload test. This only implements the baseline for more work to come in #7744 but it's important to have authentication and the basic infrastructure working correctly. It's also still using the legacy add-on detail and listing pages, that'll obviously change - or be only true for SeaMonkey and Thunderbird related tests since we still have to support them (very low priority though) It also adds a first step of a summary report that links to new-relic. That'll need a bit more tooling and testing but it worked quite well in first tests. Refs #7744 Next steps: * Implement most of the read-only tests from #7744 * Check what needs auth in #7744, implement it properly * Implement database and cache query logging * Implement a unified merged test-report that uses the database and cache query logging and merges it with locust logs (using our new unique request id) * Fix makefile, show dummy-usage for now. * Delete generate-summary script for now * Pin and cleanup dependencies * Reverse all urls * Use passed in account for login * split things up * Use gevent for waiting, some cleanups, add first version of Dockerfile, running script, disable developer stuff for now * Add browsing collections and browsing categories * Add loads more variation, add support for thunderbird, seamonkey, multiple languages * Decrease size of docker images for local testing * Get installation and docker image mostly to work, docs, cleanups * Allow fxa environment variables be overwritten * Hit legacy site of every variation * More explicit theme testing * Add browsing for app-versions and various rss feeds * More variation in rss feeds, add featured and search tools * Add a few more response.success() calls * Test user profile pages, warn for empty collection pages * More docs * Add review browsing
2018-05-30 17:46:16 +03:00
'client_id': env('FXA_CLIENT_ID', default='1778aef72d1adfb3'),
'client_secret': env(
'FXA_CLIENT_SECRET',
default='3feebe3c009c1a0acdedd009f3530eae2b88859f430fa8bb951ea41f2f859b18'), # noqa
'content_host': 'https://stable.dev.lcip.org',
'oauth_host': 'https://oauth-stable.dev.lcip.org/v1',
'profile_host': 'https://stable.dev.lcip.org/profile/v1',
'redirect_url': 'http://localhost:3000/api/v3/accounts/authenticate/',
'scope': 'profile',
},
}
ALLOWED_FXA_CONFIGS = ['default', 'amo', 'local']
# CSP report endpoint which returns a 204 from addons-nginx in local dev.
CSP_REPORT_URI = '/csp-report'
# Allow GA over http + www subdomain in local development.
HTTP_GA_SRC = 'http://www.google-analytics.com'
CSP_IMG_SRC += (HTTP_GA_SRC,)
CSP_SCRIPT_SRC += (HTTP_GA_SRC, "'self'")
# Auth token required to authorize inbound email.
INBOUND_EMAIL_SECRET_KEY = 'totally-unsecure-secret-string'
# Validation key we need to send in POST response.
INBOUND_EMAIL_VALIDATION_KEY = 'totally-unsecure-validation-string'
# If you have settings you want to overload, put them in a local_settings.py.
try:
from local_settings import * # noqa
except ImportError as exc:
import warnings
import traceback
warnings.warn('Could not import local_settings module. {}'.format(
traceback.format_exc()))