"""Ingest config — loads .env and exposes the Spark/Qdrant/CRM settings.""" import os _ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) def load_env(path=None): path = path or os.path.join(_ROOT, ".env") if not os.path.exists(path): return with open(path, "r", encoding="utf-8") as fh: for line in fh: line = line.strip() if not line or line.startswith("#") or "=" not in line: continue k, v = line.split("=", 1) os.environ.setdefault(k.strip(), v.strip()) load_env() SPARK_CONTROL_URL = os.environ.get("SPARK_CONTROL_URL", "").rstrip("/") SPARK_VERIFY_TLS = os.environ.get("SPARK_CONTROL_VERIFY_TLS", "false").lower() in ("1", "true", "yes", "on") QDRANT_URL = os.environ.get("QDRANT_URL", "").rstrip("/") COLLECTION = os.environ.get("CRM_QDRANT_COLLECTION", "crm_chunks") EMBED_MODEL = os.environ.get("CRM_EMBED_MODEL", "BAAI/bge-m3") DENSE_DIM = int(os.environ.get("CRM_EMBED_DIM", "1024")) DEFAULT_DB = os.environ.get("CRM_DEV_DB_PATH", os.path.join(_ROOT, "data", "crm_dev.db"))