import os class Config: def __init__(self): # database self.SQLALCHEMY_DATABASE_URI = os.getenv("SQLALCHEMY_DATABASE_URI") # 3rd party api self.ACCOUNT_ADDR = os.getenv("ACCOUNT_ADDR", "http://account-central-http.nightly-ms.svc.cluster.local:11000") self.AIPOWER_ADDR = os.getenv("AIPOWER_ADDR", "http://aipower-api-service.nightly-ms.svc.cluster.local:10010") self.API_ADDR = os.getenv("API_ADDR", "https://us-west-2.nightly.shared.aws.tidbcloud.com") # openai self.OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") # permission self.VALID_ACCESS_KEYS = set(os.getenv("VALID_ACCESS_KEYS", "").split(",")) self.DISABLE_PERMISSION = os.getenv("DISABLE_PERMISSION", False) # broker self.BROKER_URL = os.getenv("BROKER_URL", "redis://localhost:6379/1") self.QUEUE_MAX_LENGTH = int(os.getenv("QUEUE_MAX_LENGTH", 1024)) # sentry self.SENTRY_DSN = os.getenv("SENTRY_DSN", "https://191efa03d70248729841b875103e008f@o226447.ingest.sentry.io/4504643745218560") self.ENVIRONMENT = os.getenv("ENVIRONMENT", "dev") # jobs self.MAX_EXPIRED_THRESHOLD_IN_MINUTES = 60 # cross region self.cross_region_env = os.getenv("CROSS_REGION_ENV", "") self.cross_region_auth = os.getenv("CROSS_REGION_AUTH", "") # measuring self.sqs_region_env = os.getenv("SQS_REGION_ENV", "") # rate limit self.DISABLE_RATE_LIMIT = os.getenv("DISABLE_RATE_LIMIT", False) # cronjob self.DISABLE_CRONJOB = os.getenv("DISABLE_CRONJOB", False) # whitelist self.SHOW_INTERNAL_WHITELIST = [i for i in os.getenv("SHOW_INTERNAL_WHITELIST", "").split(",") if i] self.LENGJING_WHITELIST = [i for i in os.getenv("LENGJING_WHITELIST", "").split(",") if i] self.LENGJING_ORG_ID_WHITELIST = [i for i in os.getenv("LENGJING_ORG_ID_WHITELIST", "").split(",") if i] # assistant api self.SQLEDITOR_ASSISTANT_ENABLED = os.getenv("SQLEDITOR_ASSISTANT_ENABLED", "true") == "true" self.OPENAPI_ASSISTANT_ENABLED = os.getenv("OPENAPI_ASSISTANT_ENABLED", "true") == "true" # aws claude self.BEDROCK_AWS_ACCESS_KEY_ID = os.getenv("BEDROCK_AWS_ACCESS_KEY_ID", "") self.BEDROCK_AWS_SECRET_ACCESS_KEY = os.getenv("BEDROCK_AWS_SECRET_ACCESS_KEY", "") self.AWS_BEARER_TOKEN_BEDROCK = os.getenv("AWS_BEARER_TOKEN_BEDROCK", "") # alibaba cloud qwen self.QWEN_API_KEY = os.getenv("QWEN_API_KEY", "") self.QWEN_MODULE_CODE = os.getenv("QWEN_MODULE_CODE", "market_sgcmgj00035763") # billing2 service (for aliyun subscription info) self.BILLING2_ADDR = os.getenv("BILLING2_ADDR", "http://billing2:18888") # measuring self.DISABLE_MEASURING = bool(os.getenv("DISABLE_MEASURING")) # sample data self.FRED_API_KEY = os.getenv("FRED_API_KEY", "") self.FINANCIAL_SQLALCHEMY_DATABASE_URI = os.getenv("FINANCIAL_SQLALCHEMY_DATABASE_URI", "") config = Config()