"""Config file for validate-ddex lambda.""" from logging import INFO import os from ddex_ingester_common.helpers.catalog_ingestion import ( CatalogIngestionSession ) from lambdacommon import util from lambdacommon.graphql.graphql import GraphQLConnector from secrets_manager.lambda_ext import LambdaSecretsManager from splitio import get_factory from splitio.exceptions import TimeoutException util.init_sentry_for_lambda() TEST_ENVIRONMENT = 'test' DEV_ENVIRONMENT = 'dev' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) APPLICATION_NAME = 'ddex-ingester' LAMBDA_NAME = f'{APPLICATION_NAME}-validate-ddex' GRAPHQL_GATEWAY_URL = os.environ.get('GRAPHQL_GATEWAY_URL') SWITCHBOARD_GRAPHQL_URL = os.environ.get('SWITCHBOARD_GRAPHQL_URL') OA_USER = os.environ.get('OA_USER') LOGGING_LEVEL = os.environ.get('LOGGING_LEVEL', INFO) SWITCHBOARD_ROLE_ARN = os.environ.get('SWITCHBOARD_ROLE_ARN') SWITCHBOARD_SECRET_ARN = os.environ.get('SWITCHBOARD_SECRET_ARN') app_logger = util.setup_ows_logger( environment=ENVIRONMENT, logger_name=LAMBDA_NAME, logger_level=LOGGING_LEVEL, service_name=LAMBDA_NAME, service_version='1.0.0' ) graphql_gateway = GraphQLConnector(GRAPHQL_GATEWAY_URL, LAMBDA_NAME) graphql_gateway.set_headers({'Orchard-User-Id': OA_USER}) graphql_switchboard = GraphQLConnector( SWITCHBOARD_GRAPHQL_URL, APPLICATION_NAME) secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=APPLICATION_NAME) split_secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name='split') RDS_HOST = os.environ.get('RDS_HOST') RDS_DB_NAME = os.environ.get('RDS_DB_NAME') RDS_USER = os.environ.get('RDS_RW_USER') RDS_PASSWORD = secrets_manager_client.get_cred('rds_read_write_password') catalog_ingestion_session = CatalogIngestionSession( RDS_HOST, RDS_DB_NAME, RDS_USER, RDS_PASSWORD) SPLITIO_API_KEY = split_secrets_manager_client.get_cred('API_KEY') SPLIT_BLOCK_UNTIL_READY_TIMEOUT = 10 split_client = None if ENVIRONMENT != TEST_ENVIRONMENT: try: factory = get_factory(SPLITIO_API_KEY) factory.block_until_ready(SPLIT_BLOCK_UNTIL_READY_TIMEOUT) split_client = factory.client() except TimeoutException as err: raise Exception(f'Failed to start split factory due to: {str(err)}')