GUI Getting Started¶
Build¶
From repository root:
make build-gui
Output binary:
bin/autonomy-gui
Run locally¶
Option A: demo database¶
make demo-seed-contested
bin/autonomy-gui --db demo/data/contested.db --addr :8090 --dev-mode
Open:
http://localhost:8090
Option B: your own control-plane DB¶
bin/autonomy-gui --db /path/to/orchestrator.db --addr :8090
Authentication¶
Production-style¶
Provide static bearer tokens via env vars:
AUTONOMY_GUI_TOKEN_OPERATORAUTONOMY_GUI_TOKEN_ANALYSTAUTONOMY_GUI_TOKEN_AUDITORAUTONOMY_GUI_TOKEN_INTEGRATOR
Send
Authorization: Bearer <token>.
Dev mode¶
When --dev-mode is enabled:
API accepts
?dev_role=<role>for local testing.Token bootstrap endpoint is enabled:
curl -sS -X POST http://127.0.0.1:8090/api/v1/auth/token \
-H 'Content-Type: application/json' \
-d '{"role":"analyst"}'
Role resolution endpoint:
curl -sS http://127.0.0.1:8090/api/v1/auth/me \
-H "Authorization: Bearer <token>"
Health and baseline checks¶
curl -sS http://127.0.0.1:8090/healthz
curl -sS http://127.0.0.1:8090/api/v1/config
Troubleshooting¶
--db is required: pass--dbor setAUTONOMY_GUI_DB.bind ... address already in use: stop existing GUI or choose a new port with--addr.401 unauthenticated: provide bearer token or enable dev mode and use?dev_role=....403 permission-denied: token role lacks required permission for that endpoint.410 api-version-required: call/api/v1/*, not legacy/api/*.
Evidence¶
Makefiletargetsbuild-gui,demo-seed-contested,demo-contestedgui/cmd/gui/main.go(flags/env + startup behavior)gui/internal/auth/middleware.gogui/internal/api/gateway.godocs/_generated/test-outputs/gui-help.txtdocs/_generated/test-outputs/gui-startup.txt