import logging import os import sys from os.path import abspath, dirname, join, pardir from secrets_manager.python_ext import PythonSecretsManager from owslogger import logger from dotenv import load_dotenv # Load environment variables from a .env file if present dotenv_path = abspath(join(dirname(__file__), pardir, ".env")) load_dotenv(dotenv_path) SERVICE_NAME = "neighbouring-rights-migration" # Environment DEV_ENVIRONMENT = "dev" QA_ENVIRONMENT = "qa" PROD_ENVIRONMENT = "prod" ENVIRONMENT = os.environ.get("Environment", QA_ENVIRONMENT) # Logger Name LOGGER_NAME = SERVICE_NAME LOGGER_LEVEL = logging.INFO LOGGER_DSN = os.environ.get("LOGGER_DSN", None) SENTRY_DSN = os.environ.get("SENTRY_DSN", None) secrets_manager_client = PythonSecretsManager( environment=ENVIRONMENT, service_name=SERVICE_NAME ) NR_DELIVERY_DB_NAME = "neighbouring_rights_delivery" KAFKA_BROKERS = os.environ.get("KAFKA_BROKERS") CONTRIB_METADATA_TOPIC = "event.nr.contribution.metadata" if ENVIRONMENT == DEV_ENVIRONMENT: SNOWFLAKE_ACCOUNT = os.environ.get("SNOWFLAKE_ACCOUNT") SNOWFLAKE_USER = os.environ.get("SNOWFLAKE_USER") SNOWFLAKE_PASSWORD = os.environ.get("SNOWFLAKE_PASSWORD") SNOWFLAKE_ROLE = os.environ.get("SNOWFLAKE_ROLE") SNOWFLAKE_WAREHOUSE = os.environ.get("SNOWFLAKE_WAREHOUSE") SNOWFLAKE_SCHEMA = os.environ.get("SNOWFLAKE_SCHEMA", "DEV") SNOWFLAKE_DATABASE = os.environ.get("SNOWFLAKE_DATABASE") SNOWFLAKE_PRIVATE_KEY_PATH = os.environ.get("SNOWFLAKE_PRIVATE_KEY_PATH") SNOWFLAKE_KEY_PASSPHRASE = os.environ.get("SNOWFLAKE_KEY_PASSPHRASE") NR_DELIVERY_USERNAME = os.environ.get("NR_DELIVERY_USERNAME") NR_DELIVERY_PASSWORD = os.environ.get("NR_DELIVERY_PASSWORD") NR_DELIVERY_HOSTNAME = os.environ.get("NR_DELIVERY_HOSTNAME") else: SNOWFLAKE_USER = secrets_manager_client.get_cred("SNOWFLAKE_USER") SNOWFLAKE_PASSWORD = secrets_manager_client.get_cred("SNOWFLAKE_PASSWORD") SNOWFLAKE_ACCOUNT = os.environ.get("SNOWFLAKE_ACCOUNT") SNOWFLAKE_ROLE = os.environ.get("SNOWFLAKE_ROLE") SNOWFLAKE_WAREHOUSE = os.environ.get("SNOWFLAKE_WAREHOUSE") SNOWFLAKE_SCHEMA = os.environ.get("SNOWFLAKE_SCHEMA", "DEV") SNOWFLAKE_DATABASE = os.environ.get("SNOWFLAKE_DATABASE") NR_DELIVERY_USERNAME = secrets_manager_client.get_cred("NR_DELIVERY_USERNAME") NR_DELIVERY_PASSWORD = secrets_manager_client.get_cred("NR_DELIVERY_PASSWORD") NR_DELIVERY_HOSTNAME = os.environ.get("NR_DELIVERY_HOSTNAME") def get_logger(): return logger.setup( ENVIRONMENT, SERVICE_NAME, logging.INFO, SERVICE_NAME, "1.0.0", )