from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization # from distutils.util import strtobool import os USE_SSL = True # Envirnoment PROD_ENVIRONMENT = 'prod' DEV_ENVIRONMENT = 'dev' QA_ENVIRONMENT = 'qa' TEST_ENVIRONMENT = 'test' ENVIRONMENT = os.environ.get('ENVIRONMENT', 'DEV') # Environment ---------------------------------------------------------------- # S3 Warehouses based on target environment. if ENVIRONMENT == DEV_ENVIRONMENT: # noqa SNOWFLAKE_WAREHOUSE = 'DEV_OWS_WAREHOUSE' if ENVIRONMENT == QA_ENVIRONMENT: # noqa SNOWFLAKE_WAREHOUSE = 'QA_OWS_WAREHOUSE' elif ENVIRONMENT == PROD_ENVIRONMENT: # noqa SNOWFLAKE_WAREHOUSE = 'PROD_OWS_WAREHOUSE' # Application Vars # APPLICATION_NAME = 'bulk-approve-graph' SLEEP_TIME = float(os.environ.get('SLEEP_TIME', '0.1')) # Logging -------------------------------------------------------------------- # Logger DSN (WIP) ----------------------------------------------------------- LOGGER_DSN = os.environ.get('LOGGER_DSN') or None LOGGER_NAME = 'bulk-approve-graph-logger' LOGGER_LEVEL = os.environ.get('LOGGER_LEVEL', 'INFO') # Log to Screen level CONSOLE_LOG_LEVEL = str(os.environ.get('CONSOLE_LOG_LEVEL', 'INFO')) # Application Version APP_VERSION = os.environ.get('APP_VERSION', '1.0') # Snowflake ------------------------------------------------------------------ SNOWFLAKE_ACCOUNT = os.environ.get('SNOWFLAKE_ACCOUNT', 'orchard') SNOWFLAKE_USER = os.environ.get('SNOWFLAKE_USER', '') SNOWFLAKE_ROLE = os.environ.get('SNOWFLAKE_ROLE', 'DEV_ENGINEERING') SNOWFLAKE_PASSWORD = os.environ.get('SNOWFLAKE_PASSWORD', '') SNOWFLAKE_WAREHOUSE = os.environ.get( 'SNOWFLAKE_WAREHOUSE', 'DEV_OWS_WAREHOUSE') SNOWFLAKE_DATABASE = os.environ.get('SNOWFLAKE_DATABASE', '') SNOWFLAKE_SCHEMA = os.environ.get('SNOWFLAKE_SCHEMA', '') SNOWFLAKE_KEY_PASSPHRASE = os.environ.get('SNOWFLAKE_KEY_PASSPHRASE', '') SNOWFLAKE_PRIVATE_KEY_PATH = os.environ.get('SNOWFLAKE_PRIVATE_KEY_PATH', '') # ----------- Snowflake PEM-key RSA auth ------------------------------------- if SNOWFLAKE_KEY_PASSPHRASE: try: HOME = os.environ['HOME'] except KeyError: HOME = str( os.environ['HOMEDRIVE'] + os.environ['HOMEPATH'] ).replace('\\', '/') # Snowflake key if not SNOWFLAKE_PRIVATE_KEY_PATH: SNOWFLAKE_PRIVATE_KEY_PATH = '{}/.ssh/snowflake/rsa_key.p8'.format( HOME) 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()) pkb = p_key.private_bytes( encoding=serialization.Encoding.DER, format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption()) SNOWFLAKE_CONNECT_ARGS = {'private_key': pkb} else: SNOWFLAKE_CONNECT_ARGS = {} # The table which contains the release_ids SNOWFLAKE_SOURCE_TABLE = os.environ.get('SNOWFLAKE_SOURCE_TABLE', '') # AWS AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID') AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY') # GraphQL GRAPHQL_GATEWAY_URL = os.environ.get('GRAPHQL_GATEWAY_URL') RELEASE_ID = os.environ.get('RELEASE_ID', None) OA_USER = os.environ.get('OA_USER') ORCH_HEADER_IDENTITY_ID = os.environ.get('ORCH_HEADER_IDENTITY_ID', None) ORCH_HEADER_PROFILE_ID = os.environ.get('ORCH_HEADER_PROFILE_ID', None) ORCH_HEADER_PROFILE_TYPE = os.environ.get('ORCH_HEADER_PROFILE_TYPE', None) ORCH_HEADER_ROLE = os.environ.get('ORCH_HEADER_ROLE', None)