Files
esh-pfi-infrastructure/stacks/mimir-inbox/.env.example
T
vh 4b54a32d64 feat(mimir-inbox): book-ingestion UI stack on corviduo-dev:8091 (#377)
WG-internal FastAPI+HTMX front end for large-document ingestion into the
Muninn KB, over the muninn-gate API (browser -> mimir-inbox -> staging ->
path-addressed POST /jobs). Co-located on corviduo-dev with the gate (:8090)
and the worldtree-personal muninn watcher per the operator's 2026-08-01
co-location ruling (reversing the earlier off-box/NFS plan; worldtree-dev
approved the box placement).

- Dockerfile: python:3.11-slim + uv sync --no-dev --frozen (--no-dev is
  load-bearing; the dev group's muninn-dispatch path source is absent in-image
  and INV-MI-7 forbids importing it). Single-stage by design — src/ stays in
  the final image (uv installs the project editable-linked to src/).
- compose.yaml: uid 1000, host-net bind 10.250.50.152:8091, staging :rw,
  TCP-liveness healthcheck (deliberately not coupled to gate reachability).
- Built from vh/mimir-inbox HEAD c8ab38f; deployed + healthy.

Records the open-in-place claim semantics (worldtree-dev, runner.py:362-367)
and the INV-MI-19 retention rule (staged files persist until job terminal;
gate retry returns a false-200 on a swept source) in persistent memory.
2026-08-01 14:31:14 -07:00

34 lines
1.7 KiB
Bash

# mimir-inbox runtime config — copy to .env (gitignored on server) and fill the key.
# The 7 RUNTIME vars ONLY. The two DEV-ONLY drift-guard vars
# (WORLDTREE_CONFIG_PATH, MUNINN_GATE_REPO) MUST NOT be set here — they belong
# only to the test environment. All are validated at boot; any failure aborts
# startup with a secret-redacted message naming the variable.
# muninn-gate front door — the co-located gate on corviduo-dev (host network).
MUNINN_GATE_URL=http://10.250.50.152:8090
# infra-ops-provisioned bearer (read+submit+control); SERVER-side only, never logged.
MUNINN_GATE_BEARER_KEY=__FILL_ON_SERVER__
# Shared staging root — RATIFIED value (not an example). Must exist, be a dir, and
# be writable by uid 1000; canonicalized at boot.
MIMIR_INBOX_STAGING_ROOT=/mnt/muninn-staging/mimir-inbox
# The RETRY WINDOW (not a tidiness setting): staged files are retained until the
# job is terminal + this many days. Shortening it shortens retryability
# (INV-MI-19 / worldtree-dev open-in-place). Do not tune down without telling
# mimir-dev.
MIMIR_INBOX_STAGING_RETENTION_DAYS=7
# Wing allowlist — name:description pairs, ";"-separated (first ":" splits
# name/description; a name is one path component; order = select order). Names
# MUST be upstream Worldtree library.wings ids. Boot-fails if empty.
MIMIR_INBOX_WINGS=fiction:Novels, novellas and short stories;main:General knowledge — non-fiction, manuals and technical reference
# Upload ceiling in MiB, enforced mid-stream.
MIMIR_INBOX_MAX_UPLOAD_MB=512
# Unclean-terminal float window (days) — how long a failed / complete_with_warnings
# job sorts above clean ones before settling into chronological order.
MIMIR_INBOX_FLOAT_WINDOW_DAYS=7