Files
notifications-admin/app/config.py
T

198 lines
6.6 KiB
Python
Raw Normal View History

import os
if os.environ.get('VCAP_APPLICATION'):
# on cloudfoundry, config is a json blob in VCAP_APPLICATION - unpack it, and populate
2016-12-08 16:50:37 +00:00
# standard environment variables from it
from app.cloudfoundry_config import extract_cloudfoundry_config
extract_cloudfoundry_config()
2015-11-24 09:40:14 +00:00
class Config(object):
2018-02-27 15:32:13 +00:00
ADMIN_CLIENT_SECRET = os.environ.get('ADMIN_CLIENT_SECRET')
API_HOST_NAME = os.environ.get('API_HOST_NAME')
SECRET_KEY = os.environ.get('SECRET_KEY')
DANGEROUS_SALT = os.environ.get('DANGEROUS_SALT')
2018-04-24 17:37:15 +01:00
ZENDESK_API_KEY = os.environ.get('ZENDESK_API_KEY')
2016-12-08 16:50:37 +00:00
2017-03-27 17:59:06 +01:00
# if we're not on cloudfoundry, we can get to this app from localhost. but on cloudfoundry its different
2017-04-03 13:47:39 +01:00
ADMIN_BASE_URL = os.environ.get('ADMIN_BASE_URL', 'http://localhost:6012')
2017-03-27 17:59:06 +01:00
2017-04-10 18:12:00 +01:00
TEMPLATE_PREVIEW_API_HOST = os.environ.get('TEMPLATE_PREVIEW_API_HOST', 'http://localhost:6013')
TEMPLATE_PREVIEW_API_KEY = os.environ.get('TEMPLATE_PREVIEW_API_KEY', 'my-secret-key')
2016-12-01 17:21:06 +00:00
# Hosted graphite statsd prefix
2019-08-05 13:47:53 +01:00
STATSD_ENABLED = False
STATSD_HOST = os.getenv('STATSD_HOST')
STATSD_PORT = 8125
2016-12-01 17:21:06 +00:00
STATSD_PREFIX = os.getenv('STATSD_PREFIX')
2016-09-07 10:31:33 +01:00
2017-01-09 19:14:04 +00:00
# Logging
2016-12-08 16:50:37 +00:00
DEBUG = False
2017-08-09 16:53:56 +01:00
NOTIFY_LOG_PATH = os.getenv('NOTIFY_LOG_PATH')
2016-12-08 16:50:37 +00:00
2016-09-07 10:31:33 +01:00
ADMIN_CLIENT_USER_NAME = 'notify-admin'
ANTIVIRUS_API_HOST = os.environ.get('ANTIVIRUS_API_HOST')
ANTIVIRUS_API_KEY = os.environ.get('ANTIVIRUS_API_KEY')
2015-11-24 09:40:14 +00:00
ASSETS_DEBUG = False
AWS_REGION = 'eu-west-1'
DEFAULT_SERVICE_LIMIT = 50
DEFAULT_FREE_SMS_FRAGMENT_LIMITS = {
'central': 250000,
'local': 25000,
2019-07-15 18:03:59 +01:00
'nhs_central': 250000,
'nhs_local': 25000,
2019-08-29 17:45:17 +01:00
'nhs_gp': 25000,
2019-07-15 18:03:59 +01:00
'emergency_service': 25000,
'school_or_college': 25000,
'other': 25000,
}
EMAIL_EXPIRY_SECONDS = 3600 # 1 hour
INVITATION_EXPIRY_SECONDS = 3600 * 24 * 2 # 2 days - also set on api
EMAIL_2FA_EXPIRY_SECONDS = 1800 # 30 Minutes
HEADER_COLOUR = '#FFBF47' # $yellow
HTTP_PROTOCOL = 'http'
MAX_FAILED_LOGIN_COUNT = 10
NOTIFY_APP_NAME = 'admin'
NOTIFY_LOG_LEVEL = 'DEBUG'
2017-02-20 11:31:41 +00:00
PERMANENT_SESSION_LIFETIME = 20 * 60 * 60 # 20 hours
SEND_FILE_MAX_AGE_DEFAULT = 365 * 24 * 60 * 60 # 1 year
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'notify_admin_session'
SESSION_COOKIE_SECURE = True
SESSION_REFRESH_EACH_REQUEST = True
2016-02-15 11:47:54 +00:00
SHOW_STYLEGUIDE = True
WTF_CSRF_ENABLED = True
WTF_CSRF_TIME_LIMIT = None
2016-04-07 17:33:30 +01:00
CSV_UPLOAD_BUCKET_NAME = 'local-notifications-csv-upload'
ACTIVITY_STATS_LIMIT_DAYS = 7
TEST_MESSAGE_FILENAME = 'Report'
2016-02-15 11:47:54 +00:00
2016-12-01 17:21:06 +00:00
NOTIFY_ENVIRONMENT = 'development'
2017-08-02 11:05:17 +01:00
LOGO_UPLOAD_BUCKET_NAME = 'public-logos-local'
2018-03-16 17:27:47 +00:00
MOU_BUCKET_NAME = 'local-mou'
2019-09-06 17:10:48 +01:00
TRANSIENT_UPLOADED_LETTERS = 'local-transient-uploaded-letters'
2017-11-15 12:05:05 +00:00
ROUTE_SECRET_KEY_1 = os.environ.get('ROUTE_SECRET_KEY_1', '')
ROUTE_SECRET_KEY_2 = os.environ.get('ROUTE_SECRET_KEY_2', '')
2017-11-16 16:33:21 +00:00
CHECK_PROXY_HEADER = False
2017-07-24 15:20:40 +01:00
2018-04-06 13:37:49 +01:00
REDIS_URL = os.environ.get('REDIS_URL')
REDIS_ENABLED = os.environ.get('REDIS_ENABLED') == '1'
2018-11-29 11:29:52 +00:00
ASSET_DOMAIN = ''
ASSET_PATH = '/static/'
2019-05-13 10:17:20 +01:00
NOTIFY_SERVICE_ID = 'd6aa2c68-a2d9-4437-ab19-3ae8eb202553'
2015-11-24 09:40:14 +00:00
class Development(Config):
2017-08-09 15:30:24 +01:00
NOTIFY_LOG_PATH = 'application.log'
2015-11-24 09:40:14 +00:00
DEBUG = True
2016-02-23 15:45:19 +00:00
SESSION_COOKIE_SECURE = False
2016-05-04 13:01:55 +01:00
SESSION_PROTECTION = None
2016-12-01 17:22:05 +00:00
STATSD_ENABLED = False
2016-04-07 17:33:30 +01:00
CSV_UPLOAD_BUCKET_NAME = 'development-notifications-csv-upload'
2017-07-28 15:17:50 +01:00
LOGO_UPLOAD_BUCKET_NAME = 'public-logos-tools'
2018-03-16 17:27:47 +00:00
MOU_BUCKET_NAME = 'notify.tools-mou'
2019-09-06 17:10:48 +01:00
TRANSIENT_UPLOADED_LETTERS = 'development-transient-uploaded-letters'
2015-11-24 09:40:14 +00:00
2018-02-27 15:32:13 +00:00
ADMIN_CLIENT_SECRET = 'dev-notify-secret-key'
API_HOST_NAME = 'http://localhost:6011'
DANGEROUS_SALT = 'dev-notify-salt'
SECRET_KEY = 'dev-notify-secret-key'
ANTIVIRUS_API_HOST = 'http://localhost:6016'
ANTIVIRUS_API_KEY = 'test-key'
2018-02-27 15:32:13 +00:00
2018-11-29 11:29:52 +00:00
ASSET_PATH = '/static/'
2019-02-15 10:26:56 +00:00
REDIS_URL = 'redis://localhost:6379/0'
2015-11-24 09:40:14 +00:00
2016-01-19 15:50:31 +00:00
class Test(Development):
2016-03-23 15:06:17 +00:00
DEBUG = True
TESTING = True
2017-09-29 10:16:20 +01:00
STATSD_ENABLED = False
WTF_CSRF_ENABLED = False
2016-04-07 17:33:30 +01:00
CSV_UPLOAD_BUCKET_NAME = 'test-notifications-csv-upload'
2017-08-02 11:05:17 +01:00
LOGO_UPLOAD_BUCKET_NAME = 'public-logos-test'
2018-03-16 17:27:47 +00:00
MOU_BUCKET_NAME = 'test-mou'
2019-09-06 17:10:48 +01:00
TRANSIENT_UPLOADED_LETTERS = 'test-transient-uploaded-letters'
2016-12-01 17:21:06 +00:00
NOTIFY_ENVIRONMENT = 'test'
API_HOST_NAME = 'http://you-forgot-to-mock-an-api-call-to'
TEMPLATE_PREVIEW_API_HOST = 'http://localhost:9999'
ANTIVIRUS_API_HOST = 'https://test-antivirus'
ANTIVIRUS_API_KEY = 'test-antivirus-secret'
2015-11-24 09:40:14 +00:00
2018-11-29 11:29:52 +00:00
ASSET_DOMAIN = 'static.example.com'
2018-11-29 13:06:10 +00:00
ASSET_PATH = 'https://static.example.com/'
2018-11-29 11:29:52 +00:00
2015-11-30 14:32:58 +00:00
2016-02-01 14:46:12 +00:00
class Preview(Config):
2015-11-30 14:32:58 +00:00
HTTP_PROTOCOL = 'https'
HEADER_COLOUR = '#F499BE' # $baby-pink
2016-12-01 17:21:06 +00:00
STATSD_ENABLED = True
2016-04-07 17:33:30 +01:00
CSV_UPLOAD_BUCKET_NAME = 'preview-notifications-csv-upload'
2017-08-02 11:05:17 +01:00
LOGO_UPLOAD_BUCKET_NAME = 'public-logos-preview'
2018-03-16 17:27:47 +00:00
MOU_BUCKET_NAME = 'notify.works-mou'
2019-09-06 17:10:48 +01:00
TRANSIENT_UPLOADED_LETTERS = 'preview-transient-uploaded-letters'
2016-12-01 17:21:06 +00:00
NOTIFY_ENVIRONMENT = 'preview'
2018-08-28 13:58:31 +01:00
CHECK_PROXY_HEADER = False
2018-11-29 11:29:52 +00:00
ASSET_DOMAIN = 'static.notify.works'
ASSET_PATH = 'https://static.notify.works/'
2016-02-01 14:46:12 +00:00
class Staging(Config):
SHOW_STYLEGUIDE = False
HTTP_PROTOCOL = 'https'
HEADER_COLOUR = '#6F72AF' # $mauve
2016-12-01 17:21:06 +00:00
STATSD_ENABLED = True
CSV_UPLOAD_BUCKET_NAME = 'staging-notifications-csv-upload'
2017-08-02 11:05:17 +01:00
LOGO_UPLOAD_BUCKET_NAME = 'public-logos-staging'
2018-03-16 17:27:47 +00:00
MOU_BUCKET_NAME = 'staging-notify.works-mou'
2019-09-06 17:10:48 +01:00
TRANSIENT_UPLOADED_LETTERS = 'staging-transient-uploaded-letters'
2016-12-01 17:21:06 +00:00
NOTIFY_ENVIRONMENT = 'staging'
2018-09-03 11:10:53 +01:00
CHECK_PROXY_HEADER = False
2018-11-29 11:29:52 +00:00
ASSET_DOMAIN = 'static.staging-notify.works'
ASSET_PATH = 'https://static.staging-notify.works/'
class Live(Config):
SHOW_STYLEGUIDE = False
HEADER_COLOUR = '#005EA5' # $govuk-blue
HTTP_PROTOCOL = 'https'
2016-12-01 17:21:06 +00:00
STATSD_ENABLED = True
2016-07-05 17:00:29 +01:00
CSV_UPLOAD_BUCKET_NAME = 'live-notifications-csv-upload'
2017-08-09 15:13:36 +01:00
LOGO_UPLOAD_BUCKET_NAME = 'public-logos-production'
2018-03-16 17:27:47 +00:00
MOU_BUCKET_NAME = 'notifications.service.gov.uk-mou'
2019-09-06 17:10:48 +01:00
TRANSIENT_UPLOADED_LETTERS = 'production-transient-uploaded-letters'
2016-12-01 17:21:06 +00:00
NOTIFY_ENVIRONMENT = 'live'
2017-11-16 16:33:21 +00:00
CHECK_PROXY_HEADER = False
2018-11-29 11:29:52 +00:00
ASSET_DOMAIN = 'static.notifications.service.gov.uk'
ASSET_PATH = 'https://static.notifications.service.gov.uk/'
2016-12-08 16:50:37 +00:00
class CloudFoundryConfig(Config):
2017-01-09 19:14:04 +00:00
pass
2016-12-08 16:50:37 +00:00
# CloudFoundry sandbox
class Sandbox(CloudFoundryConfig):
HTTP_PROTOCOL = 'https'
HEADER_COLOUR = '#F499BE' # $baby-pink
STATSD_ENABLED = True
CSV_UPLOAD_BUCKET_NAME = 'cf-sandbox-notifications-csv-upload'
2017-07-24 15:20:40 +01:00
LOGO_UPLOAD_BUCKET_NAME = 'cf-sandbox-notifications-logo-upload'
2016-12-08 16:50:37 +00:00
NOTIFY_ENVIRONMENT = 'sandbox'
2015-11-24 09:40:14 +00:00
configs = {
'development': Development,
'test': Test,
'preview': Preview,
'staging': Staging,
2016-12-08 16:50:37 +00:00
'live': Live,
2017-03-21 14:44:20 +00:00
'production': Live,
2016-12-08 16:50:37 +00:00
'sandbox': Sandbox
2015-11-24 09:40:14 +00:00
}