Railway
Forbind
Forbind Railway fra terminalen. Angiv --help for de flag, Railway accepterer, plus --no-browser til headless-miljøer.
polylane cloud connect --provider railwayOAuth-autorisation.
Railway forbindes via OAuth: klik på Continue to Railway, godkend læseadgang hos Railway, og du omdirigeres tilbage med synkroniseringen allerede i gang. Tokens krypteres, før de gemmes, og agenten ser dem aldrig.
Polylane opdager dine projekter, miljøer, services, deployments, volumes, domæner og TCP-proxyer. Servicemetrikker driver diagrammer og anomalidetektion. Variabelnavne synkroniseres til kobling på tværs af clouds; variabelværdier læses aldrig. Flygtige miljøer (pull request-miljøer) springes over.
Deploy- og alarm-webhooks
Railway pusher ændringer i deployment-status og forbrugsalarmer gennem notifikationsregler. Peger du én af dem på Polylane, alarmeres der ved fejlede eller crashede deploys, alarmen løses ved det næste vellykkede deploy, og en gensynkronisering planlægges:
- Kopiér webhook-URL'en fra cloudkontoens Settings-side i Polylane (den slutter med dit Railway-workspace-id).
- I Railway åbner du dit workspaces Notifications-indstillinger og tilføjer en webhook-regel, der peger på den URL.
- Vælg de Deployment-hændelser, du interesserer dig for:
Deployment.deployed,Deployment.failed,Deployment.crashedogDeployment.oom_killeddækker alarmflowet (Railways succeshændelse erDeployment.deployed; der findes ingenDeployment.success). - Tilføj hændelserne VolumeAlert og Monitor, inklusive
VolumeAlert.resolvedogMonitor.resolved, så volume- og monitor-alarmer åbnes og lukkes automatisk i Polylane.
Fejlfinding
Autorisation fejler eller annulleres
- Sørg for, at du er logget ind på Railway med en konto, der kan tilgå workspacet.
- Prøv igen fra Continue to Railway; autorisationslinket er kun gyldigt i få minutter.
Manglende ressourcer
- Railway kan bruge et par minutter på at synkronisere alt.
- Flygtige miljøer (pull request-miljøer) synkroniseres ikke.
- Udløs en manuel Sync fra kontohovedet for at opdatere.
Afbrydelse
Afbryd kontoen i Polylane, tilbagekald derefter OAuth-tildelingen i dine Railway-kontoindstillinger, og fjern notifikationsreglen, hvis du oprettede én.
Forbind Railway fra et CI-job eller et hvilket som helst andet miljø uden browser.
Forbindelse af Railway kræver ingen browser: det samme endpoint, konsollen kalder, passer ind i et CI-job. Én autentificeret POST opretter forbindelsen og starter den første synkronisering.
Forudsætninger
- En Polylane-API-nøgle med scopes
cloud_accounts:writeogcloud_accounts:read. Se API-nøgler og OAuth. - Dit arbejdsområde-id, som begynder med
ws_. Læs det fraGET /v1/workspacesmed den samme nøgle. - Et Railway-workspace-token fra dine workspace-indstillinger. Konsollens OAuth-flow kræver en browser; workspace-tokens gør ikke.
Opret forbindelsen
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>"
}'
Ét kald forbinder hvert Railway-workspace, tokenet kan nå; angiv det valgfrie railwayWorkspaceId for kun at forbinde ét.
Svaret lister, hvad der blev forbundet, med den første synkronisering allerede i gang. Trimmet til de to felter, resten af flowet læser:
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
En konto, der allerede er forbundet, lander i failures i stedet for accounts, så gentagelse af kaldet duplikerer aldrig en forbindelse.
Vent på den første synkronisering
Poll hver returneret konto efter dens id, indtil status når ready (new ved registrering, syncing mens ressourcer strømmer ind):
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
Giv løkken en deadline, så en fejlet forbindelse får jobbet til at fejle i stedet for at hænge. Når kontoen er ready, er dens ressourcer i topologien, og Polylane har startet sin første kontrol.
Afbryd fra API'et
Sletning af forbindelsen stopper hver synkronisering og kontrol og sletter de legitimationsoplysninger, Polylane opbevarede. Kaldet kræver scopet cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Tilbagekald derefter Railway-legitimationen på udbyderens side, som beskrevet under Afbryd nedenfor.
Afbryd
Afbrydelse stopper hver synkronisering og kontrol og sletter de legitimationsoplysninger, Polylane opbevarede. Polylane fjerner det, Railways API lader den fjerne. Følgende bliver tilbage, indtil du selv fjerner det:
- OAuth grant
polylane cloud disconnect <id>Værktøjer
4Operationer, agenter kan udføre i tråde.
Understøttede ressourcer
8Ressourcetyper, der vises i din infrastrukturgraf.