"""This file contains configuration data for python daemon and workers.""" import logging import os from secrets_manager.lambda_ext import LambdaSecretsManager # Application info SERVICE_NAME = os.environ.get('SERVICE_NAME') APP_VERSION = '0.0.1' # Environments ENVIRONMENT_PROD = 'prod' ENVIRONMENT_DEV = 'dev' ENVIRONMENT_QA = 'qa' ENVIRONMENT_TEST = 'test' ENVIRONMENT = os.environ.get('Environment', ENVIRONMENT_DEV) OWS_ENVIRONMENT = ENVIRONMENT if ENVIRONMENT == ENVIRONMENT_DEV: OWS_ENVIRONMENT = ENVIRONMENT_QA # Amazon Web Services # ------------------- AWS_REGION = os.environ.get('AWS_REGION', 'us-east-1') secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=SERVICE_NAME ) # Endpoints for localstack injection only if you're in dev environment SQS_ENDPOINT = '' S3_ENDPOINT = '' SFN_ENDPOINT = '' if ENVIRONMENT in [ENVIRONMENT_DEV]: SQS_ENDPOINT = os.environ.get('SQS_ENDPOINT') S3_ENDPOINT = os.environ.get('S3_ENDPOINT') SFN_ENDPOINT = os.environ.get('SFN_ENDPOINT') # Logging # ------- # Sentry: allows us to track effectively exceptions. SENTRY_DSN = secrets_manager_client.get_cred('SENTRY_DSN') LOGGER_LEVEL = getattr(logging, os.environ.get('LOGGER_LEVEL', 'INFO')) LOGGER_NAME = 'ows1' # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.receive_message # noqa MAX_NUMBER_OF_SQS_MESSAGES = int(os.environ.get('MAX_NUMBER_OF_SQS_MESSAGES') or 1) TASK_SQS_QUEUE_NAME = os.environ.get('TASK_SQS_QUEUE_NAME') MAX_WAIT_READY_SECONDS_DATADOG = int( os.environ.get('MAX_WAIT_READY_SECONDS_DATADOG') or -1 ) DD_AGENT_HOST = os.environ.get('DD_AGENT_HOST', 'localhost') DD_TRACE_AGENT_PORT = os.environ.get('DD_TRACE_AGENT_PORT', '8126') URL_DATADOG = os.environ.get( 'URL_DATADOG', f'http://{DD_AGENT_HOST}:{DD_TRACE_AGENT_PORT}' ) SQS_MESSAGE_VISIBILITY_TIMEOUT = int( os.environ.get('SQS_MESSAGE_VISIBILITY_TIMEOUT', 120) ) SQS_MESSAGE_WAIT_TIME_SECONDS = int(os.environ.get('SQS_MESSAGE_WAIT_TIME_SECONDS', 5)) # 64Mb upload chunk S3_UPLOAD_CHUNK_SIZE = int(os.environ.get('S3_UPLOAD_CHUNK_SIZE', 67108864)) S3_DOWNLOAD_CHUNK_SIZE = int(os.environ.get('S3_DOWNLOAD_CHUNK_SIZE', 67108864))