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
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
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' }, }
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
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
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')
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
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
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
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(".")))
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
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
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
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
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
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(".")))
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(".")))
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 = {}
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
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
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