Thermograph monorepo: graded-climate API + SSR frontend + infra, domain-specific containerized deploys
paths.py drops the sibling-directory walk (frontend is now the repo root: static/ and content/ are its own subdirectories, no more sibling walk needed). New Dockerfile (much smaller deps -- fastapi, uvicorn, httpx, jinja2, PyYAML -- no entrypoint script needed at all, frontend has no migrations/pre-boot logic). content/ is a committed starter copy for now, not yet real cross-repo vendoring from thermograph-copy (that repo doesn't exist yet) -- noted in paths.py's own docstring. Real, known gap flagged rather than silently skipped: this process cannot boot standalone (content.register() fetches the IndexNow key from backend at import time with no retry, by design), so build.yml only verifies the image builds, not a live boot+healthz check -- that needs a genuine cross-repo contract-test job (booting a real backend too), separate follow-up work. Same reason tests/ doesn't run here yet (its conftest.py still imports backend's own test fixtures via a sibling path that no longer exists) -- noted directly in the file. |
||
|---|---|---|
| .forgejo/workflows | ||
| content | ||
| static | ||
| templates | ||
| tests | ||
| .gitignore | ||
| api_client.py | ||
| app.py | ||
| content.py | ||
| content_loader.py | ||
| Dockerfile | ||
| format.py | ||
| paths.py | ||
| requirements.txt | ||