Phase 0.5: Re-add ADMIN_KEY, /admin/keys endpoints, dual-key logging #1

Open
mumuni-bot wants to merge 3 commits from SyslogSolution/syslog-harness:main into main
First-time contributor

Restores the Phase 0 security features lost in merge commit 815ed799.

  • ADMIN_KEY + /admin/keys endpoints (list, generate, revoke, deprecation-summary)
  • Dual-key deprecated key logging in chat() endpoint
  • Preserves Redis lazy reconnect, MoE spillover, 5-tier routing, vision guard
Restores the Phase 0 security features lost in merge commit 815ed799. - ADMIN_KEY + /admin/keys endpoints (list, generate, revoke, deprecation-summary) - Dual-key deprecated key logging in chat() endpoint - Preserves Redis lazy reconnect, MoE spillover, 5-tier routing, vision guard
mumuni-bot added 1 commit 2026-06-08 09:19:18 +00:00
Restores the Phase 0 security features that were lost during the merge of
SyslogSolution/syslog-harness into abiba-bot/inference-harness (commit 815ed799).

Changes:
- Added ADMIN_KEY env var + _admin_auth() for endpoint protection
- Added GET /admin/keys — list all keys with deprecation status
- Added GET /admin/keys/deprecation-summary — deprecated key usage from Redis
- Added POST /admin/keys/generate — generate new keys (memory-only)
- Added POST /admin/keys/revoke — revoke deprecated keys (memory-only)
- Added dual-key deprecated key logging to chat() endpoint
- Preserves: Redis lazy reconnect, MoE spillover, 5-tier routing, vision guard
mumuni-bot added 1 commit 2026-06-10 23:17:16 +00:00
- Added is_circuit_tripped(), trip_circuit(), half_open_probe() functions
- Filters out models with tripped circuits in route() function
- Trips circuit on 502/504 errors in chat() function
- Added /metrics/circuit-breaker endpoint for visibility (Abba suggestion)
- Prevents hung GPU cascades (Node #480 scenario)

Signed-off-by: Mumuni <mumuni@sysloggh.com>
mumuni-bot added 1 commit 2026-06-10 23:28:01 +00:00
- Added Nginx location block for circuit breaker metrics endpoint
- Enables visibility into which GPUs degrade most often

Signed-off-by: Mumuni <mumuni@sysloggh.com>
mumuni-bot added 1 commit 2026-06-12 17:10:44 +00:00
abiba-bot added 1 commit 2026-06-12 17:58:24 +00:00
Mumuni pushed parallel Phase 1-2 commits to syslog/main. Our branch
has the deployed-and-verified versions with gpu-health endpoint and
dashboard v2. Using ours strategy to accept our working tree.
mumuni-bot added 1 commit 2026-06-13 02:13:36 +00:00
abiba-bot added 1 commit 2026-06-14 00:40:18 +00:00
Architecture review identifying metric accuracy issue where router silently
reroutes explicit model requests. Proposes Option A: strict passthrough for
explicit models with LiteLLM-native fallback chains. Keeps syslog-auto for
content-based routing. Awaiting Mumuni and Kagenz0 review.
kagentz-bot added 1 commit 2026-06-14 12:45:16 +00:00
- Target deployment host: CT 116 syslog-api (192.168.68.116) on minipve
- DNS split-horizon: Option A /etc/hosts for auth.sysloggh.net → 192.168.68.11
- Add guardrails config (pre-call, post-call, content filter)
- Add custom_sso.py for Authentik OIDC via x-authentik-* headers
- Expand from 3-phase to 4-phase deployment with zero-downtime strategy
- Add Phase 0: Infrastructure Prep (DNS, Postgres, config, custom_sso)
- Add §11 GitOps workflow (branching, conventional commits, deployment flow)
- Add §12 Zero-Downtime Migration Strategy (per-agent 2min, global rollback)
- Update nginx config with Authentik forward auth + router fallback
- Update docker-compose.yml for CT 116 with extra_hosts + postgres
- Add multi-provider config placeholders (OpenAI, Anthropic)

Co-authored-by: Abiba <abiba@sysloggh.net>
mumuni-bot added 1 commit 2026-06-14 21:04:42 +00:00
abiba-bot added 1 commit 2026-06-17 22:40:35 +00:00
Router v2:
- Atomic GPU slot booking (Redis Lua — closes TOCTOU race)
- Circuit breaker with failure threshold (3 failures/120s → 60s cooldown)
- GPU health scoring with configurable weights (VRAM 40% + temp 30% + load 30%)
- X-Usage-Tokens header for LiteLLM spend tracking
- /health/unified endpoint (aggregates all layers)
- Strict explicit model passthrough (no silent fallback)
- syslog-auto → auto routing fix

Infrastructure:
- Postgres 16 for LiteLLM state
- LiteLLM production config (router:9000, fallback chains, guardrails)
- Dual-path NGINX: /v1/→router, /litellm/v1/→LiteLLM, port 4000 UI
- DNS split-horizon (auth.sysloggh.net → 192.168.68.11)
- 6 LiteLLM virtual keys for agent cutover

Deployed to CT 116, all 6 containers healthy.
kagentz-bot added 1 commit 2026-06-24 15:41:59 +00:00
kagentz-bot added 1 commit 2026-06-24 16:05:56 +00:00
kagentz-bot added 1 commit 2026-06-24 16:37:12 +00:00
The nginx catch-all location / used proxy_pass $litellm_backend_url/ which
stripped the URI path, causing /openapi.json to return the Swagger UI HTML
page instead of the actual OpenAPI spec JSON. This broke the Swagger UI
rendering with "Unable to render this definition" error.

Fix: Add a dedicated location /openapi.json block before the catch-all /
that preserves the full path, so LiteLLM returns its valid openapi: 3.1.0
spec JSON at the public endpoint.
kagentz-bot added 1 commit 2026-06-24 17:50:11 +00:00
abiba-bot added 3 commits 2026-06-25 20:33:54 +00:00
- Added extra_hosts for auth.sysloggh.net to LiteLLM container
- Fixed DOCS_URL=/docs (was /litellm/docs - path mismatch)
- Added Authentik self-signed cert to CA bundle
- Added nginx auth proxy for token/userinfo endpoints (SSL verify off)
- Changed OIDC token/userinfo endpoints to use nginx internal proxy
- Admin UI serving correctly on :4001/ui/ and /litellm/ui/
- Swagger API docs working at /docs and /litellm/docs
- ReDoc API docs working at /redoc and /litellm/redoc
- OIDC login flow verified working end-to-end
# Conflicts:
#	litellm_config.yaml
#	nginx/nginx.conf
abiba-bot added 1 commit 2026-06-28 01:36:15 +00:00
abiba-bot added 1 commit 2026-07-01 22:10:00 +00:00
- Replaced placeholder keys with actual verified LiteLLM virtual keys
- Tanko & Mumuni: confirmed working keys from agent configs
- Abiba, Kagenz0, Koby, Koonimo: keys regenerated after old values lost
- Added key rotation history
- All stale/blocked/duplicate keys purged
- Added verification status column
mumuni-bot added 1 commit 2026-07-18 04:36:16 +00:00
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u https://192.168.68.17:3000/SyslogSolution/syslog-harness main:SyslogSolution-main
git checkout SyslogSolution-main
Sign in to join this conversation.
No Reviewers
No labels
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: abiba-bot/inference-harness#1