2015-12-04 14:40:16 +00:00
|
|
|
import os
|
2016-02-23 15:45:19 +00:00
|
|
|
from datetime import timedelta
|
2015-12-04 14:40:16 +00:00
|
|
|
|
2015-11-24 09:40:14 +00:00
|
|
|
|
2016-12-08 16:50:37 +00:00
|
|
|
if os.environ.get('VCAP_SERVICES'):
|
|
|
|
|
# on cloudfoundry, config is a json blob in VCAP_SERVICES - unpack it, and populate
|
|
|
|
|
# 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):
|
2016-03-23 14:09:07 +00:00
|
|
|
ADMIN_CLIENT_SECRET = os.environ['ADMIN_CLIENT_SECRET']
|
|
|
|
|
API_HOST_NAME = os.environ['API_HOST_NAME']
|
2016-09-07 10:31:33 +01:00
|
|
|
SECRET_KEY = os.environ['SECRET_KEY']
|
|
|
|
|
DANGEROUS_SALT = os.environ['DANGEROUS_SALT']
|
|
|
|
|
DESKPRO_API_HOST = os.environ['DESKPRO_API_HOST']
|
|
|
|
|
DESKPRO_API_KEY = os.environ['DESKPRO_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
|
|
|
|
2016-12-01 17:21:06 +00:00
|
|
|
# Hosted graphite statsd prefix
|
|
|
|
|
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-01-09 19:14:04 +00:00
|
|
|
LOGGING_STDOUT_JSON = os.getenv('LOGGING_STDOUT_JSON') == '1'
|
2016-12-08 16:50:37 +00:00
|
|
|
|
2016-09-07 10:31:33 +01:00
|
|
|
DESKPRO_DEPT_ID = 5
|
|
|
|
|
DESKPRO_ASSIGNED_AGENT_TEAM_ID = 5
|
|
|
|
|
|
|
|
|
|
ADMIN_CLIENT_USER_NAME = 'notify-admin'
|
2015-11-24 09:40:14 +00:00
|
|
|
ASSETS_DEBUG = False
|
2016-03-23 14:09:07 +00:00
|
|
|
AWS_REGION = 'eu-west-1'
|
|
|
|
|
DEFAULT_SERVICE_LIMIT = 50
|
|
|
|
|
EMAIL_EXPIRY_SECONDS = 3600 * 24 * 7 # one week
|
|
|
|
|
HEADER_COLOUR = '#FFBF47' # $yellow
|
|
|
|
|
HTTP_PROTOCOL = 'http'
|
|
|
|
|
MAX_FAILED_LOGIN_COUNT = 10
|
2016-01-07 16:24:10 +00:00
|
|
|
NOTIFY_APP_NAME = 'admin'
|
2016-03-23 14:09:07 +00:00
|
|
|
NOTIFY_LOG_LEVEL = 'DEBUG'
|
2016-01-07 15:42:16 +00:00
|
|
|
NOTIFY_LOG_PATH = '/var/log/notify/application.log'
|
2017-02-20 11:31:41 +00:00
|
|
|
PERMANENT_SESSION_LIFETIME = 20 * 60 * 60 # 20 hours
|
2016-03-23 14:09:07 +00:00
|
|
|
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
|
2016-03-23 14:09:07 +00:00
|
|
|
TOKEN_MAX_AGE_SECONDS = 3600
|
|
|
|
|
WTF_CSRF_ENABLED = True
|
2017-03-15 11:16:58 +00:00
|
|
|
WTF_CSRF_TIME_LIMIT = None
|
2016-04-07 17:33:30 +01:00
|
|
|
CSV_UPLOAD_BUCKET_NAME = 'local-notifications-csv-upload'
|
2016-08-04 18:01:08 +01:00
|
|
|
DESKPRO_PERSON_EMAIL = 'donotreply@notifications.service.gov.uk'
|
2016-04-28 15:50:05 +01:00
|
|
|
ACTIVITY_STATS_LIMIT_DAYS = 7
|
2016-06-19 09:04:21 +01:00
|
|
|
TEST_MESSAGE_FILENAME = 'Test message'
|
2016-02-15 11:47:54 +00:00
|
|
|
|
2016-12-01 17:21:06 +00:00
|
|
|
STATSD_ENABLED = False
|
|
|
|
|
STATSD_HOST = "statsd.hostedgraphite.com"
|
|
|
|
|
STATSD_PORT = 8125
|
|
|
|
|
NOTIFY_ENVIRONMENT = 'development'
|
|
|
|
|
|
2016-03-18 12:05:50 +00:00
|
|
|
EMAIL_DOMAIN_REGEXES = [
|
2016-10-28 12:09:08 +01:00
|
|
|
r"gov\.uk",
|
|
|
|
|
r"mod\.uk",
|
|
|
|
|
r"mil\.uk",
|
|
|
|
|
r"ddc-mod\.org",
|
|
|
|
|
r"slc\.co\.uk",
|
|
|
|
|
r"gov\.scot",
|
|
|
|
|
r"parliament\.uk",
|
|
|
|
|
r"nhs\.uk",
|
|
|
|
|
r"nhs\.net",
|
|
|
|
|
r"police\.uk",
|
|
|
|
|
r"dclgdatamart\.co\.uk",
|
2016-12-07 12:58:49 +00:00
|
|
|
r"ucds\.email",
|
|
|
|
|
r"naturalengland\.org\.uk",
|
2017-01-16 16:49:50 +00:00
|
|
|
r"hmcts\.net",
|
2017-03-02 10:18:19 +00:00
|
|
|
r"scotent\.co\.uk",
|
2017-03-08 14:08:57 +00:00
|
|
|
r"assembly\.wales",
|
2016-10-25 18:13:50 +01:00
|
|
|
]
|
2016-03-18 12:05:50 +00:00
|
|
|
|
2015-11-24 09:40:14 +00:00
|
|
|
|
|
|
|
|
class Development(Config):
|
|
|
|
|
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'
|
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
|
2016-12-01 17:21:06 +00:00
|
|
|
STATSD_ENABLED = True
|
2017-03-15 11:16:58 +00:00
|
|
|
WTF_CSRF_ENABLED = False
|
2016-04-07 17:33:30 +01:00
|
|
|
CSV_UPLOAD_BUCKET_NAME = 'test-notifications-csv-upload'
|
2016-12-01 17:21:06 +00:00
|
|
|
NOTIFY_ENVIRONMENT = 'test'
|
2015-11-24 09:40:14 +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'
|
2016-11-25 17:05:35 +00:00
|
|
|
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'
|
2016-12-01 17:21:06 +00:00
|
|
|
NOTIFY_ENVIRONMENT = 'preview'
|
2016-02-01 14:46:12 +00:00
|
|
|
|
|
|
|
|
|
2016-07-04 17:21:08 +01:00
|
|
|
class Staging(Config):
|
|
|
|
|
SHOW_STYLEGUIDE = False
|
|
|
|
|
HTTP_PROTOCOL = 'https'
|
2016-11-25 17:05:35 +00:00
|
|
|
HEADER_COLOUR = '#6F72AF' # $mauve
|
2016-12-01 17:21:06 +00:00
|
|
|
STATSD_ENABLED = True
|
2016-07-05 17:00:29 +01:00
|
|
|
CSV_UPLOAD_BUCKET_NAME = 'staging-notify-csv-upload'
|
2016-12-01 17:21:06 +00:00
|
|
|
NOTIFY_ENVIRONMENT = 'staging'
|
2016-07-04 17:21:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class Live(Config):
|
|
|
|
|
SHOW_STYLEGUIDE = False
|
2016-11-25 17:05:35 +00:00
|
|
|
HEADER_COLOUR = '#005EA5' # $govuk-blue
|
2016-07-04 17:21:08 +01:00
|
|
|
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'
|
2016-12-01 17:21:06 +00:00
|
|
|
NOTIFY_ENVIRONMENT = 'live'
|
2016-07-04 17:21:08 +01:00
|
|
|
|
|
|
|
|
|
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'
|
|
|
|
|
NOTIFY_ENVIRONMENT = 'sandbox'
|
|
|
|
|
|
|
|
|
|
|
2015-11-24 09:40:14 +00:00
|
|
|
configs = {
|
2016-07-05 14:26:02 +01:00
|
|
|
'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
|
|
|
}
|