cc997c09e3
refactor: rename CF_ORCH_URL → GPU_SERVER_URL (backward-compat alias kept)
...
GPU_SERVER_URL is the self-explanatory name a self-hoster can understand
without knowing CircuitForge internals. CF_ORCH_URL continues to work as
a drop-in fallback alias (runner.py, main.py both check GPU_SERVER_URL
first, then CF_ORCH_URL).
Updated everywhere the env var is referenced or documented:
- app/tasks/runner.py
- api/main.py
- app/llm/router.py
- .env.example (alias note added)
- compose.override.yml
- compose.cloud.yml
- config/llm.cloud.yaml
- tests/test_tasks/test_runner.py (primary key updated; 13/13 still pass)
Follows the GPU_SERVER_URL convention established in kiwi (see kiwi
app/core/config.py).
Closes: #55
2026-05-21 15:05:27 -07:00
2dda26a911
feat: infra/devops batch — CI/CD, installer, nginx docs, cf-orch agent (v0.3.0)
...
CI / Frontend typecheck + tests (push) Waiting to run
CI / Python tests (push) Waiting to run
Mirror / mirror (push) Has been cancelled
Release / release (push) Has been cancelled
Closes #15 , #22 , #24 , #25 . Closes #1 and #27 (already shipped in 0.2.0).
## CI/CD (#22 )
- .forgejo/workflows/ci.yml — Python lint (ruff) + pytest + Vue typecheck + vitest
on every PR/push. Installs cf-core from GitHub mirror for the CI runner.
- .forgejo/workflows/release.yml — Docker build/push (api + web) to Forgejo registry
on v* tags; git-cliff changelog; multi-arch amd64+arm64.
- .forgejo/workflows/mirror.yml — push to GitHub + Codeberg mirrors.
## Self-hosted installer (#25 )
- install.sh rewritten to match CF installer pattern: coloured output, named
functions, --docker / --bare-metal / --help flags, auto-detect Docker/conda/
Python/Node/Chromium/Xvfb, license key prompting with format validation.
## Nginx docs (#24 )
- docs/nginx-self-hosted.conf — sample nginx config: SPA fallback, SSE proxy
(proxy_buffering off), long-term asset cache headers.
- docs/getting-started/installation.md — bare-metal install section with nginx
setup, Chromium/Xvfb note, serve-ui.sh vs nginx trade-off.
## cf-orch agent (#15 )
- compose.override.yml — cf-orch-agent sidecar service (profiles: [orch]).
Starts only with docker compose --profile orch. Registers with coordinator at
CF_ORCH_COORDINATOR_URL (default 10.1.10.71:7700).
- .env.example — CF_ORCH_URL / CF_ORCH_COORDINATOR_URL comments expanded.
## Docs
- mkdocs.yml + full docs/ tree (getting-started, reference, user-guide) staged
from prior session work.
Bump version 0.2.0 → 0.3.0.
2026-04-14 06:19:25 -07:00
58263d814a
feat(snipe): FastAPI layer, Playwright+Xvfb scraper, caching, tests
...
- FastAPI service (port 8510) wrapping scraper + trust scorer
- Playwright+Xvfb+stealth transport to bypass eBay Kasada bot protection
- li.s-card selector migration (eBay markup change from li.s-item)
- Three-layer caching: HTML (5min), phash (permanent), market comp (6h SQLite)
- Batch DB writes (executemany + single commit) — warm requests <1s
- Unique Xvfb display counter (:200–:299) prevents lock file collisions
- Vue 3 nginx web service (port 8509) proxying /api/ to FastAPI
- Auction card de-emphasis: opacity 0.72 for listings with >1h remaining
- 35 scraper unit tests updated for new li.s-card fixture markup
- tests/ volume-mounted in compose.override.yml for live test editing
2026-03-25 20:09:30 -07:00