import os import base64 from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization SNOWFLAKE_PRIVATE_KEY_PATH = os.environ.get('SNOWFLAKE_PRIVATE_KEY_PATH') SNOWFLAKE_KEY_PASSPHRASE = os.environ.get('SNOWFLAKE_KEY_PASSPHRASE') with open(SNOWFLAKE_PRIVATE_KEY_PATH, 'rb') as key: p_key = serialization.load_pem_private_key( key.read(), password=SNOWFLAKE_KEY_PASSPHRASE.encode(), backend=default_backend() ) private_key = p_key.private_bytes( encoding=serialization.Encoding.DER, format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption()) SF_PARAMS = { 'role': os.environ.get('SNOWFLAKE_ROLE'), 'warehouse': os.environ.get('SNOWFLAKE_WAREHOUSE'), 'db': os.environ.get('SNOWFLAKE_DATABASE'), 'schema': os.environ.get('SNOWFLAKE_SCHEMA'), 'user': os.environ.get('SNOWFLAKE_USER'), 'private_key': private_key, 'account': os.environ.get('SNOWFLAKE_ACCOUNT') } if os.environ.get('ENVIRONMENT') == 'PROD': OPENSEARCH_HOST = os.environ.get('OPENSEARCH_HOST_PROD') else: OPENSEARCH_HOST = os.environ.get('OPENSEARCH_HOST_QA') OPENSEARCH_PORT = os.environ.get('OPENSEARCH_PORT', 443) OPENSEARCH_USE_SSL = bool( int(os.environ.get('OPENSEARCH_USE_SSL', 1))) OPENSEARCH_INDEX = os.environ.get('OPENSEARCH_INDEX', 'conflict_read') OPENSEARCH_TIMEOUT = int(os.environ.get('OPENSEARCH_TIMEOUT', 30)) OPENSEARCH_MAX_RETRIES = int(os.environ.get('OPENSEARCH_MAX_RETRIES', 5)) AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID') AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')