コード例 #1
0
class Config:

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    DM_ANTIVIRUS_API_AUTH_TOKENS = None
    DM_ANTIVIRUS_API_CALLBACK_AUTH_TOKENS = None
    AUTH_REQUIRED = True
    DM_HTTP_PROTO = 'http'
    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None
    DM_APP_NAME = 'antivirus-api'

    DM_CLAMD_UNIX_SOCKET_PATH = "/var/run/clamav/clamd.ctl"

    DM_NOTIFY_API_KEY = None

    # only used as a surrogate where it doesn't actually matter (e.g. for s3)
    DM_DEFAULT_AWS_REGION = "eu-west-1"

    DM_EICAR_TEST_SIGNATURE_RESULT_STRINGS = [
        "Clamav.Test.File-7",
        "Eicar-Test-Signature",
        "Eicar-Test-Signature.UNOFFICIAL",  # if from our custom virus definition
    ]
    DM_EICAR_TEST_SIGNATURE_VIRUS_ALERT_EMAIL = "*****@*****.**"
    DM_DEVELOPER_VIRUS_ALERT_EMAIL = "*****@*****.**"
    NOTIFY_TEMPLATES = {
        "developer_virus_alert": "70986093-4f54-4b2e-883e-d88456455385",
    }

    VCAP_SERVICES = None
コード例 #2
0
class Config:

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    DM_SEARCH_API_URL = None
    DM_SEARCH_API_AUTH_TOKEN = None
    ES_ENABLED = True
    ALLOW_EXPLORER = True
    AUTH_REQUIRED = True
    DM_HTTP_PROTO = 'http'
    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_APP_NAME = 'api'
    DM_LOG_PATH = '/var/log/digitalmarketplace/application.log'
    DM_REQUEST_ID_HEADER = 'DM-Request-ID'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    FEATURE_FLAGS_TRANSACTION_ISOLATION = False

    DM_API_SERVICES_PAGE_SIZE = 100
    DM_API_SUPPLIERS_PAGE_SIZE = 100
    SQLALCHEMY_COMMIT_ON_TEARDOWN = False
    SQLALCHEMY_RECORD_QUERIES = True
    SQLALCHEMY_DATABASE_URI = 'postgresql://localhost/digitalmarketplace'

    DM_FAILED_LOGIN_LIMIT = 5
コード例 #3
0
class Config:

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    DM_SEARCH_API_URL = None
    DM_SEARCH_API_AUTH_TOKEN = None
    DM_API_AUTH_TOKENS = None
    DM_API_CALLBACK_AUTH_TOKENS = None
    ES_ENABLED = True
    AUTH_REQUIRED = True
    DM_HTTP_PROTO = 'http'
    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None
    DM_APP_NAME = 'api'

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    DM_API_SERVICES_PAGE_SIZE = 100
    DM_API_SUPPLIERS_PAGE_SIZE = 100
    DM_API_BRIEFS_PAGE_SIZE = 100
    DM_API_BRIEF_RESPONSES_PAGE_SIZE = 100
    DM_API_BUYER_DOMAINS_PAGE_SIZE = 100
    DM_API_PROJECTS_PAGE_SIZE = 100

    DM_ALLOWED_ADMIN_DOMAINS = [
        'digital.cabinet-office.gov.uk', 'crowncommercial.gov.uk',
        'user.marketplace.team', 'notifications.service.gov.uk'
    ]

    SQLALCHEMY_COMMIT_ON_TEARDOWN = False
    SQLALCHEMY_DATABASE_URI = 'postgresql://localhost/digitalmarketplace'
    SQLALCHEMY_RECORD_QUERIES = True
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # If you are changing failed login limit, remember to update NO_ACCOUNT_MESSAGE in user-frontend
    DM_FAILED_LOGIN_LIMIT = 10

    VCAP_SERVICES = None

    DM_FRAMEWORK_TO_ES_INDEX = {
        'g-cloud-9': {
            'services': 'g-cloud-9'
        },
        'g-cloud-10': {
            'services': 'g-cloud-10'
        },
        'digital-outcomes-and-specialists': {
            'briefs': 'briefs-digital-outcomes-and-specialists'
        },
        'digital-outcomes-and-specialists-2': {
            'briefs': 'briefs-digital-outcomes-and-specialists'
        },
    }
コード例 #4
0
class Config(object):

    VERSION = get_version_label(
        os.path.abspath(os.path.dirname(__file__))
    )
    DEBUG = True
    WTF_CSRF_ENABLED = True
    SESSION_COOKIE_NAME = 'dm_admin_session'
    SESSION_COOKIE_PATH = '/admin'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    DM_S3_DOCUMENT_BUCKET = None
    DM_DOCUMENTS_URL = 'https://assets.dev.digitalmarketplace.service.gov.uk'
    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    SECRET_KEY = None

    DM_AGREEMENTS_BUCKET = None
    DM_COMMUNICATIONS_BUCKET = None
    DM_ASSETS_URL = None

    STATIC_URL_PATH = '/admin/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_APP_NAME = 'admin-frontend'
    DM_LOG_PATH = '/var/log/digitalmarketplace/application.log'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    SHARED_EMAIL_KEY = None
    INVITE_EMAIL_SALT = 'InviteEmailSalt'

    DM_MANDRILL_API_KEY = None
    INVITE_EMAIL_NAME = 'Digital Marketplace Admin'
    INVITE_EMAIL_FROM = '*****@*****.**'
    INVITE_EMAIL_SUBJECT = 'Your Digital Marketplace invitation'
    CREATE_USER_PATH = 'suppliers/create-user'

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        template_folders = [
            os.path.join(repo_root, 'app/templates')
        ]
        jinja_loader = jinja2.FileSystemLoader(template_folders)
        app.jinja_loader = jinja_loader
コード例 #5
0
class Config(object):

    VERSION = get_version_label(
        os.path.abspath(os.path.dirname(__file__))
    )
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True

    PERMANENT_SESSION_LIFETIME = 4 * 3600

    WTF_CSRF_ENABLED = True
    WTF_CSRF_TIME_LIMIT = None

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_MANDRILL_API_KEY = None

    DEBUG = False

    CLARIFICATION_EMAIL_NAME = 'Digital Marketplace Admin'
    CLARIFICATION_EMAIL_FROM = '*****@*****.**'

    SECRET_KEY = None

    STATIC_URL_PATH = '/suppliers/opportunities/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    FEATURE_FLAGS_NEW_SUPPLIER_FLOW = False

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None
    DM_APP_NAME = 'brief-responses-frontend'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        template_folders = [
            os.path.join(repo_root, 'app/templates')
        ]
        jinja_loader = jinja2.FileSystemLoader(template_folders)
        app.jinja_loader = jinja_loader
コード例 #6
0
class Config:

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    DM_SEARCH_API_URL = None
    DM_SEARCH_API_AUTH_TOKEN = None
    DM_API_AUTH_TOKENS = None
    ES_ENABLED = True
    ALLOW_EXPLORER = True
    AUTH_REQUIRED = True
    DM_HTTP_PROTO = 'http'
    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_APP_NAME = 'api'
    DM_LOG_PATH = '/var/log/digitalmarketplace/application.log'
    DM_REQUEST_ID_HEADER = 'DM-Request-ID'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'
    ORDER_BUYER_FROM_EMAIL = "*****@*****.**"
    ORDER_BUYER_FROM_NAME = "Inoket Orders Management"
    ORDER_SUPPLIER_FROM_EMAIL = "*****@*****.**"
    ORDER_SUPPLIER_FROM_NAME = "Inoket Orders Management"

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    FEATURE_FLAGS_TRANSACTION_ISOLATION = False

    DM_API_SERVICES_PAGE_SIZE = 100
    DM_API_SUPPLIERS_PAGE_SIZE = 100
    DM_API_BRIEFS_PAGE_SIZE = 100
    DM_API_BRIEF_RESPONSES_PAGE_SIZE = 100
    SQLALCHEMY_COMMIT_ON_TEARDOWN = False
    SQLALCHEMY_RECORD_QUERIES = True
    SQLALCHEMY_DATABASE_URI = 'postgresql://localhost/digitalmarketplace'

    DM_FAILED_LOGIN_LIMIT = 5

    @staticmethod
    def init_app(application):
        application.config['email_templates'] = {}
        application.config['email_templates'][
            'buyer_order_received'] = templates.buyer_template.decode('utf-8')
        application.config['email_templates'][
            'supplier_order_received'] = templates.supplier_template.decode(
                'utf-8')
コード例 #7
0
class Config(object):

    VERSION = get_version_label(
        os.path.abspath(os.path.dirname(__file__))
    )
    DEBUG = True
    WTF_CSRF_ENABLED = True
    SESSION_COOKIE_NAME = 'dm_admin_session'
    SESSION_COOKIE_PATH = '/admin'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    S3_DOCUMENT_BUCKET = os.getenv('DM_S3_DOCUMENT_BUCKET')
    DOCUMENTS_URL = 'https://assets.dev.digitalmarketplace.service.gov.uk'
    DM_DATA_API_URL = os.getenv('DM_DATA_API_URL')
    DM_DATA_API_AUTH_TOKEN = os.getenv('DM_DATA_API_AUTH_TOKEN')
    SECRET_KEY = os.getenv('DM_ADMIN_FRONTEND_COOKIE_SECRET')

    STATIC_URL_PATH = '/admin/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'asset_path': ASSET_PATH,
        'header_class': 'with-proposition'
    }

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_APP_NAME = 'admin-frontend'
    DM_LOG_PATH = '/var/log/digitalmarketplace/application.log'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        template_folders = [
            os.path.join(repo_root, 'app/templates')
        ]
        jinja_loader = jinja2.FileSystemLoader(template_folders)
        app.jinja_loader = jinja_loader
コード例 #8
0
class Config:

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    AUTH_REQUIRED = True

    ELASTICSEARCH_HOST = 'localhost:9200'

    DM_SEARCH_API_AUTH_TOKENS = None

    DM_SEARCH_PAGE_SIZE = 30
    DM_ID_ONLY_SEARCH_PAGE_SIZE_MULTIPLIER = 10
    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_APP_NAME = 'search-api'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None

    VCAP_SERVICES = None
    DM_ELASTICSEARCH_SERVICE_NAME = "search_api_elasticsearch"

    @staticmethod
    def init_app(app):
        pass
コード例 #9
0
class Config:

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    AUTH_REQUIRED = True
    ALLOW_EXPLORER = True

    ELASTICSEARCH_HOST = os.getenv('DM_ELASTICSEARCH_URL', 'localhost:9200')

    DM_SEARCH_API_AUTH_TOKENS = None

    DM_SEARCH_PAGE_SIZE = 100
    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_APP_NAME = 'search-api'
    DM_LOG_PATH = '/var/log/digitalmarketplace/application.log'
    DM_REQUEST_ID_HEADER = 'DM-Request-ID'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    @staticmethod
    def init_app(app):
        pass
コード例 #10
0
class Config(object):

    VERSION = get_version_label(
        os.path.abspath(os.path.dirname(__file__))
    )
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = "Lax"

    PERMANENT_SESSION_LIFETIME = 3600  # 1 hour

    DM_COOKIE_PROBE_EXPECT_PRESENT = True

    WTF_CSRF_ENABLED = True
    WTF_CSRF_TIME_LIMIT = None

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_NOTIFY_API_KEY = None
    DM_REDIS_SERVICE_NAME = None

    DEBUG = False

    NOTIFY_TEMPLATES = {
        "clarification_question": "520e0623-119e-41ac-990b-b9cdb0e9c30d",
        "clarification_question_confirmation": "d74a8a05-eae6-49cb-bc08-63d95b92b4d3",
    }

    SECRET_KEY = None

    STATIC_URL_PATH = '/suppliers/opportunities/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None
    DM_APP_NAME = 'brief-responses-frontend'

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        digitalmarketplace_govuk_frontend = os.path.join(repo_root, "node_modules", "digitalmarketplace-govuk-frontend")
        govuk_frontend = os.path.join(repo_root, "node_modules", "govuk-frontend")

        template_folders = [
            os.path.join(repo_root, "app", "templates"),
            os.path.join(govuk_frontend),
            os.path.join(digitalmarketplace_govuk_frontend),
            os.path.join(digitalmarketplace_govuk_frontend, "digitalmarketplace", "templates"),
        ]

        jinja_loader = jinja2.FileSystemLoader(template_folders)
        app.jinja_loader = jinja_loader

        # Set the govuk_frontend_version to account for version-based quirks (eg: v3 Error Summary links to radios)
        with open(os.path.join(repo_root, "node_modules", "govuk-frontend", "package.json")) as package_json_file:
            package_json = json.load(package_json_file)
            dmcontent.govuk_frontend.govuk_frontend_version = list(map(int, package_json["version"].split(".")))
コード例 #11
0
class Config(object):

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    URL_PREFIX = ''
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = 'Lax'

    CSRF_ENABLED = True
    CSRF_TIME_LIMIT = 8 * 3600

    DM_TIMEZONE = 'Australia/Sydney'

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_HTTP_PROTO = 'http'
    DM_DEFAULT_CACHE_MAX_AGE = 24 * 3600
    DM_EMAIL_RETURN_ADDRESS = None
    DM_SEND_EMAIL_TO_STDERR = False
    DM_CACHE_TYPE = 'dev'

    # matches api(s)
    DM_SEARCH_PAGE_SIZE = 100

    DM_GA_CODE = 'UA-72722909-6'

    # This is just a placeholder
    ES_ENABLED = True

    DEBUG = False

    DM_TEAM_EMAIL = None
    DM_TEAM_SLACK_WEBHOOK = None

    DM_GENERIC_NOREPLY_EMAIL = '*****@*****.**'
    DM_GENERIC_ADMIN_NAME = 'Digital Marketplace Admin'

    DM_GENERIC_SUPPORT_EMAIL = '*****@*****.**'
    DM_GENERIC_SUPPORT_NAME = 'Digital Marketplace'

    RESET_PASSWORD_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    RESET_PASSWORD_EMAIL_FROM = DM_GENERIC_NOREPLY_EMAIL
    RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your Digital Marketplace password [SEC=UNCLASSIFIED]'

    BUYER_INVITE_REQUEST_SUBJECT = 'Buyer Account Invite Request [SEC=UNCLASSIFIED]'
    BUYER_INVITE_REQUEST_ADMIN_EMAIL = '*****@*****.**'
    BUYER_INVITE_REQUEST_EMAIL_FROM = DM_GENERIC_NOREPLY_EMAIL
    BUYER_INVITE_REQUEST_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    BUYER_INVITE_MANAGER_CONFIRMATION_SUBJECT = 'Digital Marketplace buyer account request [SEC=UNCLASSIFIED]'
    BUYER_INVITE_MANAGER_CONFIRMATION_NAME = DM_GENERIC_ADMIN_NAME

    SELLER_NEW_OPPORTUNITY_EMAIL_SUBJECT = 'Digital Marketplace - new business opportunity'
    SELLER_NEW_OPPORTUNITY_EMAIL_FROM = DM_GENERIC_NOREPLY_EMAIL

    CREATE_USER_SUBJECT = 'Create your Digital Marketplace account [SEC=UNCLASSIFIED]'
    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_SALT = 'ResetPasswordSalt'
    INVITE_EMAIL_SALT = 'InviteEmailSalt'
    BUYER_CREATION_TOKEN_SALT = 'BuyerCreation'
    SIGNUP_INVITATION_TOKEN_SALT = 'NewUserInviteEmail'

    ASSET_PATH = URL_PREFIX + '/static'

    # Throw an exception in dev when a feature flag is used in code but not defined.
    RAISE_ERROR_ON_MISSING_FEATURES = True
    # List all your feature flags below
    FEATURE_FLAGS = {
        'CASE_STUDY': True,
        'XLSX_EXPORT': True,
        'SELLER_REGISTRATION': True,
        'DM_FRAMEWORK': True,
        'TEAM_VIEW': True
    }

    # LOGGING
    DM_LOG_LEVEL = 'DEBUG'
    DM_LOG_PATH = None
    DM_APP_NAME = 'buyer-frontend'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Vcap-Request-Id'

    REACT_BUNDLE_URL = 'https://dm-dev-frontend.apps.y.cld.gov.au/bundle/'
    REACT_RENDER_URL = 'https://dm-dev-frontend.apps.y.cld.gov.au/render'
    REACT_RENDER = not DEBUG

    ROLLBAR_TOKEN = None
    S3_BUCKET_NAME = None
    S3_ENDPOINT_URL = 's3-ap-southeast-2.amazonaws.com'
    AWS_DEFAULT_REGION = None

    GENERIC_EMAIL_DOMAINS = [
        'bigpond.com', 'digital.gov.au', 'gmail.com', 'hotmail.com',
        'icloud.com', 'iinet.net.au', 'internode.on.net', 'live.com.au',
        'me.com', 'msn.com', 'optusnet.com.au', 'outlook.com',
        'outlook.com.au', 'ozemail.com.au', 'yahoo.com', 'yahoo.com.au'
    ]

    MULTI_CANDIDATE_PUBLISHED_DATE = pendulum.datetime(2018, 4, 17)

    # redis
    REDIS_SESSIONS = True
    REDIS_SERVER_HOST = '127.0.0.1'
    REDIS_SERVER_PORT = 6379
    REDIS_SERVER_PASSWORD = None
    REDIS_SSL = False
    REDIS_SSL_HOST_REQ = None
    REDIS_SSL_CA_CERTS = None
コード例 #12
0
class Config(object):

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = "Lax"

    PERMANENT_SESSION_LIFETIME = 3600  # 1 hour

    DM_COOKIE_PROBE_EXPECT_PRESENT = True

    WTF_CSRF_ENABLED = True
    WTF_CSRF_TIME_LIMIT = None

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_NOTIFY_API_KEY = None
    DM_REDIS_SERVICE_NAME = None

    DM_CLARIFICATION_QUESTION_EMAIL = '*****@*****.**'
    DM_FRAMEWORK_AGREEMENTS_EMAIL = '*****@*****.**'
    DM_COMPANY_DETAILS_CHANGE_EMAIL = '*****@*****.**'
    SUPPORT_EMAIL_ADDRESS = "*****@*****.**"

    NOTIFY_TEMPLATES = {
        "confirmation_of_clarification_question":
        "1a8a3408-49ef-486f-a6c9-8557d1a0dc63",
        "create_user_account":
        "84f5d812-df9d-4ab8-804a-06f64f5abd30",
        "invite_contributor":
        "5eefe42d-1694-4388-8908-991cdfba0a71",
        "framework_agreement_signature_page":
        "08929c93-f9e7-4b40-b75f-418659308324",
        'framework-application-started':
        '9c8237fa-d854-4388-babb-14a0f252d133',
        'framework-clarification-question':
        "8574484f-9907-44c0-b9d5-1120beb64ef0",
        'framework-application-question':
        '6681d4a1-6e30-407f-9e8b-3f6633d73546',
        'sign_framework_agreement_confirmation':
        'bbc77101-4585-4d1e-80c4-43045ea9550f'
    }

    E_SIGNATURE_FRAMEWORKS = [
        'g-cloud-12', 'digital-outcomes-and-specialists-5'
    ]

    DM_AGREEMENTS_BUCKET = None
    DM_COMMUNICATIONS_BUCKET = None
    DM_DOCUMENTS_BUCKET = None
    DM_SUBMISSIONS_BUCKET = None
    DM_ASSETS_URL = None

    DM_MAILCHIMP_USERNAME = None
    DM_MAILCHIMP_API_KEY = None
    DM_MAILCHIMP_OPEN_FRAMEWORK_NOTIFICATION_MAILING_LIST_ID = None

    DM_DNB_API_USERNAME = None
    DM_DNB_API_PASSWORD = None

    DEBUG = False

    INVITE_EMAIL_NAME = 'Digital Marketplace Admin'
    INVITE_EMAIL_FROM = '*****@*****.**'
    INVITE_EMAIL_SUBJECT = 'Your Digital Marketplace invitation'

    CLARIFICATION_EMAIL_NAME = 'Digital Marketplace Admin'
    DM_FOLLOW_UP_EMAIL_TO = '*****@*****.**'

    FRAMEWORK_AGREEMENT_RETURNED_NAME = 'Digital Marketplace Admin'

    DM_ENQUIRIES_EMAIL_ADDRESS = '*****@*****.**'
    DM_ENQUIRIES_EMAIL_ADDRESS_UUID = '24908180-b64e-513d-ab48-fdca677cec52'

    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_TOKEN_NS = 'ResetPasswordSalt'
    INVITE_EMAIL_TOKEN_NS = 'InviteEmailSalt'

    STATIC_URL_PATH = '/suppliers/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None
    DM_APP_NAME = 'supplier-frontend'

    DM_G12_RECOVERY_SUPPLIER_IDS = None

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        digitalmarketplace_govuk_frontend = os.path.join(
            repo_root, "node_modules", "digitalmarketplace-govuk-frontend")
        govuk_frontend = os.path.join(repo_root, "node_modules",
                                      "govuk-frontend")
        template_folders = [
            os.path.join(repo_root, "app", "templates"),
            os.path.join(digitalmarketplace_govuk_frontend),
            os.path.join(digitalmarketplace_govuk_frontend,
                         "digitalmarketplace", "templates"),
        ]
        jinja_loader = jinja2.ChoiceLoader([
            jinja2.FileSystemLoader(template_folders),
            jinja2.PrefixLoader(
                {'govuk': jinja2.FileSystemLoader(govuk_frontend)})
        ])
        app.jinja_loader = jinja_loader
コード例 #13
0
class Config(object):

    URL_PREFIX = '/admin'

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    DEBUG = True
    SESSION_COOKIE_NAME = 'dm_admin_session'
    SESSION_COOKIE_PATH = '/admin'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = 'Lax'

    CSRF_ENABLED = True
    CSRF_TIME_LIMIT = 8 * 3600

    DM_MAIN_SERVER_NAME = 'host.docker.internal:8000'

    DM_S3_DOCUMENT_BUCKET = None
    DM_DOCUMENTS_URL = 'https://assets.dev.digitalmarketplace.service.gov.uk'
    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    SECRET_KEY = None
    DM_HTTP_PROTO = 'http'
    DM_DEFAULT_CACHE_MAX_AGE = 30
    DM_TIMEZONE = 'Australia/Sydney'

    DM_AGREEMENTS_BUCKET = None
    DM_COMMUNICATIONS_BUCKET = None
    DM_ASSETS_URL = None

    FEATURE_FLAGS = {}

    ASSET_PATH = URL_PREFIX + '/static'

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_APP_NAME = 'admin-frontend'
    DM_LOG_PATH = None
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Vcap-Request-Id'

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    SHARED_EMAIL_KEY = None
    INVITE_EMAIL_SALT = 'SupplierInviteEmail'
    RESET_PASSWORD_SALT = 'ResetPasswordSalt'
    BUYER_CREATION_TOKEN_SALT = 'BuyerCreation'

    GENERIC_CONTACT_EMAIL = '*****@*****.**'
    DM_GENERIC_NOREPLY_EMAIL = '*****@*****.**'
    DM_GENERIC_ADMIN_NAME = 'Digital Marketplace Admin'

    INVITE_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    INVITE_EMAIL_FROM = DM_GENERIC_NOREPLY_EMAIL
    INVITE_EMAIL_SUBJECT = 'Your Digital Marketplace invitation'
    CREATE_USER_PATH = 'sellers/create-user'
    CREATE_APPLICANT_PATH = 'sellers/signup/create-user'

    REACT_BUNDLE_URL = 'https://dm-dev-frontend.apps.y.cld.gov.au/bundle/'
    REACT_RENDER_URL = 'https://dm-dev-frontend.apps.y.cld.gov.au/render'
    REACT_RENDER = not DEBUG

    ROLLBAR_TOKEN = None
    S3_BUCKET_NAME = None

    try:
        print("REDIS_SERVER_HOST:", os.environ['REDIS_SERVER_HOST'])
        REDIS_HOST = os.environ['REDIS_SERVER_HOST']
    except KeyError:
        print(
            "Environment variable 'REDIS_SERVER_HOST' does not exist using value: host.docker.internal"
        )
        REDIS_HOST = "host.docker.internal"

    # redis
    REDIS_SESSIONS = True
    REDIS_SERVER_HOST = REDIS_HOST
    REDIS_SERVER_PORT = 6379
    REDIS_SERVER_PASSWORD = None
    REDIS_SSL = False
    REDIS_SSL_HOST_REQ = None
    REDIS_SSL_CA_CERTS = None
コード例 #14
0
class Config(object):

    VERSION = get_version_label(
        os.path.abspath(os.path.dirname(__file__))
    )
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = "Lax"

    PERMANENT_SESSION_LIFETIME = 3600  # 1 hour

    DM_COOKIE_PROBE_EXPECT_PRESENT = True

    WTF_CSRF_ENABLED = True
    WTF_CSRF_TIME_LIMIT = None

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_NOTIFY_API_KEY = None
    DM_REDIS_SERVICE_NAME = None

    NOTIFY_TEMPLATES = {
        "reset_password": "******",
        "change_password_alert": "1c4c0562-44aa-4ae4-ba61-e17c544df535",
        "reset_password_inactive": "6c522c78-e4d2-488f-aa5f-6f42401ef2c5",
    }
    SUPPORT_EMAIL_ADDRESS = "*****@*****.**"

    DEBUG = False

    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_TOKEN_NS = 'ResetPasswordSalt'
    INVITE_EMAIL_TOKEN_NS = 'InviteEmailSalt'

    STATIC_URL_PATH = '/user/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # LOGGING
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None
    DM_APP_NAME = 'user-frontend'

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        digitalmarketplace_govuk_frontend = os.path.join(repo_root, "node_modules", "digitalmarketplace-govuk-frontend")
        govuk_frontend = os.path.join(repo_root, "node_modules", "govuk-frontend")

        template_folders = [
            os.path.join(repo_root, 'app', 'templates'),
            os.path.join(digitalmarketplace_govuk_frontend),
            os.path.join(govuk_frontend),
            os.path.join(digitalmarketplace_govuk_frontend, 'digitalmarketplace', 'templates'),
        ]
        jinja_loader = jinja2.FileSystemLoader(template_folders)
        app.jinja_loader = jinja_loader
class Config(object):

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    DEBUG = True
    WTF_CSRF_ENABLED = True
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = "Lax"

    PERMANENT_SESSION_LIFETIME = 3600  # 1 hour

    DM_COOKIE_PROBE_EXPECT_PRESENT = True

    DM_S3_DOCUMENT_BUCKET = None
    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    SECRET_KEY = None

    DM_AGREEMENTS_BUCKET = None
    DM_COMMUNICATIONS_BUCKET = None
    DM_REPORTS_BUCKET = None
    DM_ASSETS_URL = None
    DM_REDIS_SERVICE_NAME = None

    STATIC_URL_PATH = '/admin/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_APP_NAME = 'admin-frontend'

    SHARED_EMAIL_KEY = None
    INVITE_EMAIL_TOKEN_NS = 'InviteEmailSalt'

    DM_NOTIFY_API_KEY = None

    NOTIFY_TEMPLATES = {
        "invite_contributor": "5eefe42d-1694-4388-8908-991cdfba0a71",
    }

    # a mapping of framework slug to identifier on performance platform containing signup stats
    PERFORMANCE_PLATFORM_ID_MAPPING = {
        "g-cloud-9": "g-cloud-9-supplier-applications",
        "g-cloud-10": "g-cloud-10-supplier-applications",
        "g-cloud-11": "g-cloud-11-supplier-applications",
        "digital-outcomes-and-specialists-3": "digital-outcomes-specialists-3",
        "digital-outcomes-and-specialists-4": "digital-outcomes-specialists-4",
    }
    PERFORMANCE_PLATFORM_BASE_URL = "https://www.gov.uk/performance/"

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        digitalmarketplace_govuk_frontend = os.path.join(
            repo_root, "node_modules", "digitalmarketplace-govuk-frontend")
        govuk_frontend = os.path.join(repo_root, "node_modules",
                                      "govuk-frontend")

        template_folders = [
            os.path.join(repo_root, "app", "templates"),
            os.path.join(digitalmarketplace_govuk_frontend),
            # digitalmarketplace/templates is needed for digitalmarketplace-utils error templates
            os.path.join(digitalmarketplace_govuk_frontend,
                         "digitalmarketplace", "templates"),
        ]
        jinja_loader = jinja2.ChoiceLoader([
            jinja2.FileSystemLoader(template_folders),
            jinja2.PrefixLoader(
                {"govuk": jinja2.FileSystemLoader(govuk_frontend)}),
        ])
        app.jinja_loader = jinja_loader
コード例 #16
0
class Config(object):

    VERSION = get_version_label(
        os.path.abspath(os.path.dirname(__file__))
    )
    URL_PREFIX = ''
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True

    PERMANENT_SESSION_LIFETIME = 36*3600

    CSRF_ENABLED = True
    CSRF_TIME_LIMIT = 8*3600

    DM_TIMEZONE = 'Australia/Sydney'

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_HTTP_PROTO = 'http'
    DM_DEFAULT_CACHE_MAX_AGE = 24*3600
    DM_EMAIL_RETURN_ADDRESS = None
    DM_SEND_EMAIL_TO_STDERR = False
    DM_CACHE_TYPE = 'dev'

    # matches api(s)
    DM_SEARCH_PAGE_SIZE = 100

    DM_GA_CODE = 'UA-72722909-6'

    # This is just a placeholder
    ES_ENABLED = True

    DEBUG = False

    DM_TEAM_EMAIL = None
    DM_TEAM_SLACK_WEBHOOK = None

    DM_GENERIC_NOREPLY_EMAIL = '*****@*****.**'
    DM_GENERIC_ADMIN_NAME = 'Digital Marketplace Admin'

    DM_GENERIC_SUPPORT_EMAIL = '*****@*****.**'
    DM_GENERIC_SUPPORT_NAME = 'Digital Marketplace'

    RESET_PASSWORD_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    RESET_PASSWORD_EMAIL_FROM = DM_GENERIC_NOREPLY_EMAIL
    RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your Digital Marketplace password [SEC=UNCLASSIFIED]'

    BUYER_INVITE_REQUEST_SUBJECT = 'Buyer Account Invite Request [SEC=UNCLASSIFIED]'
    BUYER_INVITE_REQUEST_ADMIN_EMAIL = '*****@*****.**'
    BUYER_INVITE_REQUEST_EMAIL_FROM = DM_GENERIC_NOREPLY_EMAIL
    BUYER_INVITE_REQUEST_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    BUYER_INVITE_MANAGER_CONFIRMATION_SUBJECT = 'Digital Marketplace buyer account request [SEC=UNCLASSIFIED]'
    BUYER_INVITE_MANAGER_CONFIRMATION_NAME = DM_GENERIC_ADMIN_NAME

    SELLER_NEW_OPPORTUNITY_EMAIL_SUBJECT = 'Digital Marketplace - new business opportunity'
    SELLER_NEW_OPPORTUNITY_EMAIL_FROM = DM_GENERIC_NOREPLY_EMAIL

    CREATE_USER_SUBJECT = 'Create your Digital Marketplace account [SEC=UNCLASSIFIED]'
    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_SALT = 'ResetPasswordSalt'
    INVITE_EMAIL_SALT = 'InviteEmailSalt'
    BUYER_CREATION_TOKEN_SALT = 'BuyerCreation'

    ASSET_PATH = URL_PREFIX + '/static'

    # Throw an exception in dev when a feature flag is used in code but not defined.
    RAISE_ERROR_ON_MISSING_FEATURES = True
    # List all your feature flags below
    FEATURE_FLAGS = {
        'CASE_STUDY': True,
        'XLSX_EXPORT': True,
        'SELLER_REGISTRATION': True,
        'DM_FRAMEWORK': True,
        'TEAM_VIEW': True
    }

    # LOGGING
    DM_LOG_LEVEL = 'DEBUG'
    DM_LOG_PATH = None
    DM_APP_NAME = 'buyer-frontend'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'

    REACT_BUNDLE_URL = 'https://dm-dev-frontend.apps.staging.digital.gov.au/bundle/'
    REACT_RENDER_URL = 'https://dm-dev-frontend.apps.staging.digital.gov.au/render'
    REACT_RENDER = not DEBUG

    ROLLBAR_TOKEN = None
    S3_BUCKET_NAME = None
    S3_ENDPOINT_URL = 's3-ap-southeast-2.amazonaws.com'
    AWS_DEFAULT_REGION = None
コード例 #17
0
class Config(object):

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = "Lax"

    PERMANENT_SESSION_LIFETIME = 3600  # 1 hour

    DM_COOKIE_PROBE_EXPECT_PRESENT = True

    WTF_CSRF_ENABLED = True
    WTF_CSRF_TIME_LIMIT = None

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_SEARCH_API_URL = None
    DM_SEARCH_API_AUTH_TOKEN = None
    DM_MANDRILL_API_KEY = None
    DM_REDIS_SERVICE_NAME = None

    # Used for generating absolute URLs from relative URLs when necessary
    DM_PATCH_FRONTEND_URL = 'http://localhost/'

    # matches api(s)
    DM_SEARCH_PAGE_SIZE = 100

    # This is just a placeholder
    ES_ENABLED = True

    DEBUG = False

    RESET_PASSWORD_EMAIL_NAME = 'Digital Marketplace Admin'
    RESET_PASSWORD_EMAIL_FROM = '*****@*****.**'
    RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your Digital Marketplace password'

    CREATE_USER_SUBJECT = 'Create your Digital Marketplace account'
    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_SALT = 'ResetPasswordSalt'
    INVITE_EMAIL_SALT = 'InviteEmailSalt'

    ASSET_PATH = '/static/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # LOGGING
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None
    DM_APP_NAME = 'buyer-frontend'

    #: For some frameworks (represented by the keys in this map), we store no framework content. But
    #: they work just like some other framework (represented by the values in the map) for which we do
    #: have content available. The map uses slugs to identify the framework pairs, so that we can still
    #: find the framework data we need (and so that we can avoid trying to load up framework data that
    #: isn't actually available).
    DM_FRAMEWORK_CONTENT_MAP = {
        'g-cloud-4': 'g-cloud-6',
        'g-cloud-5': 'g-cloud-6',
    }

    DM_FEEDBACK_FORM = {
        'uri':
        'https://docs.google.com/a/digital.cabinet-office.gov.uk/forms/d/e/1FAIpQLSc-uXv-4VqGBipDwPhJFDpET5UrHnJpsJ5FFTn4-MBAfKeOPg/formResponse',  # noqa
        'fields': {
            'uri': 'entry.1048271701',
            'what_doing': 'entry.1348335665',
            'what_happened': 'entry.869819225',
        }
    }

    GOOGLE_SITE_VERIFICATION = None

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        digitalmarketplace_govuk_frontend = os.path.join(
            repo_root, "node_modules", "digitalmarketplace-govuk-frontend")
        govuk_frontend = os.path.join(repo_root, "node_modules",
                                      "govuk-frontend")
        template_folders = [
            os.path.join(repo_root, "app", "templates"),
            os.path.join(govuk_frontend),
            os.path.join(digitalmarketplace_govuk_frontend),
            os.path.join(digitalmarketplace_govuk_frontend,
                         "digitalmarketplace", "templates"),
        ]
        jinja_loader = jinja2.FileSystemLoader(template_folders)
        app.jinja_loader = jinja_loader

        # Set the govuk_frontend_version to account for version-based quirks (eg: v3 Error Summary links to radios)
        with open(
                os.path.join(repo_root, "node_modules", "govuk-frontend",
                             "package.json")) as package_json_file:
            package_json = json.load(package_json_file)
            dmcontent.govuk_frontend.govuk_frontend_version = list(
                map(int, package_json["version"].split(".")))
コード例 #18
0
class Config(object):

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = "Lax"

    PERMANENT_SESSION_LIFETIME = 3600  # 1 hour

    DM_COOKIE_PROBE_EXPECT_PRESENT = True

    WTF_CSRF_ENABLED = True
    WTF_CSRF_TIME_LIMIT = None

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_NOTIFY_API_KEY = None
    DM_REDIS_SERVICE_NAME = None

    NOTIFY_TEMPLATES = {
        "create_user_account": "84f5d812-df9d-4ab8-804a-06f64f5abd30",
    }
    SUPPORT_EMAIL_ADDRESS = "*****@*****.**"

    # This is just a placeholder
    ES_ENABLED = True

    DEBUG = False

    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    INVITE_EMAIL_SALT = 'InviteEmailSalt'

    STATIC_URL_PATH = '/buyers/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # LOGGING
    DM_LOG_LEVEL = 'DEBUG'
    DM_PLAIN_TEXT_LOGS = False
    DM_LOG_PATH = None
    DM_APP_NAME = 'briefs-frontend'

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        digitalmarketplace_govuk_frontend = os.path.join(
            repo_root, "node_modules", "digitalmarketplace-govuk-frontend")
        govuk_frontend = os.path.join(repo_root, "node_modules",
                                      "govuk-frontend")
        template_folders = [
            os.path.join(repo_root, 'app', 'templates'),
            os.path.join(govuk_frontend),
            os.path.join(digitalmarketplace_govuk_frontend),
            os.path.join(digitalmarketplace_govuk_frontend,
                         "digitalmarketplace", "templates"),
        ]
        jinja_loader = jinja2.FileSystemLoader(template_folders)
        app.jinja_loader = jinja_loader

        # Set the govuk_frontend_version to account for version-based quirks (eg: v3 Error Summary links to radios)
        with open(
                os.path.join(repo_root, "node_modules", "govuk-frontend",
                             "package.json")) as package_json_file:
            package_json = json.load(package_json_file)
            dmcontent.govuk_frontend.govuk_frontend_version = list(
                map(int, package_json["version"].split(".")))
コード例 #19
0
ファイル: config.py プロジェクト: waleedusman/orams
class Config:
    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    URL_PREFIX = '/api'
    URL_PREFIX_V2 = '/api/2'
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    DM_SEARCH_API_URL = None
    DM_SEARCH_API_AUTH_TOKEN = None
    DM_API_AUTH_TOKENS = None
    ES_ENABLED = True
    AUTH_REQUIRED = True
    DM_HTTP_PROTO = 'http'
    # Logging
    DM_LOG_LEVEL = 'INFO'
    DM_LOG_PATH = None
    DM_APP_NAME = 'api'
    DM_REQUEST_ID_HEADER = 'ORAMS-Request-ID'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'
    DM_API_ADMIN_USERNAME = '******'
    DM_API_ADMIN_PASSWORD = None

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    # List all your feature flags below
    FEATURE_FLAGS = {'TRANSACTION_ISOLATION': False}

    DM_API_APPLICATIONS_PAGE_SIZE = 1000
    DM_API_SERVICES_PAGE_SIZE = 100
    DM_API_SUPPLIERS_PAGE_SIZE = 10
    DM_API_BRIEFS_PAGE_SIZE = 100
    DM_API_BRIEF_RESPONSES_PAGE_SIZE = 100
    DM_API_USER_PAGE_SIZE = 100
    DM_API_PAGE_SIZE = 100
    SQLALCHEMY_COMMIT_ON_TEARDOWN = False
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_RECORD_QUERIES = True
    SQLALCHEMY_DATABASE_URI = 'postgresql:///orams'
    BASE_TEMPLATE_DATA = {}

    DM_FAILED_LOGIN_LIMIT = 5

    VCAP_SERVICES = None

    DEADLINES_TZ_NAME = 'Australia/Sydney'
    DEFAULT_REQUIREMENTS_DURATION = '2 weeks'
    DEADLINES_TIME_OF_DAY = '18:00:00'

    JIRA_URL = 'https://govausites.atlassian.net'
    JIRA_CREDS = ''
    JIRA_CREDS_OAUTH = ''

    JIRA_MARKETPLACE_PROJECT_CODE = 'MARADMIN'
    JIRA_APPLICATION_FIELD_CODE = 'customfield_11100'
    JIRA_SUPPLIER_FIELD_CODE = 'customfield_11000'

    JIRA_FEATURES = False

    ROLLBAR_TOKEN = None
    DM_TEAM_EMAIL = None
    DM_TEAM_SLACK_WEBHOOK = None

    LEGACY_ROLE_MAPPING = False

    SEARCH_MINIMUM_MATCH_SCORE_NAME = 0
    SEARCH_MINIMUM_MATCH_SCORE_SUMMARY = 0.02

    # EMAIL CONFIG
    DM_SEND_EMAIL_TO_STDERR = False

    DM_CLARIFICATION_QUESTION_EMAIL = '*****@*****.**'
    DM_FRAMEWORK_AGREEMENTS_EMAIL = '*****@*****.**'

    GENERIC_CONTACT_EMAIL = '*****@*****.**'
    DM_GENERIC_NOREPLY_EMAIL = '*****@*****.**'
    DM_GENERIC_ADMIN_NAME = 'Digital Marketplace Admin'
    DM_GENERIC_SUPPORT_NAME = 'Digital Marketplace'
    ORAMS_GENERIC_SUPPORT_NAME = 'ORAMS'

    RESET_PASSWORD_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    RESET_PASSWORD_EMAIL_FROM = '*****@*****.**'
    RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your Digital Marketplace password'
    ORAMS_RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your ORAMS password'

    INVITE_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    INVITE_EMAIL_FROM = '*****@*****.**'
    INVITE_EMAIL_SUBJECT = 'Activate your new Marketplace account'
    ORAMS_INVITE_EMAIL_SUBJECT = 'Create your ORAMS Portal account'
    BUYER_INVITE_MANAGER_CONFIRMATION_SUBJECT = 'Digital Marketplace buyer account request [SEC=UNCLASSIFIED]'
    BUYER_INVITE_REQUEST_ADMIN_EMAIL = '*****@*****.**'
    ORAMS_BUYER_INVITE_REQUEST_ADMIN_EMAIL = '*****@*****.**'

    NEW_SUPPLIER_INVITE_SUBJECT = 'Digital Marketplace - invitation to create seller account'

    CLARIFICATION_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    CLARIFICATION_EMAIL_FROM = '*****@*****.**'
    CLARIFICATION_EMAIL_SUBJECT = 'Thanks for your clarification question'
    DM_FOLLOW_UP_EMAIL_TO = '*****@*****.**'

    CREATE_USER_SUBJECT = 'Create your Digital Marketplace account'
    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_SALT = 'ResetPasswordSalt'
    SIGNUP_INVITATION_TOKEN_SALT = 'NewUserInviteEmail'
    BUYER_CREATION_TOKEN_SALT = 'BuyerCreation'
    SUPPLIER_INVITE_TOKEN_SALT = 'SupplierInviteEmail'

    GENERIC_EMAIL_DOMAINS = [
        'gmail.com', 'bigpond.com', 'outlook.com', 'outlook.com.au',
        'hotmail.com', 'yahoo.com', 'optusnet.com.au', 'msn.com',
        'internode.on.net', 'iinet.net.au', 'ozemail.com.au', 'live.com.au',
        'digital.gov.au', 'icloud.com', 'me.com'
    ]

    FRONTEND_ADDRESS = 'https://orams-dev.apps.y.cld.gov.au'
    ADMIN_ADDRESS = 'https://orams-dev-admin.apps.y.cld.gov.au'
    APP_ROOT = {'digital-marketplace': '/2', 'orams': '/orams'}

    SEND_EMAILS = True
    CSRF_ENABLED = False
    BASIC_AUTH = False

    ALLOWED_EXTENSIONS = ['pdf', 'odt', 'doc', 'docx']

    S3_BUCKET_NAME = ''
    S3_ENDPOINT_URL = 's3-ap-southeast-2.amazonaws.com'
    AWS_DEFAULT_REGION = ''
    SWAGGER = {'title': 'Digital Marketplace API', 'uiversion': 3}
    ORAMS_FRAMEWORK = 'orams'

    # CELERY
    CELERY_ASYNC_TASKING_ENABLED = False
    CELERY_TIMEZONE = 'UTC'
    CELERYBEAT_SCHEDULE = {}
コード例 #20
0
class Config:
    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    URL_PREFIX = '/api'
    URL_PREFIX_V2 = '/api/2'
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = 'Lax'
    DM_SEARCH_API_URL = None
    DM_SEARCH_API_AUTH_TOKEN = None
    DM_API_AUTH_TOKENS = None
    ES_ENABLED = True
    AUTH_REQUIRED = True
    DM_HTTP_PROTO = 'http'
    # Logging
    DM_LOG_LEVEL = 'INFO'
    DM_LOG_PATH = None
    DM_APP_NAME = 'api'
    DM_REQUEST_ID_HEADER = 'DM-Request-ID'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Vcap-Request-Id'
    DM_API_ADMIN_USERNAME = '******'
    DM_API_ADMIN_PASSWORD = None
    # API key auth
    DM_API_KEY_HEADER = 'X-Api-Key'

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    # List all your feature flags below
    FEATURE_FLAGS = {'TRANSACTION_ISOLATION': False}

    DM_API_APPLICATIONS_PAGE_SIZE = 1000
    DM_API_SERVICES_PAGE_SIZE = 100
    DM_API_SUPPLIERS_PAGE_SIZE = 10
    DM_API_BRIEFS_PAGE_SIZE = 100
    DM_API_BRIEF_RESPONSES_PAGE_SIZE = 100
    DM_API_USER_PAGE_SIZE = 100
    DM_API_PAGE_SIZE = 100
    SQLALCHEMY_COMMIT_ON_TEARDOWN = False
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_RECORD_QUERIES = True
    SQLALCHEMY_DATABASE_URI = 'postgresql:///digitalmarketplace'
    BASE_TEMPLATE_DATA = {}

    DM_FAILED_LOGIN_LIMIT = 5

    VCAP_SERVICES = None

    DEADLINES_TZ_NAME = 'Australia/Sydney'
    DEFAULT_REQUIREMENTS_DURATION = '2 weeks'
    DEADLINES_TIME_OF_DAY = '18:00:00'

    JIRA_URL = 'https://govausites.atlassian.net'
    JIRA_CREDS = ''
    JIRA_CREDS_OAUTH = ''

    JIRA_FIELD_CODES = {
        'ASSESSOR_RESULT_CODES': {
            '1': ['customfield_11210',
                  'customfield_11208'],  # Strategy and Policy
            '2': ['customfield_11222',
                  'customfield_11221'],  # Change, Training and Transformation
            '3': ['customfield_11211',
                  'customfield_11212'],  # User research and Design
            '4': ['customfield_11213',
                  'customfield_11214'],  # Agile delivery and Governance
            '6': ['customfield_11215',
                  'customfield_11216'],  # Software engineering and Development
            '7': ['customfield_11220',
                  'customfield_11219'],  # Content and Publishing
            '8': ['customfield_11225', 'customfield_11226'],  # Cyber security
            '9':
            ['customfield_11223',
             'customfield_11224'],  # Marketing, Communications and Engagement
            '10': ['customfield_11217',
                   'customfield_11218'],  # Support and Operations
            '11': ['customfield_11227', 'customfield_11228'],  # Data science
            '13': ['customfield_11230',
                   'customfield_11229'],  # Emerging technologies
            '14': ['customfield_11241',
                   'customfield_11242'],  # Change and Transformation
            '15': ['customfield_11243',
                   'customfield_11244']  # Training, Learning and Development
        },
        'MARKETPLACE_PROJECT_CODE': 'MARADMIN',
        'APPLICATION_FIELD_CODE': 'customfield_11100',
        'SUPPLIER_FIELD_CODE': 'customfield_11000',
        'RANKING_ASSESSOR_1_FIELD_CODE': 'customfield_11204',
        'RANKING_ASSESSOR_2_FIELD_CODE': 'customfield_11206'
    }

    JIRA_FEATURES = False

    ROLLBAR_TOKEN = None
    DM_TEAM_EMAIL = None
    DM_TEAM_SLACK_WEBHOOK = None

    LEGACY_ROLE_MAPPING = False

    SEARCH_MINIMUM_MATCH_SCORE_NAME = 0
    SEARCH_MINIMUM_MATCH_SCORE_SUMMARY = 0.02

    # EMAIL CONFIG
    DM_SEND_EMAIL_TO_STDERR = False

    DM_CLARIFICATION_QUESTION_EMAIL = '*****@*****.**'
    DM_FRAMEWORK_AGREEMENTS_EMAIL = '*****@*****.**'

    GENERIC_CONTACT_EMAIL = '*****@*****.**'
    DM_GENERIC_NOREPLY_EMAIL = '*****@*****.**'
    DM_MAILCHIMP_NOREPLY_EMAIL = '*****@*****.**'
    DM_GENERIC_ADMIN_NAME = 'Digital Marketplace Admin'
    DM_GENERIC_SUPPORT_NAME = 'Digital Marketplace'

    RESET_PASSWORD_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    RESET_PASSWORD_EMAIL_FROM = '*****@*****.**'
    RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your Digital Marketplace password'

    INVITE_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    INVITE_EMAIL_FROM = '*****@*****.**'
    INVITE_EMAIL_SUBJECT = 'Activate your new Marketplace account'
    BUYER_INVITE_MANAGER_CONFIRMATION_SUBJECT = 'Digital Marketplace buyer account request [SEC=UNCLASSIFIED]'
    BUYER_INVITE_REQUEST_ADMIN_EMAIL = '*****@*****.**'

    NEW_SUPPLIER_INVITE_SUBJECT = 'Digital Marketplace - invitation to create seller account'

    CLARIFICATION_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    CLARIFICATION_EMAIL_FROM = '*****@*****.**'
    CLARIFICATION_EMAIL_SUBJECT = 'Thanks for your clarification question'
    DM_FOLLOW_UP_EMAIL_TO = '*****@*****.**'

    CREATE_USER_SUBJECT = 'Create your Digital Marketplace account'
    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_SALT = 'ResetPasswordSalt'
    SIGNUP_INVITATION_TOKEN_SALT = 'NewUserInviteEmail'
    BUYER_CREATION_TOKEN_SALT = 'BuyerCreation'
    SUPPLIER_INVITE_TOKEN_SALT = 'SupplierInviteEmail'

    GENERIC_EMAIL_DOMAINS = [
        'bigpond.com', 'bigpond.net.au', 'digital.gov.au', 'gmail.com',
        'hotmail.com', 'icloud.com', 'iinet.net.au', 'internode.on.net',
        'live.com.au', 'me.com', 'msn.com', 'optusnet.com.au', 'outlook.com',
        'outlook.com.au', 'ozemail.com.au', 'tpg.com.au', 'y7mail.com',
        'yahoo.com', 'yahoo.com.au', 'grapevine.com.au', 'mail.com'
    ]

    FRONTEND_ADDRESS = 'https://dm-dev.apps.y.cld.gov.au'
    ADMIN_ADDRESS = 'https://dm-dev-admin.apps.y.cld.gov.au'
    APP_ROOT = {'digital-marketplace': '/2'}

    SEND_EMAILS = True
    CSRF_ENABLED = True
    BASIC_AUTH = False

    ALLOWED_EXTENSIONS = [
        'pdf', 'odt', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'
    ]

    S3_BUCKET_NAME = ''
    S3_ENDPOINT_URL = 's3-ap-southeast-2.amazonaws.com'
    AWS_DEFAULT_REGION = ''
    SWAGGER = {'title': 'Digital Marketplace API', 'uiversion': 3}
    AWS_S3_URL = None
    AWS_SES_URL = None
    AWS_SQS_BROKER_URL = None
    AWS_SQS_QUEUE_URL = None

    # CELERY
    CELERY_TIMEZONE = 'Australia/Sydney'
    CELERYBEAT_SCHEDULE = {}

    # redis
    REDIS_SESSIONS = True
    REDIS_SERVER_HOST = '127.0.0.1'
    REDIS_SERVER_PORT = 6379
    REDIS_SERVER_PASSWORD = None
    REDIS_SSL = False
    REDIS_SSL_HOST_REQ = None
    REDIS_SSL_CA_CERTS = None
コード例 #21
0
class Config(object):

    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True

    PERMANENT_SESSION_LIFETIME = 4 * 3600

    WTF_CSRF_ENABLED = True
    WTF_CSRF_TIME_LIMIT = None

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_MANDRILL_API_KEY = None
    DM_CLARIFICATION_QUESTION_EMAIL = '*****@*****.**'
    DM_FRAMEWORK_AGREEMENTS_EMAIL = '*****@*****.**'

    DM_AGREEMENTS_BUCKET = None
    DM_COMMUNICATIONS_BUCKET = None
    DM_DOCUMENTS_BUCKET = None
    DM_SUBMISSIONS_BUCKET = None
    DM_ASSETS_URL = None

    DEBUG = False

    RESET_PASSWORD_EMAIL_NAME = 'Digital Marketplace Admin'
    RESET_PASSWORD_EMAIL_FROM = '*****@*****.**'
    RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your Digital Marketplace password'

    INVITE_EMAIL_NAME = 'Digital Marketplace Admin'
    INVITE_EMAIL_FROM = '*****@*****.**'
    INVITE_EMAIL_SUBJECT = 'Your Digital Marketplace invitation'

    CLARIFICATION_EMAIL_NAME = 'Digital Marketplace Admin'
    CLARIFICATION_EMAIL_FROM = '*****@*****.**'
    CLARIFICATION_EMAIL_SUBJECT = 'Thanks for your clarification question'
    DM_FOLLOW_UP_EMAIL_TO = '*****@*****.**'

    FRAMEWORK_AGREEMENT_RETURNED_NAME = 'Digital Marketplace Admin'

    DM_GENERIC_NOREPLY_EMAIL = '*****@*****.**'

    CREATE_USER_SUBJECT = 'Create your Digital Marketplace account'
    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_SALT = 'ResetPasswordSalt'
    INVITE_EMAIL_SALT = 'InviteEmailSalt'

    STATIC_URL_PATH = '/suppliers/static'
    ASSET_PATH = STATIC_URL_PATH + '/'
    BASE_TEMPLATE_DATA = {
        'header_class': 'with-proposition',
        'asset_path': ASSET_PATH,
        'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
    }

    # Feature Flags
    RAISE_ERROR_ON_MISSING_FEATURES = True

    FEATURE_FLAGS_EDIT_SECTIONS = False
    FEATURE_FLAGS_CONTRACT_VARIATION = False

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_LOG_PATH = None
    DM_APP_NAME = 'supplier-frontend'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'

    @staticmethod
    def init_app(app):
        repo_root = os.path.abspath(os.path.dirname(__file__))
        template_folders = [os.path.join(repo_root, 'app/templates')]
        jinja_loader = jinja2.FileSystemLoader(template_folders)
        app.jinja_loader = jinja_loader
コード例 #22
0
class Config(object):
    VERSION = get_version_label(os.path.abspath(os.path.dirname(__file__)))
    SESSION_COOKIE_NAME = 'dm_session'
    SESSION_COOKIE_PATH = '/'
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SECURE = True
    SESSION_COOKIE_SAMESITE = 'Lax'

    BASE_PREFIX = ''
    URL_PREFIX = BASE_PREFIX + '/sellers'

    CSRF_ENABLED = True
    CSRF_TIME_LIMIT = 8 * 3600

    DM_DEFAULT_CACHE_MAX_AGE = 48 * 3600

    DM_TIMEZONE = 'Australia/Sydney'

    DM_DATA_API_URL = None
    DM_DATA_API_AUTH_TOKEN = None
    DM_CLARIFICATION_QUESTION_EMAIL = '*****@*****.**'
    DM_FRAMEWORK_AGREEMENTS_EMAIL = '*****@*****.**'

    DM_AGREEMENTS_BUCKET = None
    DM_COMMUNICATIONS_BUCKET = None
    DM_DOCUMENTS_BUCKET = None
    DM_SUBMISSIONS_BUCKET = None
    DM_ASSETS_URL = None

    DM_HTTP_PROTO = 'http'
    DM_SEND_EMAIL_TO_STDERR = False
    DM_CACHE_TYPE = 'dev'

    DEBUG = False

    GENERIC_CONTACT_EMAIL = '*****@*****.**'
    DM_GENERIC_NOREPLY_EMAIL = '*****@*****.**'
    DM_GENERIC_ADMIN_NAME = 'Digital Marketplace Admin'
    DM_GENERIC_SUPPORT_NAME = 'Digital Marketplace'

    RESET_PASSWORD_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    RESET_PASSWORD_EMAIL_FROM = '*****@*****.**'
    RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your Digital Marketplace password'

    INVITE_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    INVITE_EMAIL_FROM = '*****@*****.**'
    INVITE_EMAIL_SUBJECT = 'Activate your new Marketplace account'

    AUTHREP_EMAIL_SUBJECT = 'Accepting the agreement to join the Digital Marketplace'
    NEW_SUPPLIER_INVITE_SUBJECT = 'Digital Marketplace - invitation to create seller account'

    CLARIFICATION_EMAIL_NAME = DM_GENERIC_ADMIN_NAME
    CLARIFICATION_EMAIL_FROM = '*****@*****.**'
    CLARIFICATION_EMAIL_SUBJECT = 'Thanks for your clarification question'
    DM_FOLLOW_UP_EMAIL_TO = '*****@*****.**'

    FRAMEWORK_AGREEMENT_RETURNED_NAME = DM_GENERIC_ADMIN_NAME

    CREATE_USER_SUBJECT = 'Create your Digital Marketplace account'
    SECRET_KEY = None
    SHARED_EMAIL_KEY = None
    RESET_PASSWORD_SALT = 'ResetPasswordSalt'
    SUPPLIER_INVITE_TOKEN_SALT = 'SupplierInviteEmail'

    # used within links in email templates to point to the site's domain - see MAR-2863
    FRONTEND_ADDRESS = 'http://localhost:8000'
    ASSET_PATH = URL_PREFIX + '/static'

    FEATURE_FLAGS = {
        'EDIT_SECTIONS': True,
        'SELLER_EDIT': True,
        'DM_FRAMEWORK': True,
    }

    # Logging
    DM_LOG_LEVEL = 'DEBUG'
    DM_LOG_PATH = None
    DM_APP_NAME = 'supplier-frontend'
    DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Vcap-Request-Id'

    REACT_BUNDLE_URL = 'https://dm-dev-frontend.apps.y.cld.gov.au/bundle/'
    REACT_RENDER_URL = 'https://dm-dev-frontend.apps.y.cld.gov.au/render'
    REACT_RENDER = not DEBUG

    ALLOWED_EXTENSIONS = ['pdf', 'jpg', 'jpeg', 'png']
    S3_BUCKET_NAME = ''
    S3_ENDPOINT_URL = 's3-ap-southeast-2.amazonaws.com'
    AWS_DEFAULT_REGION = ''

    GENERIC_EMAIL_DOMAINS = [
        'bigpond.com', 'digital.gov.au', 'gmail.com', 'hotmail.com',
        'icloud.com', 'iinet.net.au', 'internode.on.net', 'live.com.au',
        'me.com', 'msn.com', 'optusnet.com.au', 'outlook.com',
        'outlook.com.au', 'ozemail.com.au', 'yahoo.com', 'yahoo.com.au'
    ]

    ROLLBAR_TOKEN = None
    DM_TEAM_SLACK_WEBHOOK = None
    DM_GA_CODE = 'UA-72722909-6'

    # redis
    REDIS_SESSIONS = True
    REDIS_SERVER_HOST = '127.0.0.1'
    REDIS_SERVER_PORT = 6379
    REDIS_SERVER_PASSWORD = None
    REDIS_SSL = False
    REDIS_SSL_HOST_REQ = None
    REDIS_SSL_CA_CERTS = None