Conectar à Sua Instância
Definir a URL da API
Informe ao CLI onde sua API do Kodus está. Escolha um método:Adicione isso ao seu perfil de shell (Ordem de prioridade: Variável de ambiente
- Variável de Ambiente (Recomendado)
- Arquivo de Configuração
- Inline (Uso Único)
~/.bashrc, ~/.zshrc, etc.) para torná-lo permanente:KODUS_API_URL > apiUrl em ~/.kodus/config.json > padrão (https://api.kodus.io).Autenticar
- Chave de Equipe (Recomendado)
- Login Pessoal
- Token CI/CD
Gere uma chave de equipe no painel do Kodus self-hosted e configure-a:Ou use o instalador com a URL da API e a chave de equipe:
Cloudflare Access (Zero Trust)
Se sua API self-hosted estiver atrás do Cloudflare Access, o CLI suporta autenticação via service token.- Variáveis de Ambiente
- Arquivo de Configuração
CF-Access-Client-Id e CF-Access-Client-Secret em cada requisição de API quando configurados. Prioridade: variáveis de ambiente > arquivo de configuração.
Referência do Arquivo de Configuração
O CLI armazena a configuração em~/.kodus/config.json:
| Campo | Obrigatório | Descrição |
|---|---|---|
apiUrl | Não | Sua URL de API self-hosted. Substituída pela variável de ambiente KODUS_API_URL. |
teamKey | Não | Chave de API da equipe (começa com kodus_). Substituída pela variável de ambiente KODUS_TEAM_KEY. |
teamName | Não | Nome de exibição para a equipe. |
organizationName | Não | Nome de exibição para a organização. |
cfAccessClientId | Não | ID do cliente Cloudflare Access. Substituído pela variável de ambiente CF_ACCESS_CLIENT_ID. |
cfAccessClientSecret | Não | Segredo do cliente Cloudflare Access. Substituído pela variável de ambiente CF_ACCESS_CLIENT_SECRET. |
O arquivo de configuração é criado com permissões
0600 (apenas leitura/escrita pelo proprietário). O diretório ~/.kodus/ é criado com permissões 0700.Resumo das Variáveis de Ambiente
| Variável | Descrição |
|---|---|
KODUS_API_URL | Endpoint da API self-hosted (HTTPS obrigatório, exceto localhost) |
KODUS_TEAM_KEY | Chave de equipe para acesso compartilhado |
KODUS_TOKEN | Token CI/CD para pipelines |
CF_ACCESS_CLIENT_ID | ID do cliente Cloudflare Access |
CF_ACCESS_CLIENT_SECRET | Segredo do cliente Cloudflare Access |
KODUS_VERBOSE | Defina como true para ver a URL de API resolvida e detalhes das requisições |
Integração CI/CD
Para instâncias self-hosted em pipelines CI/CD, defina a URL da API e a autenticação como variáveis de ambiente:- GitHub Actions
- GitLab CI
- Genérico
Distribuindo para Sua Equipe
Para integrar sua equipe em um único comando, combine a URL da API com o instalador de skills:Solução de Problemas
Erro de Segurança: A URL da API deve usar o protocolo HTTPS
Erro de Segurança: A URL da API deve usar o protocolo HTTPS
O CLI exige HTTPS para todas as URLs não-localhost. Certifique-se de que sua instância self-hosted tem um certificado TLS válido. Se estiver testando localmente, use
http://localhost:<porta>.Conexão recusada ou timeout
Conexão recusada ou timeout
- Verifique se a URL está acessível:
curl -I https://kodus-api.suaempresa.com - Verifique se um firewall ou VPN está bloqueando a conexão
- Se estiver atrás do Cloudflare Access, certifique-se de que
CF_ACCESS_CLIENT_IDeCF_ACCESS_CLIENT_SECRETestão definidos - Use
--verbosepara ver a URL exata sendo usada
Falha de autenticação (401)
Falha de autenticação (401)
- Execute
kodus auth statuspara verificar seu estado de autenticação atual - Se estiver usando uma chave de equipe, verifique se ela ainda é válida no painel self-hosted
- Se estiver usando login pessoal, os tokens expiram após 1 hora — o CLI atualiza automaticamente, mas pode ser necessário fazer login novamente se o token de refresh também tiver expirado
- Certifique-se de que
KODUS_API_URLaponta para a instância correta
API retornou resposta inválida (esperava JSON, recebeu HTML)
API retornou resposta inválida (esperava JSON, recebeu HTML)
Isso geralmente significa que a URL está atingindo um proxy reverso, balanceador de carga ou página do Cloudflare Access em vez da API real. Verifique:
- O caminho da URL está correto (sem
/apiou similar no final) - As credenciais do Cloudflare Access estão configuradas, se aplicável
- O proxy reverso está encaminhando as requisições corretamente
Limite de dispositivos atingido
Limite de dispositivos atingido
Sua instância self-hosted pode impor limites de dispositivos por organização. Entre em contato com seu administrador para aumentar o limite ou remover dispositivos antigos do painel.