"""Service configs.""" import os from distutils.util import strtobool from constants import ENV_PROD, SERVICE ENVIRONMENT = os.environ.get("ENVIRONMENT", ENV_PROD).lower() SERVICE = os.environ.get("SERVICE", SERVICE).lower() IS_LOCAL = bool(os.environ.get("LOCAL", "") or os.environ.get("DEBUG", "")) SENTRY_DSN = os.environ.get("SENTRY_DSN") # SNOWFLAKE CONNECTION SNOWFLAKE_USER = os.environ["SNOWFLAKE_USER"] SNOWFLAKE_PASSWORD = os.environ["SNOWFLAKE_PASSWORD"] SNOWFLAKE_ACCOUNT = os.environ["SNOWFLAKE_ACCOUNT"] SNOWFLAKE_WAREHOUSE = os.environ["SNOWFLAKE_WAREHOUSE"] SNOWFLAKE_DATABASE = os.environ["SNOWFLAKE_DATABASE"] SNOWFLAKE_SCHEMA = os.environ["SNOWFLAKE_SCHEMA"] SNOWFLAKE_HOST = os.environ["SNOWFLAKE_HOST"] SNOWFLAKE_PORT = os.environ["SNOWFLAKE_PORT"] SNOWFLAKE_ENV = os.environ.get("SNOWFLAKE_ENV", "DEV") SNOWFLAKE_FORCE_SYNC_QUERY = strtobool(os.environ.get("SNOWFLAKE_FORCE_SYNC_QUERY", "false")) # ELASTICSEARCH ELASTIC_SEARCH_URL = os.environ["ELASTIC_SEARCH_URL"] ELASTIC_SEARCH_ENV = os.environ.get("ELASTIC_SEARCH_ENV", "LOCAL").lower() # S3 bucket config S3_ARTIFACTS_BUCKET = os.environ["S3_ARTIFACTS_BUCKET"] S3_BUCKET_REGION = os.environ.get("S3_BUCKET_REGION", "us-east-1") # POSTGRESQL CONNECTION POSTGRES_USER = os.environ["POSTGRES_USER"] POSTGRES_PASSWORD = os.environ["POSTGRES_PASSWORD"] POSTGRES_HOST = os.environ["POSTGRES_HOST"] POSTGRES_PORT = os.environ["POSTGRES_PORT"] POSTGRES_DB = os.environ["POSTGRES_DB"] POSTGRES_SCHEMA = os.environ.get("POSTGRES_SCHEMA", "dna") # Slack config SLACK_API_TOKEN = os.environ.get("SLACK_API_TOKEN") SLACK_CHANNEL_NAME = os.environ.get("SLACK_CHANNEL_NAME", f"#dna-etl-report-{ENVIRONMENT}") # ATLAS config ATLAS_BASE_URL = os.environ.get("ATLAS_BASE_URL") # CMS config CMS_API_CONFIG: dict = { "client_id": os.environ.get("CMS_CLIENT_ID"), "client_secret": os.environ.get("CMS_CLIENT_SECRET"), "base_url": ATLAS_BASE_URL, "audience": os.environ.get("CMS_AUDIENCE"), "cms_service_url": os.environ.get("CMS_BASE_URL"), } DEFAULT_RETRY_COUNT = int(os.environ.get("DEFAULT_RETRY_COUNT", 2)) DEFAULT_RETRY_WAIT = int(os.environ.get("DEFAULT_RETRY_WAIT", 1)) DEFAULT_RETRY_MAX_TIMEOUT = int(os.environ.get("DEFAULT_RETRY_MAX_TIMEOUT", 6))