- tests/integration: frontend served by backend, runtime error mapping, backend + real pi image with scripted model/Confluence (shared example, variants, failure paths, cancellation/busy gate, isolation canaries, HTTP download ownership, 16 MiB prompt round trip), real OpenAI-compatible adapter + real image over a scripted transport, real Chrome against the real backend with a scripted runtime peer, backend crash/restart reconciliation, and an opt-in live model check (marker: live). - backend: map runtime terminal codes (model_output_limit, model_context_exceeded, query_timeout, connectivity_failed) to the contract's HTTP statuses; make the artifact 404 body identical for no-session, wrong-session, unknown and expired IDs. - Makefile, scripts/run-backend.sh, deploy/confluence-web.env.example, root README for the integrated application; integration pytest marker.
46 lines
2.4 KiB
Plaintext
46 lines
2.4 KiB
Plaintext
# Confluence Research Web UI: backend deployment configuration.
|
|
# Copy to deploy/confluence-web.env (git-ignored) and adjust. Values are read by
|
|
# scripts/run-backend.sh and exported only into the backend process. Nothing in
|
|
# this file is ever passed to the agent container.
|
|
|
|
# --- Confluence (read-only, user PAT is supplied in the browser at query time) ---
|
|
# Approved base origins (comma separated, include context path if any).
|
|
CONFLUENCE_WEB_APPROVED_ORIGINS=https://collab.lge.com
|
|
# Optional outbound proxy for Confluence only (socks5://, socks5h://, http://, https://).
|
|
CONFLUENCE_WEB_CONFLUENCE_PROXY=socks5://127.0.0.1:1560
|
|
# Optional corporate CA bundle (PEM). Leave unset to use the system trust store.
|
|
#CONFLUENCE_WEB_CORPORATE_CA_PATH=/etc/ssl/certs/corporate-ca.pem
|
|
|
|
# --- Model provider (OpenAI-compatible Chat Completions; backend-held key) ---
|
|
CONFLUENCE_WEB_MODEL_PROVIDER=openai
|
|
# llama.cpp server tunnel; the endpoint is the full chat completions URL.
|
|
CONFLUENCE_WEB_MODEL_ENDPOINT=http://127.0.0.1:4901/v1/chat/completions
|
|
# llama-server accepts any bearer token; a real provider needs its real key here.
|
|
CONFLUENCE_WEB_MODEL_API_KEY=llama-cpp
|
|
CONFLUENCE_WEB_MODEL_NAME=Qwen3.6-35B-A3B
|
|
# Provider token limits (separate from the application byte limits in CONTRACTS.md).
|
|
CONFLUENCE_WEB_MODEL_CONTEXT_WINDOW_TOKENS=131072
|
|
CONFLUENCE_WEB_MODEL_MAX_OUTPUT_TOKENS=8192
|
|
# Per-call HTTP timeout; keep below the 180 s query deadline.
|
|
CONFLUENCE_WEB_MODEL_TIMEOUT_SECONDS=170
|
|
|
|
# --- Agent runtime container (rootless Docker) ---
|
|
# Use the exact built tag or, better, the image ID printed by `make build-image`.
|
|
CONFLUENCE_WEB_RUNTIME_IMAGE=confluence-pi-agent:rev1
|
|
# Unique per deployment; startup/periodic reconciliation removes containers with this label value.
|
|
CONFLUENCE_WEB_CONTAINER_LABEL_VALUE=confluence-web-local
|
|
#CONFLUENCE_WEB_DOCKER_HOST=unix:///run/user/1000/docker.sock
|
|
|
|
# --- HTTP / storage ---
|
|
CONFLUENCE_WEB_BIND_HOST=127.0.0.1
|
|
CONFLUENCE_WEB_BIND_PORT=8000
|
|
# Absolute path to the frontend tree (index.html, css/, js/, vendor/).
|
|
CONFLUENCE_WEB_FRONTEND_DIST_DIR=./frontend
|
|
# Private artifact storage (created 0700; purged on startup).
|
|
CONFLUENCE_WEB_ARTIFACT_DIR=/tmp/confluence_web_artifacts
|
|
CONFLUENCE_WEB_QUERY_TIMEOUT_SECONDS=180
|
|
CONFLUENCE_WEB_CLEANUP_TIMEOUT_SECONDS=10
|
|
|
|
# Never set in production. Substitutes the container, model and Confluence with fakes.
|
|
CONFLUENCE_WEB_DEV_MODE=false
|