"""Configuration parameters.""" import logging import os KINESIS_STREAM_NAME = os.environ.get('KINESIS_STREAM_NAME') APPLICATION_NAME = 'lambda-alooma-cloudsearch' DEV_ENVIRONMENT = 'dev' QA_ENVIRONMENT = 'QA' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) LOGGING_LEVEL = os.environ.get('LOGGING_LEVEL', logging.INFO) logger = logging.getLogger(APPLICATION_NAME) logger.setLevel(LOGGING_LEVEL) # Sentry Config SENTRY_DSN = os.environ.get('SENTRY_DSN') or None # @todo(rsatsangi) CLOUDSEARCH_ENDPOINT -> CLOUDSEARCH_ENDPOINT_TRACKS CLOUDSEARCH_ENDPOINT = os.environ.get('CLOUDSEARCH_ENDPOINT') CLOUDSEARCH_ENDPOINT_PROJECTS = os.environ.get('CLOUDSEARCH_ENDPOINT_PROJECTS') CLOUDSEARCH_ENDPOINT_RELEASES = os.environ.get('CLOUDSEARCH_ENDPOINT_RELEASES') CLOUDSEARCH_ENDPOINT_LABELS = os.environ.get('CLOUDSEARCH_ENDPOINT_LABELS') CLOUDSEARCH_ENDPOINT_USERS = os.environ.get('CLOUDSEARCH_ENDPOINT_USERS') CLOUDSEARCH_ENDPOINT_ARTISTS = os.environ.get('CLOUDSEARCH_ENDPOINT_ARTISTS') cloudsearch_endpoints = { 'tracks': CLOUDSEARCH_ENDPOINT, 'projects': CLOUDSEARCH_ENDPOINT_PROJECTS, 'releases': CLOUDSEARCH_ENDPOINT_RELEASES, 'labels': CLOUDSEARCH_ENDPOINT_LABELS, 'users': CLOUDSEARCH_ENDPOINT_USERS, 'artists': CLOUDSEARCH_ENDPOINT_ARTISTS } AWS_DEFAULT_REGION = os.environ.get('AWS_DEFAULT_REGION', 'us-east-1') if ENVIRONMENT != 'test': assert all((KINESIS_STREAM_NAME, CLOUDSEARCH_ENDPOINT)),\ 'Please setup KINESIS_STREAM_NAME, CLOUDSEARCH_ENDPOINT env vars.' # Kafka Config KAFKA_BOOTSTRAP_SERVERS = os.environ.get('KAFKA_BOOTSTRAP_SERVERS') KAFKA_SECURITY_PROTOCOL = os.environ.get('KAFKA_SECURITY_PROTOCOL', 'SSL') KAFKA_TARGET_TOPICS = { 'tracks': os.environ.get('KAFKA_CLOUDSEARCH_TRACKS', 'event.backup.prod.etl.tracks'), 'projects': os.environ.get('KAFKA_CLOUDSEARCH_PROJECTS', 'event.backup.prod.etl.projects'), 'releases': os.environ.get('KAFKA_CLOUDSEARCH_RELEASES', 'event.backup.prod.etl.releases'), } # Name of the field that should be used as key for the kafka message. KAFKA_KEY_FIELD_IN_DOC = { 'tracks': 'track_unique_id', 'projects': 'project_id', 'releases': 'release_id', }