Skip to content

v1.0.0: Production Observability, Access Control & CI

Choose a tag to compare

@zjykzj zjykzj released this 22 Aug 11:14
· 25 commits to main since this release

Added

  • Metrics: GET /metrics (Prometheus text, not the envelope — documented format exception) — http requests/duration by route template, business-code distribution, inference phase timings, predictor gauge, celery task counters; multiprocess aggregation via PROMETHEUS_MULTIPROC_DIR (start.sh / start_celery.sh / compose)
  • Deploy: deploy/docker-compose.monitoring.yml + prometheus.yml — optional Prometheus + Grafana stack (reference artifact, merged with the main compose)
  • Docs: metrics.md — metric list, multiprocess mode, monitoring stack usage; api.md gains the /metrics endpoint section
  • Auth: optional API-key auth (off unless INFERFORGE_API_KEY is set) — X-API-Key header, constant-time compare, 401 + code=7 envelope (documented protocol exception); probes/docs/metrics paths exempt; test scripts read the env automatically
  • Rate limit: optional fixed window (off unless INFERFORGE_RATE_LIMIT=N is set) — 429 + code=8 + Retry-After; buckets keyed by X-API-Key when auth is on, client IP otherwise; per-process memory (multi-worker limits approximate by design, documented)
  • CI: GitHub Actions workflow (.github/workflows/ci.yml) — smoke tests + compile check + docs link check on push/PR; READMEs gain a CI badge
  • Docs: READMEs About section condensed to three sentences (same four points: what / why a template / layered replaceability / forking contract pointer)
  • Docs: READMEs Acknowledgments condensed to name-only links (per-library responsibilities live in stack.md)
  • Docs: READMEs gain a hero capability strip (replacing the stale component list) and a Project Layout tree

Changed

  • Docs: terminology sweep — 信封 replaced with envelope across all docs (response envelope / result envelope / envelope contract); status-codes.md §1 defines the term on first mention
  • Docs: terminology sweep II — contract / fallback / watchdog / double-checked locking / sticky / hot reload replace their Chinese renderings; the forking-contract doc title keeps 分叉契约(Forking Contract)

See CHANGELOG.md for the full change history.