memory: OWUI credential state — password reset, admin-scoped API key vaulted (operator-ruled)

Two OWUI credential facts worth surviving a context reset:

  - The reported lockout was NOT a broken account. The vaulted password returned
    200 from POST /api/v1/auths/signin immediately before the reset, so the cause
    was client-side. Test the vaulted credential against signin before concluding
    an account is broken -- this is the second lockout here traced to an assumed
    rather than verified credential.
  - The operator-minted API key is ADMIN-scoped, inherited from the owning user,
    and that is the INTENDED shape per operator ruling: infra-ops manages the
    instance, so the key needs the rights the management work requires. A
    least-privilege dedicated-user split was offered and declined. Do not
    re-propose it.

Both credentials vaulted at esh-docker-vm/open-webui-{admin,api-key}; key verified
against /api/v1/auths/ (admin identity) and /api/models (33 models), with an
unauthenticated 401 control. Plaintext copies shredded.

Also folds in an unadjudicated drift found in passing: the running image is the
floating ghcr.io/open-webui/open-webui:main, not the v0.11.0 the stack notes
claim. Replaces the now-resolved 'operator's OWUI password change' follow-up.
This commit is contained in:
vh
2026-08-21 14:14:44 -07:00
parent b8e5022a1a
commit ff5ce212da
+2 -2
View File
@@ -119,9 +119,9 @@ _As of 2026-08-21 (late) — **the big AI-seat overhaul session; three seats set
- **GEN SEAT = `orcarouter` (SETTLED).** `orcarouter/Qwen3.8-27B-Uncensored` NVFP4-mixed on ana-ml2 GPU0 :8015, 7 aliases (gen/gen-reasoning/summarizer/-large/classifier/image-judge/qwen-image-bench). Won the search: MTP **58.7%** (its head was already Robinson-abliterated **in-band** by the author — first third-party build to get that right), PPL **7.07** (≈heresy 6.91), vision **7/8**, no `<think>`-leak. **Cold-Fusion/Heretic-300 line ABANDONED** (base carried 18.5% first-token `<think>` mass — a format defect abliteration only amplified +3.7); its bf16 weights **deleted (~154 GB reclaimed)**. ⏳ **Two Cold-Fusion NVFP4 quants (44 GB) still on disk, delete/keep UNADJUDICATED.** Rollback target for gen = `qwen38-27b-heresy-nvfp4-mixed` (intact).
- **RP SEAT = MeroMero-v2 DUAL-MODE (✅ SOLVED — the session's hardest win).** ONE seat / ONE weight set / TWO aliases: `char-rp` (Gemma-4 prose) + `char-rp-reasoning` (**streaming** CoT). On **`vllm/vllm-openai:v0.26.0`** (ships tf 5.14.1 → Gemma-4 loads, no pin) + a **force-open chat template** (bare `<|channel>`) + two served-names. **Streaming-only** (non-streaming can't split — vLLM one-shot bug; fine, Lobe/OWUI stream). Four-arm brokkr/dwarf panel traced it from source. ⏳ Upstream vLLM issue **drafted, NOT filed** (operator's call — public, his GitHub identity).
- **PEN-TEST SEAT = `sec` / `sec-reasoning` (LIVE).** `M.O.G.-SEC-27B-1M-CTX` (Blackfrost) NVFP4-mixed on ana-ml2 GPU1 :8019, served at native 262K (NOT the card's 1M — needs YaRN+SGLang). MTP 55.3%, vision + capability verified. Renamed from mog-sec→sec per operator.
- **OPEN WEBUI = deployed** on esh-docker-vm:3211 (bake-off vs Lobe, all 6 gates pass). Admin=lkraven; ⚠ **the deploy's original temp password was BROKEN — reset via bcrypt + verified, working credential in vault `esh-docker-vm/open-webui-admin`.** ⏳ **Lobe retirement DEFERRED to operator**; G2 sync-job (hide non-chat seats) greenlit to tts-dev to write. `lobe-chat-esh` key = all-proxy-models (incl paid).
- **OPEN WEBUI = deployed** on esh-docker-vm:3211 (bake-off vs Lobe, all 6 gates pass). Sole account = `vh@phasefinal.com` (display name `lkraven`), role admin, signup off. **Password reset AGAIN 2026-08-21 at operator request** (reported lockout) — ⚠ **the previously-vaulted password was actually VALID at the time** (signin returned 200 before the reset), so the lockout was client-side, not a broken account; **test the vaulted credential against `POST /api/v1/auths/signin` before concluding an account is broken.** Current password + an operator-minted **API key** both vaulted (`esh-docker-vm/open-webui-{admin,api-key}`). **The API key is ADMIN-scoped by operator ruling** — "you need to manage it, so this is the right shape"; a least-privilege dedicated-user split was offered and **declined, do not re-propose**. ⏳ **Lobe retirement DEFERRED to operator**; G2 sync-job (hide non-chat seats) greenlit to tts-dev to write. `lobe-chat-esh` key = all-proxy-models (incl paid). ⚠ running image is the floating `ghcr.io/open-webui/open-webui:main`, not the v0.11.0 our stack notes claim — **unadjudicated drift**.
- **FLEET CLEANUP:** LFM2.5 retired; reranker consolidated (**nevermore had been silently failing 8 days** — pinned to the retired `granite-4.1-8b` alias; repointed to `summarizer`/`reranker`); `:8002`/`:8014`/granite service retired; A3 promoted to `stacks/vllm`.
- ⏳ **OPEN:** file the upstream vLLM issue (operator); operator's OWUI password change; Cold-Fusion NVFP4 quants delete/keep; Brokkr duplicate `reranker-a3-bge-v2-m3` alias; `/tank` DEGRADED **70+ days** (parked, operator→colo w/ cold spare); **MANY commits unpushed** (push is operator's call)._
- ⏳ **OPEN:** file the upstream vLLM issue (operator); OWUI image-tag drift (`:main` vs pinned v0.11.0); Cold-Fusion NVFP4 quants delete/keep; Brokkr duplicate `reranker-a3-bge-v2-m3` alias; `/tank` DEGRADED **70+ days** (parked, operator→colo w/ cold spare); **MANY commits unpushed** (push is operator's call)._
- **🟢 FLEET `.internal` DNS — LIVE 2026-08-19.** `<host>.<site>.internal`, sites `ana`/`esh`/`nh3`. `dns/internal.yaml` is the source of truth; `scripts/dns-sync.py` reconciles the three AdGuard resolvers (diff → prompt → apply, idempotent). 42 names resolving from all three sites. **Colo got its first resolver ever** (`stacks/adguard-ana/`, API on **8053** not 8080, no blocklists by design) — before this, ana-docker resolved straight against `1.1.1.1`. Auth = a dedicated `infra-ops` AdGuard user, password vaulted `nh3-dev/adguard-infra-ops-password`. **⏳ TWO OPEN, both operator's to schedule:** (a) colo hosts still point at `1.1.1.1` so they do not yet *use* the new resolver — repointing a site's DNS is a separate change; (b) the static-v6 convention (each server at its site's `/64` with low bits echoing the v4 octet, `esh-docker-vm` → `…::45`) is **proposed, not ruled on**. The `v6:` column is empty and correct — no fleet host has a global v6 address yet. → `persistent-memory.d/2026-08-19-fleet-internal-dns.md`