diff --git a/.env.example b/.env.example index 1fe6671..1723c12 100644 --- a/.env.example +++ b/.env.example @@ -21,6 +21,23 @@ DATA_DIR=./data # IP this machine advertises to the coordinator (must be reachable from coordinator host) # CF_ORCH_ADVERTISE_HOST=10.1.10.71 +# CF-core hosted coordinator (managed cloud GPU inference — Paid+ tier) +# Set CF_ORCH_URL to use a hosted cf-orch coordinator instead of self-hosting. +# CF_LICENSE_KEY is read automatically by CFOrchClient for bearer auth. +# CF_ORCH_URL=https://orch.circuitforge.tech +# CF_LICENSE_KEY=CFG-KIWI-xxxx-xxxx-xxxx + +# LLM backend — env-var auto-config (no llm.yaml needed for bare-metal users) +# LLMRouter checks these in priority order: +# 1. Anthropic cloud — set ANTHROPIC_API_KEY +# 2. OpenAI cloud — set OPENAI_API_KEY +# 3. Local Ollama — set OLLAMA_HOST (+ optionally OLLAMA_MODEL) +# All three are optional; leave unset to rely on a local llm.yaml instead. +# ANTHROPIC_API_KEY=sk-ant-... +# OPENAI_API_KEY=sk-... +# OLLAMA_HOST=http://localhost:11434 +# OLLAMA_MODEL=llama3.2 + # Processing USE_GPU=true GPU_MEMORY_LIMIT=6144 @@ -53,3 +70,8 @@ DEMO_MODE=false # Directus JWT (must match cf-directus SECRET env var) # DIRECTUS_JWT_SECRET= + +# In-app feedback → Forgejo issue creation +# FORGEJO_API_TOKEN= +# FORGEJO_REPO=Circuit-Forge/kiwi +# FORGEJO_API_URL=https://git.opensourcesolarpunk.com/api/v1 diff --git a/app/core/config.py b/app/core/config.py index 0b06934..091b574 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -46,6 +46,10 @@ class Settings: # CF-core resource coordinator (VRAM lease management) COORDINATOR_URL: str = os.environ.get("COORDINATOR_URL", "http://localhost:7700") + # Hosted cf-orch coordinator — bearer token for managed cloud GPU inference (Paid+) + # CFOrchClient reads CF_LICENSE_KEY automatically; exposed here for startup validation. + CF_LICENSE_KEY: str | None = os.environ.get("CF_LICENSE_KEY") + # Feature flags ENABLE_OCR: bool = os.environ.get("ENABLE_OCR", "false").lower() in ("1", "true", "yes") diff --git a/pyproject.toml b/pyproject.toml index f0386ce..929ce7a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ dependencies = [ # HTTP client "httpx>=0.27", # CircuitForge shared scaffold - "circuitforge-core", + "circuitforge-core>=0.6.0", ] [tool.setuptools.packages.find]