You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Controlar quem pode conectar runners locais (Ollama, LM Studio, llama.cpp) #102
Na revisão do PR #100 (#76), o reviewer observou que, numa instalação multiusuário, qualquer usuário que possa conectar provedores consegue fazer o gateway chamar os runners locais do host (Ollama em :11434, LM Studio em :1234, llama.cpp em :8080) e ler a resposta. Hoje isso é aceitável (um tenant por usuário, instalações pessoais), mas com organizações e papéis o acesso a serviços do host deve ser controlado.
Escopo
Definir quem pode conectar provedores locais (por exemplo, só admin da instância ou owner/admin da organização) e se o admin da instância pode desligá-los por completo.
Aplicar a regra no serviço compartilhado (dashboard, CLI e MCP).
Fora do escopo
Validação de URL de provedores customizados (já coberta pela proteção contra SSRF).
Critérios de aceite
Papel sem permissão recebe 403 ao conectar provedor local; testes e2e cobrindo cada papel.
Agente responsável
architect (desenho junto com o modelo de papéis), depois backend-dev.
Achado da revisão do #113 (pré-existente, herdado do upstream): POST /api/v1/routing/ollama/sync chama OllamaSyncService.sync(), que consulta TenantProvidersem filtro de tenant (packages/backend/src/model-discovery/ollama-sync.service.ts:20). Qualquer usuário logado dispara a descoberta de modelos dos provedores Ollama de todos os tenants. Não vaza dados na resposta, mas é uma ação entre tenants. Escopar a sincronização ao tenant de quem chama (e, com papéis, restringir a admin) faz parte desta issue; se precisar antes da v0.3, vira issue própria.
Activity
patrickbrandao commentedon Oct 12, 2026
Achado da revisão do #113 (pré-existente, herdado do upstream):
POST /api/v1/routing/ollama/syncchamaOllamaSyncService.sync(), que consultaTenantProvidersem filtro de tenant (packages/backend/src/model-discovery/ollama-sync.service.ts:20). Qualquer usuário logado dispara a descoberta de modelos dos provedores Ollama de todos os tenants. Não vaza dados na resposta, mas é uma ação entre tenants. Escopar a sincronização ao tenant de quem chama (e, com papéis, restringir a admin) faz parte desta issue; se precisar antes da v0.3, vira issue própria.