Initial Mist scaffold
Successor to the Josh Steam prototypes. Single-VM Docker Compose stack with
the load-bearing core/ logic ported from JoshSteam CDN with bug fixes.
Contents:
- backend/ FastAPI + Celery (same image, two entrypoints)
core/ hdiff, librsync, chain_replay, manifest, compression,
discord, steam, unrealpak, paths
api/ auth, catalog, admin, builds (skeletons) + downloads (real)
worker/ Celery factory replacing the missing prototype Tasks/__init__.py
db/ SQLAlchemy models + Alembic initial migration
- admin-web/ SvelteKit + Tailwind skeleton
- client/ Tauri 2 + Svelte skeleton (Mist placeholder UI)
- mistpipe/ click-based admin CLI with subcommand stubs
- docs/ ARCHITECTURE, DECISIONS (9 ADRs), RUNBOOK
- docker-compose.yml + dev overlay + .github/workflows
Bugs fixed during port:
- Routes/download.py:2 stray backslash on import line
- Utils/celery.py inspect.reserved() missing parens + double active() typo
- Hardcoded OneDrive/Desktop paths replaced with pydantic-settings config
- Discord webhook URL + RabbitMQ password moved to env vars
- Missing Tasks/__init__.py reconstructed as worker/__init__.py
Out of scope for this commit: route bodies, UI screens, mistpipe subcommand
bodies, real image builds.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
"""Test configuration. Empty for now — present so pytest discovers the tests/ dir."""
|
||||
@@ -0,0 +1,26 @@
|
||||
"""Smoke test: every module imports cleanly.
|
||||
|
||||
If a dep is missing, a syntax error slipped through, or a circular import got
|
||||
introduced, this test fails. Cheap insurance.
|
||||
"""
|
||||
|
||||
|
||||
def test_core_modules_import() -> None:
|
||||
from mist.core import ( # noqa: F401
|
||||
chain_replay,
|
||||
compression,
|
||||
discord,
|
||||
hdiff,
|
||||
librsync,
|
||||
manifest,
|
||||
paths,
|
||||
steam,
|
||||
unrealpak,
|
||||
)
|
||||
|
||||
|
||||
def test_config_loads() -> None:
|
||||
from mist.config import settings
|
||||
|
||||
assert settings.environment in {"development", "staging", "production"} or settings.environment
|
||||
# don't assert specific values; just that it loaded
|
||||
Reference in New Issue
Block a user