7e0759846f
Move the ~20 optional cluster knobs out of the StartOS "Configure Sparks"
action (now just the 4 required fields) and into a dashboard ⚙ Settings gear,
backed by a /data/app_settings.json overlay keyed by env-var names. One shared
mutable Settings instance + Settings.reload() applies edits live without a
restart; existing installs' values migrate automatically on first boot.
Also: support-service ports (parakeet/kokoro/embed/qdrant + vllm) are now
configurable, and GET /api/swap/lock no longer 404s (it was shadowed by the
/api/swap/{job_id} catch-all). WebhookNotifier is re-pointed on save so its
url/secret reload live too.
21 lines
996 B
Python
21 lines
996 B
Python
"""Shared pytest setup.
|
|
|
|
These suites are pure/offline — they exercise pure functions and never touch the
|
|
Sparks, /data, or the network. We still pin the env vars the app modules expect
|
|
(documented in docs/guides/fastapi-image.md) to tmp paths so importing them can
|
|
never write to the container-only /data path.
|
|
"""
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
# Let `import app...` resolve whether or not the package is pip-installed.
|
|
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
|
|
|
|
os.environ.setdefault("REDACTION_MAP_DB", "/tmp/spark_control_test_maps.db")
|
|
os.environ.setdefault("CONNECTIVITY_LOG", "/tmp/spark_control_test_connectivity.json")
|
|
os.environ.setdefault("MODELS_OVERRIDES", "/tmp/spark_control_test_overrides.yaml")
|
|
# Keep the in-app settings overlay off the container-only /data path; tests that
|
|
# care about its contents point it at their own tmp file via monkeypatch.
|
|
os.environ.setdefault("APP_SETTINGS_FILE", "/tmp/spark_control_test_app_settings.json")
|