Railway
Conectar
Conecte Railway pelo terminal. Passe --help para ver as flags que Railway aceita, além de --no-browser para ambientes sem navegador.
polylane cloud connect --provider railwayAutorização OAuth.
O Railway se conecta via OAuth: clique em Continue to Railway, autorize o acesso de leitura no Railway e você é redirecionado de volta com a sincronização já iniciada. Os tokens são criptografados antes de serem armazenados, e o agente nunca os vê.
O Polylane descobre seus projetos, ambientes, serviços, deploys, volumes, domínios e proxies TCP. As métricas de serviço alimentam gráficos e detecção de anomalias. Os nomes das variáveis são sincronizados para vinculação entre nuvens; os valores das variáveis nunca são lidos. Ambientes efêmeros (de pull request) são ignorados.
Webhooks de deploy e alerta
O Railway envia mudanças de status de deploy e alertas de uso por meio de regras de notificação. Apontar uma delas para o Polylane alerta sobre deploys com falha ou travados, resolve o alerta no próximo deploy bem-sucedido e agenda uma ressincronização:
- Copie a URL do webhook na página Settings da conta de nuvem no Polylane (ela termina com o ID do seu workspace no Railway).
- No Railway, abra as configurações de Notifications do seu workspace e adicione uma regra de webhook apontando para essa URL.
- Selecione os eventos de Deployment que interessam:
Deployment.deployed,Deployment.failed,Deployment.crashedeDeployment.oom_killedcobrem o fluxo de alertas (o evento de sucesso do Railway éDeployment.deployed; não existeDeployment.success). - Adicione os eventos VolumeAlert e Monitor, incluindo
VolumeAlert.resolvedeMonitor.resolved, para que alertas de volume e de monitor abram e fechem automaticamente no Polylane.
Solução de problemas
A autorização falha ou é cancelada
- Verifique se você está conectado ao Railway com uma conta que tem acesso ao workspace.
- Tente de novo a partir de Continue to Railway; o link de autorização vale apenas por alguns minutos.
Recursos ausentes
- O Railway pode levar alguns minutos para sincronizar tudo.
- Ambientes efêmeros (de pull request) não são sincronizados.
- Acione um Sync manual a partir do cabeçalho da conta para atualizar.
Desconectar
Desconecte a conta no Polylane, depois revogue a concessão OAuth nas configurações da sua conta no Railway e remova a regra de notificação, se tiver criado uma.
Conecte Railway a partir de um job de CI ou de qualquer outro ambiente sem navegador.
Conectar o Railway não precisa de navegador: o mesmo endpoint que o console chama cabe em um job de CI. Um POST autenticado cria a conexão e inicia a primeira sincronização.
Pré-requisitos
- Uma chave de API do Polylane com os escopos
cloud_accounts:writeecloud_accounts:read. Veja Chaves de API e OAuth. - O ID do seu workspace, que começa com
ws_. Leia-o emGET /v1/workspacescom a mesma chave. - Um token de workspace do Railway das configurações do seu workspace. O fluxo OAuth do console precisa de navegador; tokens de workspace, não.
Criar a conexão
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "railway",
"workspaceId": "ws_0abc123",
"token": "<railway-workspace-token>"
}'
Uma chamada conecta todos os workspaces do Railway que o token alcança; passe o railwayWorkspaceId opcional para conectar apenas um.
A resposta lista o que foi conectado, com a primeira sincronização já em andamento. Reduzida aos dois campos que o restante do fluxo lê:
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Uma conta que já está conectada aparece em failures em vez de accounts, então repetir a chamada nunca duplica uma conexão.
Aguardar a primeira sincronização
Consulte cada conta retornada pelo seu id até que status chegue a ready (new no registro, syncing enquanto os recursos chegam):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
Dê um prazo ao loop para que uma conexão com falha faça o job falhar em vez de travá-lo. Quando a conta estiver ready, seus recursos estão na topologia e o Polylane já iniciou sua primeira verificação.
Desconectar pela API
Excluir a conexão interrompe todas as sincronizações e verificações e apaga as credenciais que o Polylane guardava. A chamada precisa do escopo cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Depois revogue a credencial do Railway no lado do provedor, como descrito em Desconectar abaixo.
Desconectar
Desconectar interrompe todas as sincronizações e verificações e apaga as credenciais que o Polylane guardava. O Polylane remove o que a API de Railway permite remover. O seguinte permanece até que você mesmo remova:
- OAuth grant
polylane cloud disconnect <id>Ferramentas
4Operações que os agentes podem executar em threads.
Recursos suportados
8Tipos de recurso que aparecem no seu grafo de infraestrutura.