Railway
Collega
Collega Railway dal terminale. Passa --help per vedere i flag che Railway accetta, più --no-browser per gli ambienti headless.
polylane cloud connect --provider railwayAutorizzazione OAuth.
Railway si collega via OAuth: fai clic su Continue to Railway, autorizza l'accesso in lettura su Railway e vieni reindirizzato con la sincronizzazione già avviata. I token vengono cifrati prima di essere archiviati e l'agente non li vede mai.
Polylane scopre i tuoi progetti, environment, servizi, deployment, volumi, domini e proxy TCP. Le metriche dei servizi alimentano i grafici e il rilevamento delle anomalie. I nomi delle variabili vengono sincronizzati per i collegamenti tra cloud; i valori delle variabili non vengono mai letti. Gli environment effimeri (pull request) vengono saltati.
Webhook di deploy e alert
Railway invia i cambiamenti di stato dei deployment e gli avvisi di utilizzo tramite regole di notifica. Puntarne una verso Polylane genera un alert sui deploy falliti o in crash, risolve l'alert al successivo deploy riuscito e pianifica una risincronizzazione:
- Copia l'URL del webhook dalla pagina Settings dell'account cloud in Polylane (termina con l'ID del tuo workspace Railway).
- In Railway, apri le impostazioni Notifications del tuo workspace e aggiungi una regola webhook che punti a quell'URL.
- Seleziona gli eventi Deployment che ti interessano:
Deployment.deployed,Deployment.failed,Deployment.crashedeDeployment.oom_killedcoprono il flusso di alert (l'evento di successo di Railway èDeployment.deployed; non esisteDeployment.success). - Aggiungi gli eventi VolumeAlert e Monitor, compresi
VolumeAlert.resolvedeMonitor.resolved, così gli alert di volumi e monitor si aprono e si chiudono automaticamente in Polylane.
Risoluzione dei problemi
L'autorizzazione fallisce o viene annullata
- Assicurati di aver effettuato l'accesso a Railway con un account che può accedere al workspace.
- Riprova da Continue to Railway; il link di autorizzazione è valido solo per pochi minuti.
Risorse mancanti
- Railway può impiegare qualche minuto per sincronizzare tutto.
- Gli environment effimeri (pull request) non vengono sincronizzati.
- Avvia una Sync manuale dall'intestazione dell'account per aggiornare.
Scollegamento
Scollega l'account in Polylane, poi revoca l'autorizzazione OAuth nelle impostazioni del tuo account Railway e rimuovi la regola di notifica se ne avevi creata una.
Collega Railway da un job CI o da qualsiasi altro ambiente senza browser.
Collegare Railway non richiede un browser: lo stesso endpoint che chiama la console sta in un job CI. Una sola POST autenticata crea il collegamento e avvia la prima sincronizzazione.
Prerequisiti
- Una chiave API Polylane con gli scope
cloud_accounts:writeecloud_accounts:read. Vedi Chiavi API e OAuth. - L'ID del tuo workspace, che inizia con
ws_. Leggilo daGET /v1/workspacescon la stessa chiave. - Un token di workspace Railway dalle impostazioni del tuo workspace. Il flusso OAuth della console richiede un browser; i token di workspace no.
Crea il collegamento
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>"
}'
Una sola chiamata collega ogni workspace Railway che il token può raggiungere; passa il campo facoltativo railwayWorkspaceId per collegarne uno solo.
La risposta elenca ciò che è stato collegato, con la prima sincronizzazione già in corso. Ridotta ai due campi che il resto del flusso legge:
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Un account già collegato finisce in failures invece che in accounts, quindi ripetere la chiamata non duplica mai un collegamento.
Attendi la prima sincronizzazione
Interroga ogni account restituito tramite il suo id finché status non raggiunge ready (new alla registrazione, syncing mentre le risorse arrivano):
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
Dai al ciclo una scadenza, così un collegamento fallito fa fallire il job invece di bloccarlo. Una volta che l'account è ready, le sue risorse sono nella topologia e Polylane ha avviato il suo primo controllo.
Scollega dall'API
Eliminare il collegamento interrompe ogni sincronizzazione e ogni controllo ed elimina le credenziali che Polylane conservava. La chiamata richiede lo scope cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Poi revoca la credenziale Railway sul lato del provider, come descritto sotto Scollega qui sotto.
Scollega
Scollegare interrompe ogni sincronizzazione e ogni controllo ed elimina le credenziali che Polylane conservava. Polylane rimuove ciò che l'API di Railway gli permette di rimuovere. Quanto segue resta finché non lo rimuovi tu:
- OAuth grant
polylane cloud disconnect <id>Strumenti
4Operazioni che gli agenti possono eseguire nei thread.
Risorse supportate
8Tipi di risorsa che compaiono nel grafo della tua infrastruttura.