Thermograph monorepo: graded-climate API + SSR frontend + infra, domain-specific containerized deploys
Find a file
emi f97df715d1 Standalone frontend: no-walk paths.py, own Dockerfile, own CI
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.
2026-07-21 15:59:29 -07:00
.forgejo/workflows Standalone frontend: no-walk paths.py, own Dockerfile, own CI 2026-07-21 15:59:29 -07:00
content Extract the glossary and static-page SEO copy into a schema-validated content/ tree (#241) 2026-07-21 01:21:11 +00:00
static Configurable API base + CORS for the frontend/backend split (Stage 5) (#18) 2026-07-21 20:52:11 +00:00
templates Configurable API base + CORS for the frontend/backend split (Stage 5) (#18) 2026-07-21 20:52:11 +00:00
tests Standalone frontend: no-walk paths.py, own Dockerfile, own CI 2026-07-21 15:59:29 -07:00
.gitignore Standalone frontend: no-walk paths.py, own Dockerfile, own CI 2026-07-21 15:59:29 -07:00
api_client.py Repo-split Stage 4: cut prod traffic to backend + frontend, dual-service (#14) 2026-07-21 20:01:30 +00:00
app.py Move static asset + SPA-shell ownership from backend to frontend (repo-split Stage 7a) (#22) 2026-07-21 22:48:59 +00:00
content.py Configurable API base + CORS for the frontend/backend split (Stage 5) (#18) 2026-07-21 20:52:11 +00:00
content_loader.py Repo-split Stage 3: frontend SSR service (in-repo, not yet live) (#13) 2026-07-21 17:48:55 +00:00
Dockerfile Standalone frontend: no-walk paths.py, own Dockerfile, own CI 2026-07-21 15:59:29 -07:00
format.py Repo-split Stage 3: frontend SSR service (in-repo, not yet live) (#13) 2026-07-21 17:48:55 +00:00
paths.py Standalone frontend: no-walk paths.py, own Dockerfile, own CI 2026-07-21 15:59:29 -07:00
requirements.txt Standalone frontend: no-walk paths.py, own Dockerfile, own CI 2026-07-21 15:59:29 -07:00