How minnelab/maia works
MAIA Toolkit deploys and manages a Kubernetes-based collaborative medical-AI platform. The main researcher workflow is to authenticate to the dashboard, manage users and projects, configure namespaces and compute resources, then use the platform’s research services; Kubernetes runs the resulting workloads. The repository also contains installation/deployment tooling and GPU-admission components. The dashboard authentication and user-management links are supported by sampled source; other dashboard capabilities are represented from the README and file tree, so their internal call wiring is not asserted.
Main entry points: webhook.go GPU admission · keycloak_auth.py OIDC authentication · models.py MAIA user data · services.py User management
Components 19
Dashboard
- Dashboard
MAIA/dashboard/apps/home/views.py - OIDC authentication
MAIA/dashboard/core/keycloak_auth.py
Platform management
- User management
MAIA/dashboard/apps/user_management/services.py - MAIA user data
MAIA/dashboard/apps/models.py - Projects
MAIA/dashboard/apps/user_management/services.py - Namespaces
MAIA/dashboard/apps/namespaces/views.py - Compute resources
MAIA/dashboard/apps/resources/views.py - GPU scheduling
MAIA/dashboard/apps/gpu_scheduler/views.py
Research services
- Segmentation portal
MAIA/dashboard/apps/maia_segmentation_portal/views.py - Agent API
MAIA/dashboard/apps/agent_api/views.py - MCP server
mcp_server/maia_mcp_server.py
Cluster operations
- Platform installer
MAIA_scripts/MAIA_Install.py - Deployment tools
MAIA/maia_core.py - GPU admission
docker/GPU_Booking_Admission_Controller/webhook.go - Pod terminator
docker/GPU_Booking_Pod_Terminator/controller.py
Other components
- Researcher
- Keycloak
- Kubernetes
- Scheduling API
Connections 15
- Researcher → Dashboard: uses
- Dashboard → OIDC authentication: authenticates via
- OIDC authentication → Keycloak: fetches signing keys
- OIDC authentication → MAIA user data: looks up user
- User management → MAIA user data: reads and writes
- User management → Keycloak: syncs users and groups
- Projects → MAIA user data: stores projects
- Platform installer → Deployment tools: runs setup
- Deployment tools → Kubernetes: manages cluster
- GPU admission → Scheduling API: checks schedulability
- GPU admission → Scheduling API: queries GPU status
- GPU admission → Pod terminator: requests random deletion
- Pod terminator → Kubernetes: lists and recreates pods
- Segmentation portal → Kubernetes: runs on platform
- Agent API → MCP server: optional integration