Fixed two concrete gaps in the MCP knowledge-search endpoint: no locale field existed at all (now nl-BE/en-GB/fr-BE, wired to the knowledge provider's existing language param), and the correlation ID was always freshly minted, ignoring any inbound X-Correlation-Id header. Added a shared dependency and applied it to all four MCP endpoints so Fleet Ops's own audit log preserves the Hub's real correlation ID end to end. MCP_HUB_BASE_URL/MCP_PROVIDER_ID were declared in .env.example but never read anywhere. Since the Hub's own registration is catalog-driven (it never needs Fleet Ops to push a registration call), wired mcp_hub_base_url for a real Hub reachability health check instead of an unneeded self-registration call. Renamed Fleet Ops's own internal audit tool labels mobilityops_* -> fleet_ops_* (mirrored in contracts/mcp-tools.json with mobilityops_* kept as deprecated aliases); documented that the live Hub connector's own dotted tool namespace is a separate, Hub-owned naming layer, deliberately not touched. Automation page's MCP card now shows real evidence (last tool/client/count/ timestamp, honest no-evidence state) instead of just the registration flag. Also fixed a real methodology gap found mid-session: compose.yaml's api service has no bind mount, so `docker compose run --rm api` silently tests a stale image until rebuilt. Re-ran every local gate after rebuilding; fixed one genuinely stale test assertion and two lint line-length errors surfaced by that rebuild. 176 tests passing, ruff clean, mypy clean (50 files). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
56 lines
2.4 KiB
Bash
56 lines
2.4 KiB
Bash
COMPOSE_PROJECT_NAME=mobilityops
|
|
MOBILITYOPS_ENV=development
|
|
MOBILITYOPS_DEMO_MODE=true
|
|
MOBILITYOPS_PUBLIC_URL=http://localhost:1228
|
|
MOBILITYOPS_API_URL=http://localhost:8128
|
|
DATABASE_URL=postgresql+psycopg://mobilityops:mobilityops@db:5432/mobilityops
|
|
POSTGRES_DB=mobilityops
|
|
POSTGRES_USER=mobilityops
|
|
POSTGRES_PASSWORD=mobilityops
|
|
APP_SECRET=replace-in-production
|
|
TZ=Europe/Brussels
|
|
# Session cookie Secure flag. Keep false for LAN/plain-HTTP deployments (including the
|
|
# current Unraid review environment); set true only once MobilityOps is served over HTTPS,
|
|
# otherwise browsers will silently drop the cookie and no one can log in.
|
|
SESSION_COOKIE_SECURE=false
|
|
|
|
# Demo presentation (fictional org identity, badge/manifest, reset safety valve).
|
|
# DEMO_ALLOW_RESET=false permanently disables POST /api/v1/demo/reset (403), independent
|
|
# of role -- a safety valve for any environment where the dataset must not be rebuildable.
|
|
DEMO_ORGANIZATION_NAME=Northstar Mobility
|
|
DEMO_TIMEZONE=Europe/Brussels
|
|
DEMO_ALLOW_RESET=true
|
|
|
|
# n8n
|
|
N8N_BASE_URL=http://n8n:5678
|
|
N8N_WEBHOOK_URL=http://n8n:5678/webhook/mobilityops-return
|
|
N8N_ENCRYPTION_KEY=replace-me
|
|
N8N_BASIC_AUTH_ACTIVE=true
|
|
N8N_BASIC_AUTH_USER=admin
|
|
N8N_BASIC_AUTH_PASSWORD=change-me
|
|
MOBILITYOPS_CALLBACK_TOKEN=replace-me-n8n-callback-token
|
|
# Sent as the X-Fleet-Ops-Trigger-Token header when Fleet Ops calls the n8n return-
|
|
# processing webhook, so the webhook trigger can require Header Auth instead of being
|
|
# publicly callable by anyone who discovers the URL. Must match the value stored in
|
|
# n8n's "Fleet Ops Webhook Trigger Token" Header Auth credential.
|
|
MOBILITYOPS_WEBHOOK_TRIGGER_TOKEN=replace-me-n8n-webhook-trigger-token
|
|
|
|
# RAGcore integration
|
|
KNOWLEDGE_PROVIDER=demo
|
|
RAGCORE_BASE_URL=http://ragcore-api:8000
|
|
RAGCORE_TENANT=northstar-mobility-demo
|
|
RAGCORE_WORKSPACE=mobilityops
|
|
RAGCORE_COLLECTION=internal-procedures
|
|
RAGCORE_API_TOKEN=
|
|
# UUID of the RAGcore knowledge space procedures were synced into (see workflow 3).
|
|
RAGCORE_SPACE_ID=
|
|
|
|
# ITWorx MCP Hub integration. Registration itself is catalog-driven on the Hub's own
|
|
# side (it reconciles its catalog into the gateway; Fleet Ops never pushes a
|
|
# registration call) -- MCP_HUB_BASE_URL is only used here for an honest reachability
|
|
# health check surfaced on the integration status page.
|
|
MCP_HUB_REGISTRATION_ENABLED=false
|
|
MCP_HUB_BASE_URL=http://itworx-mcp-hub:8000
|
|
MCP_HUB_SERVICE_TOKEN=replace-me-mcp-hub-token
|
|
MCP_PROVIDER_ID=fleet-ops
|