"""Application configuration.""" import logging import os import newrelic.agent from sqlalchemy.pool import NullPool from sqlalchemy.pool import StaticPool # Service information SERVICE_NAME = 'ows-assets' SERVICE_VERSION = '1.0.0' # Production environment PROD_ENVIRONMENT = 'prod' DEV_ENVIRONMENT = 'dev' QA_ENVIRONMENT = 'qa' TEST_ENVIRONMENT = 'test' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) # legacy services config MANAGE_ASSET_URL = os.environ.get('MANAGE_ASSET_URL') or None SERVER_LOCATION_AVL = int(os.environ.get('SERVER_LOCATION_AVL') or 1) if ENVIRONMENT in (PROD_ENVIRONMENT, QA_ENVIRONMENT): newrelic.agent.initialize('newrelic.ini') # Errors and loggers SENTRY = os.environ.get('SENTRY_DSN') or None LOGGER_DSN = os.environ.get('LOGGER_DSN') LOGGER_LEVEL = logging.INFO LOGGER_NAME = 'ows1' # Database config if ENVIRONMENT == TEST_ENVIRONMENT: DD_DB_URL = 'sqlite://' RDS_DB_URL = 'sqlite://' AR_DB_URL = 'sqlite://' POOL_CLASS = StaticPool else: DD_DB_URL = os.environ.get('DD_DB_URL', 'sqlite://') AR_DB_URL = os.environ.get('AR_DB_URL', 'sqlite://') RDS_DB_URL = os.environ.get('RDS_DB_URL', 'sqlite://') POOL_CLASS = NullPool # Generic handlers HEALTH_CHECK = '/hello/' # s3 buckets RAW_ASSETS_BUCKET_NAME = '{env}-orcd-raw-assets'.format(env=ENVIRONMENT) ASSET_STORAGE_BUCKET_NAME = '{env}-asset-storage'.format(env=ENVIRONMENT) # Cloudfront URL if ENVIRONMENT == PROD_ENVIRONMENT: CDN_URL = 'https://images.theorchard.io' else: CDN_URL = 'https://qa-images.theorchard.io' # iam role to assume IAM_ROLE = os.environ.get('IAM_ROLE') # Prefix for track stream urls STREAM_URL_PREFIX = os.environ.get('STREAM_URL')