PlanetScale
Conectar
Conecte PlanetScale pelo terminal. Passe --help para ver as flags que PlanetScale aceita, além de --no-browser para ambientes sem navegador.
polylane cloud connect --provider planetscaleAutorização OAuth, ou um token de serviço das configurações da sua organização no PlanetScale.
O PlanetScale se conecta via OAuth: clique em Connect with PlanetScale, autorize o acesso de leitura no PlanetScale e você é redirecionado de volta com a sincronização já iniciada. Se sua conta do PlanetScale tiver acesso a mais de uma organização, escolha a que deseja conectar quando solicitado. Os tokens são criptografados antes de serem armazenados, e o agente nunca os vê.
Alternativa com token de serviço
Se preferir uma credencial de longa duração, conecte com um token de serviço:
- Abra o PlanetScale e vá em Settings → Service tokens da sua organização.
- Clique em Create service token e copie tanto o token ID quanto o token.
- Conceda ao token acesso de leitura à organização e aos seus bancos de dados (por exemplo
read_databases,read_branches). - Cole o token ID e o token no Polylane. Se o token puder alcançar mais de uma organização, informe também o nome da organização a conectar.
- O Polylane valida o token e começa a sincronizar.
Cada conexão cobre uma única organização do PlanetScale. O Polylane descobre seus bancos de dados e suas branches, incluindo estado, plano, região e atividade de schema.
Solução de problemas
Erro "Invalid service token"
- Tanto o token ID quanto o token são obrigatórios; o token sozinho não autentica.
- Confira se o token não foi excluído nas configurações do PlanetScale.
- Verifique se o token tem acesso de leitura à organização.
Erro "Multiple PlanetScale organizations are reachable"
- As credenciais alcançam mais de uma organização, então informe qual conectar.
- Conectando via OAuth no console, escolha a organização quando solicitado após autorizar.
- Conectando via API, defina o campo
organizationcom o nome da organização.
Recursos ausentes
- O PlanetScale pode levar alguns minutos para sincronizar tudo.
- Acione um Sync manual a partir do cabeçalho da conta para atualizar.
Desconectar
Desconecte a conta no Polylane, depois exclua o token de serviço nas configurações da sua organização no PlanetScale.
Conecte PlanetScale a partir de um job de CI ou de qualquer outro ambiente sem navegador.
Conectar o PlanetScale 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 par de token de serviço do PlanetScale de Settings → Service tokens da sua organização, com acesso de leitura à organização (por exemplo
read_databases,read_branches). O fluxo OAuth do console precisa de navegador; tokens de serviço, 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": "planetscale",
"workspaceId": "ws_0abc123",
"tokenId": "<service-token-id>",
"token": "<service-token>",
"organization": "my-org"
}'
Uma chamada conecta uma organização do PlanetScale.
organizationsó pode ser omitido quando o token alcança exatamente uma organização; caso contrário a chamada falha com um400que lista os nomes das organizações alcançáveis.
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": "planetscale",
"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 PlanetScale 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 PlanetScale permite remover. O seguinte permanece até que você mesmo remova:
- OAuth grant
polylane cloud disconnect <id>Ferramentas
2Operações que os agentes podem executar em threads.
Recursos suportados
2Tipos de recurso que aparecem no seu grafo de infraestrutura.