• v2.3.0 4831c74acc

    feat(observability+tts): OTel logs for backend/runner/ui; add kokoro-fastapi (GPU) and pocket-tts (CPU) to homelab
    Some checks failed
    Release / Check ui (push) Successful in 47s
    Release / Docker / caddy (push) Successful in 48s
    Release / Test backend (push) Successful in 3m24s
    CI / Check ui (pull_request) Successful in 52s
    CI / Test backend (pull_request) Successful in 3m6s
    CI / Docker / caddy (pull_request) Failing after 38s
    Release / Upload source maps (push) Failing after 33s
    Release / Docker / ui (push) Failing after 2m41s
    Release / Docker / backend (push) Successful in 2m48s
    Release / Docker / runner (push) Failing after 1m1s
    Release / Gitea Release (push) Has been skipped
    CI / Docker / ui (pull_request) Successful in 1m48s
    CI / Docker / backend (pull_request) Successful in 1m56s
    CI / Docker / runner (pull_request) Successful in 1m45s

    kamil released this 2026-03-27 16:05:22 +05:00 | -259 commits to main since this release

    • otelsetup.Init now returns a *slog.Logger wired to the OTLP log exporter
      so all slog output is shipped to Loki with embedded trace IDs
    • backend and runner both adopt the new OTel-bridged logger
    • runner.runScrapeTask and runAudioTask now emit structured OTel spans
    • ui/hooks.server.ts adds BatchLogRecordProcessor alongside existing trace exporter
    • homelab: add kokoro-fastapi GPU service (ghcr.io/remsky/kokoro-fastapi-gpu)
      using deploy.resources.reservations for NVIDIA GPU, exposed internally on :8880
    • homelab: add pocket-tts CPU service (ghcr.io/kyutai-labs/pocket-tts) on :8000
    • runner KOKORO_URL hardcoded to http://kokoro-fastapi:8880 (fixes DNS failure
      for the stale kokoro.kalekber.cc hostname)
    Downloads