Ejemplo n.º 1
0
 def from_env(cls):
     host = get_env_var(cls._prefix, 'host', default='0.0.0.0')
     port = get_env_var(cls._prefix, 'port', default=7000)
     geo_service_url = get_env_var(cls._prefix,
                                   'geo_service_url',
                                   raise_ex=True)
     return cls(host=host, port=port, geo_service_url=geo_service_url)
Ejemplo n.º 2
0
class Sandbox(CloudFoundryConfig):
    HTTP_PROTOCOL = get_env_var('HTTP_PROTOCOL', 'https')
    HEADER_COLOUR = get_env_var('HEADER_COLOUR', '#F499BE')  # $baby-pink
    CSV_UPLOAD_BUCKET_NAME = get_env_var(
        'CSV_UPLOAD_BUCKET_NAME', 'cf-sandbox-notifications-csv-upload')
    LOGO_UPLOAD_BUCKET_NAME = get_env_var(
        'LOGO_UPLOAD_BUCKET_NAME', 'cf-sandbox-notifications-logo-upload')
    NOTIFY_ENVIRONMENT = get_env_var('NOTIFY_ENVIRONMENT', 'sandbox')
Ejemplo n.º 3
0
class Staging(Config):
    HTTP_PROTOCOL = get_env_var('HTTP_PROTOCOL', 'https')
    HEADER_COLOUR = get_env_var('HEADER_COLOUR', '#6F72AF')  # $mauve
    CSV_UPLOAD_BUCKET_NAME = get_env_var(
        'CSV_UPLOAD_BUCKET_NAME', 'cast-staging-notifications-csv-upload')
    CONTACT_LIST_UPLOAD_BUCKET_NAME = get_env_var(
        'CONTACT_LIST_UPLOAD_BUCKET_NAME', 'cast-staging-contact-list')
    LOGO_UPLOAD_BUCKET_NAME = get_env_var('LOGO_UPLOAD_BUCKET_NAME',
                                          'cast-public-logos-staging')
    MOU_BUCKET_NAME = get_env_var('MOU_BUCKET_NAME',
                                  'cast-staging-notify.works-mou')
    TRANSIENT_UPLOADED_LETTERS = get_env_var(
        'TRANSIENT_UPLOADED_LETTERS',
        'cast-staging-transient-uploaded-letters')
    NOTIFY_ENVIRONMENT = get_env_var('NOTIFY_ENVIRONMENT', 'staging')
    CHECK_PROXY_HEADER = False
    ASSET_DOMAIN = get_env_var('ASSET_DOMAIN', 'static.staging-notify.works')
    ASSET_PATH = get_env_var('ASSET_PATH',
                             'https://static.staging-notify.works/')
Ejemplo n.º 4
0
class Preview(Config):
    HTTP_PROTOCOL = get_env_var('HTTP_PROTOCOL', 'https')
    HEADER_COLOUR = get_env_var('HEADER_COLOUR', '#F499BE')  # $baby-pink
    CSV_UPLOAD_BUCKET_NAME = get_env_var('CSV_UPLOAD_BUCKET_NAME',
                                         'preview-notifications-csv-upload')
    CONTACT_LIST_UPLOAD_BUCKET_NAME = get_env_var(
        'CONTACT_LIST_UPLOAD_BUCKET_NAME', 'preview-contact-list')
    LOGO_UPLOAD_BUCKET_NAME = get_env_var('LOGO_UPLOAD_BUCKET_NAME',
                                          'public-logos-preview')
    MOU_BUCKET_NAME = get_env_var('MOU_BUCKET_NAME', 'notify.works-mou')
    TRANSIENT_UPLOADED_LETTERS = get_env_var(
        'TRANSIENT_UPLOADED_LETTERS', 'preview-transient-uploaded-letters')
    NOTIFY_ENVIRONMENT = get_env_var('NOTIFY_ENVIRONMENT', 'preview')
    CHECK_PROXY_HEADER = False
    ASSET_DOMAIN = get_env_var('ASSET_DOMAIN', 'static.notify.works')
    ASSET_PATH = get_env_var('ASSET_PATH', 'https://static.notify.works/')

    # On preview, extend the validation timeout to allow more leniency when running functional tests
    REPLY_TO_EMAIL_ADDRESS_VALIDATION_TIMEOUT = 120
Ejemplo n.º 5
0
class Development(Config):
    NOTIFY_LOG_PATH = 'application.log'
    DEBUG = True
    SESSION_COOKIE_SECURE = False
    SESSION_PROTECTION = None
    CSV_UPLOAD_BUCKET_NAME = 'development-notifications-csv-upload'
    CONTACT_LIST_UPLOAD_BUCKET_NAME = 'development-contact-list'
    LOGO_UPLOAD_BUCKET_NAME = 'public-logos-tools'
    MOU_BUCKET_NAME = 'notify.tools-mou'
    TRANSIENT_UPLOADED_LETTERS = 'development-transient-uploaded-letters'

    ADMIN_CLIENT_SECRET = 'dev-notify-secret-key'
    API_HOST_NAME = get_env_var('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'
    ANTIVIRUS_ENABLED = get_env_var('ANTIVIRUS_ENABLED') == '1'

    ASSET_PATH = '/static/'

    REDIS_URL = 'redis://localhost:6379/0'
Ejemplo n.º 6
0
class Test(Development):
    NOTIFY_EMAIL_DOMAIN = 'test.notify.com'
    FROM_NUMBER = 'testing'
    NOTIFY_ENVIRONMENT = 'test'
    TESTING = True

    HIGH_VOLUME_SERVICE = [
        '941b6f9a-50d7-4742-8d50-f365ca74bf27',
        '63f95b86-2d19-4497-b8b2-ccf25457df4e',
        '7e5950cb-9954-41f5-8376-962b8c8555cf',
        '10d1b9c9-0072-4fa9-ae1c-595e333841da',
    ]

    CSV_UPLOAD_BUCKET_NAME = 'test-notifications-csv-upload'
    CONTACT_LIST_BUCKET_NAME = 'test-contact-list'
    TEST_LETTERS_BUCKET_NAME = 'test-test-letters'
    DVLA_RESPONSE_BUCKET_NAME = 'test.notify.com-ftp'
    LETTERS_PDF_BUCKET_NAME = 'test-letters-pdf'
    LETTERS_SCAN_BUCKET_NAME = 'test-letters-scan'
    INVALID_PDF_BUCKET_NAME = 'test-letters-invalid-pdf'
    TRANSIENT_UPLOADED_LETTERS = 'test-transient-uploaded-letters'
    LETTER_SANITISE_BUCKET_NAME = 'test-letters-sanitise'

    # this is overriden in jenkins and on cloudfoundry
    SQLALCHEMY_DATABASE_URI = get_env_var('SQLALCHEMY_DATABASE_URI', 'postgresql://localhost/test_notification_api')

    BROKER_URL = 'you-forgot-to-mock-celery-in-your-tests://'

    ANTIVIRUS_ENABLED = True

    for queue in QueueNames.all_queues():
        Config.CELERY_QUEUES.append(
            Queue(queue, Exchange('default'), routing_key=queue)
        )

    API_RATE_LIMIT_ENABLED = True
    API_HOST_NAME = "http://localhost:6011"

    SMS_INBOUND_WHITELIST = ['203.0.113.195']
    FIRETEXT_INBOUND_SMS_AUTH = ['testkey']
    TEMPLATE_PREVIEW_API_HOST = 'http://localhost:9999'

    MMG_URL = 'https://example.com/mmg'
    FIRETEXT_URL = 'https://example.com/firetext'

    CBC_PROXY_ENABLED = True
Ejemplo n.º 7
0
 def from_env(cls):
     host = get_env_var(cls._prefix, 'host', default='0.0.0.0')
     port = get_env_var(cls._prefix, 'port', default=8000)
     db_host_read = get_env_var(cls._prefix, 'db_host_read', raise_ex=True)
     db_host_write = get_env_var(cls._prefix,
                                 'db_host_write',
                                 raise_ex=True)
     db_port = get_env_var(cls._prefix, 'db_port', default=3306)
     db_user = get_env_var(cls._prefix, 'db_user', raise_ex=True)
     db_password = get_env_var(cls._prefix, 'db_password', raise_ex=True)
     db_name = get_env_var(cls._prefix, 'db_name', default='kube')
     return cls(host=host,
                port=port,
                db_host_read=db_host_read,
                db_host_write=db_host_write,
                db_port=db_port,
                db_user=db_user,
                db_password=db_password,
                db_name=db_name)
Ejemplo n.º 8
0
class Config(object):
    ADMIN_CLIENT_SECRET = get_env_var('ADMIN_CLIENT_SECRET')
    API_HOST_NAME = get_env_var('API_HOST_NAME')
    SECRET_KEY = get_env_var('SECRET_KEY')
    DANGEROUS_SALT = get_env_var('DANGEROUS_SALT')
    ZENDESK_API_KEY = get_env_var('ZENDESK_API_KEY')

    # if we're not on cloudfoundry, we can get to this app from localhost. but on cloudfoundry its different
    ADMIN_BASE_URL = get_env_var('ADMIN_BASE_URL', 'http://localhost:6012')

    TEMPLATE_PREVIEW_API_HOST = get_env_var('TEMPLATE_PREVIEW_API_HOST',
                                            'http://localhost:6013')
    TEMPLATE_PREVIEW_API_KEY = get_env_var('TEMPLATE_PREVIEW_API_KEY',
                                           'my-secret-key')

    # Logging
    DEBUG = False
    NOTIFY_LOG_PATH = get_env_var('NOTIFY_LOG_PATH')

    ADMIN_CLIENT_USER_NAME = 'notify-admin'

    ANTIVIRUS_API_HOST = get_env_var('ANTIVIRUS_API_HOST')
    ANTIVIRUS_API_KEY = get_env_var('ANTIVIRUS_API_KEY')

    ASSETS_DEBUG = False
    AWS_REGION = get_env_var('AWS_REGION', 'eu-west-1')
    DEFAULT_SERVICE_LIMIT = 50
    DEFAULT_FREE_SMS_FRAGMENT_LIMITS = {
        'central': 1000,
        'local': 1000,
        'nhs_central': 1000,
        'nhs_local': 1000,
        'nhs_gp': 1000,
        'emergency_service': 1000,
        'school_or_college': 1000,
        'other': 1000,
        'charity': 1000,
        'community_interest': 1000
    }
    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 = '#81878b'  # mix(govuk-colour("dark-grey"), govuk-colour("mid-grey"))
    HTTP_PROTOCOL = 'http'
    MAX_FAILED_LOGIN_COUNT = 10
    NOTIFY_APP_NAME = 'admin'
    NOTIFY_LOG_LEVEL = 'DEBUG'
    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
    # don't send back the cookie if it hasn't been modified by the request. this means that the expiry time won't be
    # updated unless the session is changed - but it's generally refreshed by `save_service_or_org_after_request`
    # every time anyway, except for specific endpoints (png/pdfs generally) where we've disabled that handler.
    SESSION_REFRESH_EACH_REQUEST = False
    WTF_CSRF_ENABLED = True
    WTF_CSRF_TIME_LIMIT = None
    CSV_UPLOAD_BUCKET_NAME = 'local-notifications-csv-upload'
    CONTACT_LIST_UPLOAD_BUCKET_NAME = 'local-contact-list'
    ACTIVITY_STATS_LIMIT_DAYS = 7
    TEST_MESSAGE_FILENAME = 'Report'

    REPLY_TO_EMAIL_ADDRESS_VALIDATION_TIMEOUT = 45

    NOTIFY_ENVIRONMENT = 'development'
    LOGO_UPLOAD_BUCKET_NAME = 'public-logos-local'
    MOU_BUCKET_NAME = 'local-mou'
    TRANSIENT_UPLOADED_LETTERS = 'local-transient-uploaded-letters'
    ROUTE_SECRET_KEY_1 = get_env_var('ROUTE_SECRET_KEY_1', '')
    ROUTE_SECRET_KEY_2 = get_env_var('ROUTE_SECRET_KEY_2', '')
    CHECK_PROXY_HEADER = False
    ANTIVIRUS_ENABLED = True

    REDIS_URL = get_env_var('REDIS_URL')
    REDIS_ENABLED = get_env_var('REDIS_ENABLED') == '1'

    ASSET_DOMAIN = ''
    ASSET_PATH = '/static/'

    # as defined in api db migration 0331_add_broadcast_org.py
    BROADCAST_ORGANISATION_ID = '38e4bf69-93b0-445d-acee-53ea53fe02df'

    NOTIFY_SERVICE_ID = 'd6aa2c68-a2d9-4437-ab19-3ae8eb202553'
Ejemplo n.º 9
0
class Live(Config):
    HEADER_COLOUR = get_env_var('HEADER_COLOUR', '#005EA5')  # $govuk-blue
    HTTP_PROTOCOL = get_env_var('HTTP_PROTOCOL', 'https')
    CSV_UPLOAD_BUCKET_NAME = get_env_var('CSV_UPLOAD_BUCKET_NAME',
                                         'cast-live-notifications-csv-upload')
    CONTACT_LIST_UPLOAD_BUCKET_NAME = get_env_var(
        'CONTACT_LIST_UPLOAD_BUCKET_NAME', 'cast-production-contact-list')
    LOGO_UPLOAD_BUCKET_NAME = get_env_var('LOGO_UPLOAD_BUCKET_NAME',
                                          'cast-public-logos-production')
    MOU_BUCKET_NAME = get_env_var('MOU_BUCKET_NAME',
                                  'cast-notifications.service.gov.uk-mou')
    TRANSIENT_UPLOADED_LETTERS = get_env_var(
        'TRANSIENT_UPLOADED_LETTERS',
        'cast-production-transient-uploaded-letters')
    NOTIFY_ENVIRONMENT = get_env_var('NOTIFY_ENVIRONMENT', 'live')
    CHECK_PROXY_HEADER = get_env_var("CHECK_PROXY_HEADER",
                                     'False').lower() in ['true', '1']
    ASSET_DOMAIN = get_env_var('ASSET_DOMAIN',
                               'static.notifications.service.gov.uk')
    ASSET_PATH = get_env_var('ASSET_PATH',
                             'https://static.notifications.service.gov.uk/')
Ejemplo n.º 10
0
from app.utils import get_env_var

if get_env_var('VCAP_APPLICATION'):
    # on cloudfoundry, config is a json blob in VCAP_APPLICATION - unpack it, and populate
    # standard environment variables from it
    from app.cloudfoundry_config import extract_cloudfoundry_config
    extract_cloudfoundry_config()


class Config(object):
    ADMIN_CLIENT_SECRET = get_env_var('ADMIN_CLIENT_SECRET')
    API_HOST_NAME = get_env_var('API_HOST_NAME')
    SECRET_KEY = get_env_var('SECRET_KEY')
    DANGEROUS_SALT = get_env_var('DANGEROUS_SALT')
    ZENDESK_API_KEY = get_env_var('ZENDESK_API_KEY')

    # if we're not on cloudfoundry, we can get to this app from localhost. but on cloudfoundry its different
    ADMIN_BASE_URL = get_env_var('ADMIN_BASE_URL', 'http://localhost:6012')

    TEMPLATE_PREVIEW_API_HOST = get_env_var('TEMPLATE_PREVIEW_API_HOST',
                                            'http://localhost:6013')
    TEMPLATE_PREVIEW_API_KEY = get_env_var('TEMPLATE_PREVIEW_API_KEY',
                                           'my-secret-key')

    # Logging
    DEBUG = False
    NOTIFY_LOG_PATH = get_env_var('NOTIFY_LOG_PATH')

    ADMIN_CLIENT_USER_NAME = 'notify-admin'

    ANTIVIRUS_API_HOST = get_env_var('ANTIVIRUS_API_HOST')
Ejemplo n.º 11
0
class Config(object):
    # URL of admin app
    ADMIN_BASE_URL = get_env_var('ADMIN_BASE_URL', 'http://*****:*****@notifications.service.gov.uk',
        '*****@*****.**',
        '*****@*****.**',
    )

    SIMULATED_SMS_NUMBERS = ('+447700900000', '+447700900111', '+447700900222')

    FREE_SMS_TIER_FRAGMENT_COUNT = 250000

    SMS_INBOUND_WHITELIST = json.loads(get_env_var('SMS_INBOUND_WHITELIST', '[]'))
    FIRETEXT_INBOUND_SMS_AUTH = json.loads(get_env_var('FIRETEXT_INBOUND_SMS_AUTH', '[]'))
    MMG_INBOUND_SMS_AUTH = json.loads(get_env_var('MMG_INBOUND_SMS_AUTH', '[]'))
    MMG_INBOUND_SMS_USERNAME = json.loads(get_env_var('MMG_INBOUND_SMS_USERNAME', '[]'))
    ROUTE_SECRET_KEY_1 = get_env_var('ROUTE_SECRET_KEY_1', '')
    ROUTE_SECRET_KEY_2 = get_env_var('ROUTE_SECRET_KEY_2', '')

    HIGH_VOLUME_SERVICE = json.loads(get_env_var('HIGH_VOLUME_SERVICE', '[]'))

    # Format is as follows:
    # {"dataset_1": "token_1", ...}
    PERFORMANCE_PLATFORM_ENDPOINTS = json.loads(get_env_var('PERFORMANCE_PLATFORM_ENDPOINTS', '{}'))

    TEMPLATE_PREVIEW_API_HOST = get_env_var('TEMPLATE_PREVIEW_API_HOST', 'http://localhost:6013')
    TEMPLATE_PREVIEW_API_KEY = get_env_var('TEMPLATE_PREVIEW_API_KEY', 'my-secret-key')

    DOCUMENT_DOWNLOAD_API_HOST = get_env_var('DOCUMENT_DOWNLOAD_API_HOST', 'http://localhost:7000')
    DOCUMENT_DOWNLOAD_API_KEY = get_env_var('DOCUMENT_DOWNLOAD_API_KEY', 'auth-token')

    # these environment vars aren't defined in the manifest so to set them on paas use `cf set-env`
    MMG_URL = get_env_var("MMG_URL", "https://api.mmg.co.uk/jsonv2a/api.php")
    FIRETEXT_URL = get_env_var("FIRETEXT_URL", "https://www.firetext.co.uk/api/sendsms/json")
    SES_STUB_URL = get_env_var("SES_STUB_URL")

    AWS_REGION = get_env_var('AWS_REGION', 'eu-west-1')

    # CBC Proxy
    # if the access keys are empty then noop client is used
    CBC_PROXY_AWS_ACCESS_KEY_ID = get_env_var('CBC_PROXY_AWS_ACCESS_KEY_ID', '')
    CBC_PROXY_AWS_SECRET_ACCESS_KEY = get_env_var('CBC_PROXY_AWS_SECRET_ACCESS_KEY', '')

    CBC_PROXY_ENABLED = bool(CBC_PROXY_AWS_ACCESS_KEY_ID)

    ENABLED_CBCS = {BroadcastProvider.EE, BroadcastProvider.THREE, BroadcastProvider.O2, BroadcastProvider.VODAFONE}
Ejemplo n.º 12
0
class Sandbox(CloudFoundryConfig):
    NOTIFY_EMAIL_DOMAIN = get_env_var('NOTIFY_EMAIL_DOMAIN', 'notify.works')
    NOTIFY_ENVIRONMENT = get_env_var('NOTIFY_ENVIRONMENT', 'sandbox')
    CSV_UPLOAD_BUCKET_NAME = get_env_var('CSV_UPLOAD_BUCKET_NAME', 'cf-sandbox-notifications-csv-upload')
    CONTACT_LIST_BUCKET_NAME = get_env_var('CONTACT_LIST_BUCKET_NAME', 'cf-sandbox-contact-list')
    LETTERS_PDF_BUCKET_NAME = get_env_var('LETTERS_PDF_BUCKET_NAME', 'cf-sandbox-letters-pdf')
    TEST_LETTERS_BUCKET_NAME = get_env_var('TEST_LETTERS_BUCKET_NAME', 'cf-sandbox-test-letters')
    DVLA_RESPONSE_BUCKET_NAME = get_env_var('DVLA_RESPONSE_BUCKET_NAME', 'notify.works-ftp')
    LETTERS_PDF_BUCKET_NAME = get_env_var('LETTERS_PDF_BUCKET_NAME', 'cf-sandbox-letters-pdf')
    LETTERS_SCAN_BUCKET_NAME = get_env_var('LETTERS_SCAN_BUCKET_NAME', 'cf-sandbox-letters-scan')
    INVALID_PDF_BUCKET_NAME = get_env_var('INVALID_PDF_BUCKET_NAME', 'cf-sandbox-letters-invalid-pdf')
    FROM_NUMBER = get_env_var('FROM_NUMBER', 'sandbox')
Ejemplo n.º 13
0
class Live(Config):
    NOTIFY_EMAIL_DOMAIN = get_env_var('NOTIFY_EMAIL_DOMAIN', 'notifications.service.gov.uk')
    NOTIFY_ENVIRONMENT = get_env_var('NOTIFY_ENVIRONMENT', 'live')
    CSV_UPLOAD_BUCKET_NAME = get_env_var('CSV_UPLOAD_BUCKET_NAME', 'cast-live-notifications-csv-upload')
    CONTACT_LIST_BUCKET_NAME = get_env_var('CONTACT_LIST_BUCKET_NAME', 'cast-production-contact-list')
    TEST_LETTERS_BUCKET_NAME = get_env_var('TEST_LETTERS_BUCKET_NAME', 'cast-production-test-letters')
    DVLA_RESPONSE_BUCKET_NAME = get_env_var('DVLA_RESPONSE_BUCKET_NAME', 'cast-notifications.service.gov.uk-ftp')
    LETTERS_PDF_BUCKET_NAME = get_env_var('LETTERS_PDF_BUCKET_NAME', 'cast-production-letters-pdf')
    LETTERS_SCAN_BUCKET_NAME = get_env_var('LETTERS_SCAN_BUCKET_NAME', 'cast-production-letters-scan')
    INVALID_PDF_BUCKET_NAME = get_env_var('INVALID_PDF_BUCKET_NAME', 'cast-production-letters-invalid-pdf')
    TRANSIENT_UPLOADED_LETTERS = get_env_var('TRANSIENT_UPLOADED_LETTERS', 'cast-production-transient-uploaded-letters')
    LETTER_SANITISE_BUCKET_NAME = get_env_var('LETTER_SANITISE_BUCKET_NAME', 'cast-production-letters-sanitise')
    FROM_NUMBER = get_env_var('FROM_NUMBER', 'GOVUK')
    PERFORMANCE_PLATFORM_ENABLED = get_env_var("PERFORMANCE_PLATFORM_ENABLED", 'True').lower() in ['true', '1']
    API_RATE_LIMIT_ENABLED = get_env_var("API_RATE_LIMIT_ENABLED", 'True').lower() in ['true', '1']
    CHECK_PROXY_HEADER = get_env_var("CHECK_PROXY_HEADER", 'False').lower() in ['true', '1']
    SES_STUB_URL = None

    CRONITOR_ENABLED = get_env_var("CRONITOR_ENABLED", 'True').lower() in ['true', '1']

    ENABLED_CBCS = {BroadcastProvider.VODAFONE}
Ejemplo n.º 14
0
class Staging(Config):
    NOTIFY_EMAIL_DOMAIN = get_env_var('NOTIFY_EMAIL_DOMAIN', 'staging-notify.works')
    NOTIFY_ENVIRONMENT = get_env_var('NOTIFY_ENVIRONMENT', 'staging')
    CSV_UPLOAD_BUCKET_NAME = get_env_var('CSV_UPLOAD_BUCKET_NAME', 'cast-staging-notifications-csv-upload')
    CONTACT_LIST_BUCKET_NAME = get_env_var('CONTACT_LIST_BUCKET_NAME', 'cast-staging-contact-list')
    TEST_LETTERS_BUCKET_NAME = get_env_var('TEST_LETTERS_BUCKET_NAME', 'cast-staging-test-letters')
    DVLA_RESPONSE_BUCKET_NAME = get_env_var('DVLA_RESPONSE_BUCKET_NAME', 'cast-staging-notify.works-ftp')
    LETTERS_PDF_BUCKET_NAME = get_env_var('LETTERS_PDF_BUCKET_NAME', 'cast-staging-letters-pdf')
    LETTERS_SCAN_BUCKET_NAME = get_env_var('LETTERS_SCAN_BUCKET_NAME', 'cast-staging-letters-scan')
    INVALID_PDF_BUCKET_NAME = get_env_var('INVALID_PDF_BUCKET_NAME', 'cast-staging-letters-invalid-pdf')
    TRANSIENT_UPLOADED_LETTERS = get_env_var('TRANSIENT_UPLOADED_LETTERS', 'cast-staging-transient-uploaded-letters')
    LETTER_SANITISE_BUCKET_NAME = get_env_var('LETTER_SANITISE_BUCKET_NAME', 'cast-staging-letters-sanitise')
    FROM_NUMBER = get_env_var('FROM_NUMBER', 'stage')
    API_RATE_LIMIT_ENABLED = get_env_var("API_RATE_LIMIT_ENABLED", 'True').lower() in ['true', '1']
    CHECK_PROXY_HEADER = get_env_var("CHECK_PROXY_HEADER", 'False').lower() in ['true', '1']
Ejemplo n.º 15
0
class Development(Config):
    DEBUG = True
    SQLALCHEMY_ECHO = False

    CSV_UPLOAD_BUCKET_NAME = get_env_var('CSV_UPLOAD_BUCKET_NAME', 'development-notifications-csv-upload')
    CONTACT_LIST_BUCKET_NAME = get_env_var('CONTACT_LIST_BUCKET_NAME', 'development-contact-list')
    TEST_LETTERS_BUCKET_NAME = get_env_var('TEST_LETTERS_BUCKET_NAME', 'development-test-letters')
    DVLA_RESPONSE_BUCKET_NAME = get_env_var('DVLA_RESPONSE_BUCKET_NAME', 'notify.tools-ftp')
    LETTERS_PDF_BUCKET_NAME = get_env_var('LETTERS_PDF_BUCKET_NAME', 'development-letters-pdf')
    LETTERS_SCAN_BUCKET_NAME = get_env_var('LETTERS_SCAN_BUCKET_NAME', 'development-letters-scan')
    INVALID_PDF_BUCKET_NAME = get_env_var('INVALID_PDF_BUCKET_NAME', 'development-letters-invalid-pdf')
    TRANSIENT_UPLOADED_LETTERS = get_env_var('TRANSIENT_UPLOADED_LETTERS', 'development-transient-uploaded-letters')
    LETTER_SANITISE_BUCKET_NAME = get_env_var('LETTER_SANITISE_BUCKET_NAME', 'development-letters-sanitise')

    API_INTERNAL_SECRETS = ['dev-notify-secret-key']
    SECRET_KEY = 'dev-notify-secret-key'
    DANGEROUS_SALT = 'dev-notify-salt'

    MMG_INBOUND_SMS_AUTH = ['testkey']
    MMG_INBOUND_SMS_USERNAME = ['username']

    NOTIFY_ENVIRONMENT = 'development'
    NOTIFY_LOG_PATH = 'application.log'
    NOTIFICATION_QUEUE_PREFIX = 'development'
    NOTIFY_EMAIL_DOMAIN = get_env_var('NOTIFY_EMAIL_DOMAIN', 'notify.tools')

    SQLALCHEMY_DATABASE_URI = get_env_var('SQLALCHEMY_DATABASE_URI', 'postgresql://localhost/notification_api')
    REDIS_URL = get_env_var('REDIS_URL', 'redis://localhost:6379/0')

    ANTIVIRUS_ENABLED = get_env_var('ANTIVIRUS_ENABLED') == '1'

    for queue in QueueNames.all_queues():
        Config.CELERY_QUEUES.append(
            Queue(queue, Exchange('default'), routing_key=queue)
        )

    API_HOST_NAME = get_env_var('API_HOST_NAME', "http://localhost:6011")
    API_RATE_LIMIT_ENABLED = True
Ejemplo n.º 16
0
from datetime import timedelta
import os
import json

from celery.schedules import crontab
from kombu import Exchange, Queue
from app.utils import get_env_var

if get_env_var('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()


class QueueNames(object):
    PERIODIC = 'periodic-tasks'
    PRIORITY = 'priority-tasks'
    DATABASE = 'database-tasks'
    SEND_SMS = 'send-sms-tasks'
    SEND_EMAIL = 'send-email-tasks'
    RESEARCH_MODE = 'research-mode-tasks'
    REPORTING = 'reporting-tasks'
    JOBS = 'job-tasks'
    RETRY = 'retry-tasks'
    NOTIFY = 'notify-internal-tasks'
    PROCESS_FTP = 'process-ftp-tasks'
    CREATE_LETTERS_PDF = 'create-letters-pdf-tasks'
    CALLBACKS = 'service-callbacks'
    CALLBACKS_RETRY = 'service-callbacks-retry'