Railway
Connecter
Connecte Railway depuis le terminal. Passe --help pour les options que Railway accepte, plus --no-browser pour les environnements sans interface graphique.
polylane cloud connect --provider railwayAutorisation OAuth.
Railway se connecte via OAuth : clique sur Continue to Railway, autorise l'accès en lecture sur Railway, et tu es redirigé avec la synchronisation déjà lancée. Les tokens sont chiffrés avant d'être stockés, et l'agent ne les voit jamais.
Polylane découvre tes projets, environnements, services, déploiements, volumes, domaines et proxies TCP. Les métriques de service alimentent les graphiques et la détection d'anomalies. Les noms de variables sont synchronisés pour les liens entre clouds ; les valeurs des variables ne sont jamais lues. Les environnements éphémères (pull request) sont ignorés.
Webhooks de déploiement et d'alerte
Railway pousse les changements d'état de déploiement et les alertes d'usage via des règles de notification. En pointer une vers Polylane alerte sur les déploiements échoués ou plantés, résout l'alerte au prochain déploiement réussi et planifie une resynchronisation :
- Copie l'URL du webhook depuis la page Settings du compte cloud dans Polylane (elle se termine par l'identifiant de ton espace de travail Railway).
- Dans Railway, ouvre les réglages Notifications de ton espace de travail et ajoute une règle de webhook pointant vers cette URL.
- Sélectionne les événements Deployment qui t'intéressent :
Deployment.deployed,Deployment.failed,Deployment.crashedetDeployment.oom_killedcouvrent le flux d'alerte (l'événement de succès de Railway estDeployment.deployed; il n'y a pas deDeployment.success). - Ajoute les événements VolumeAlert et Monitor, y compris
VolumeAlert.resolvedetMonitor.resolved, pour que les alertes de volume et de moniteur s'ouvrent et se ferment automatiquement dans Polylane.
Dépannage
L'autorisation échoue ou est annulée
- Assure-toi d'être connecté à Railway avec un compte qui peut accéder à l'espace de travail.
- Réessaie depuis Continue to Railway ; le lien d'autorisation n'est valide que quelques minutes.
Ressources manquantes
- Railway peut mettre quelques minutes à tout synchroniser.
- Les environnements éphémères (pull request) ne sont pas synchronisés.
- Déclenche un Sync manuel depuis l'en-tête du compte pour rafraîchir.
Déconnexion
Déconnecte le compte dans Polylane, puis révoque l'autorisation OAuth dans les réglages de ton compte Railway, et retire la règle de notification si tu en as créé une.
Connecte Railway depuis un job de CI ou tout autre environnement sans navigateur.
Connecter Railway ne nécessite aucun navigateur : le même point d'accès que la console appelle tient dans un job de CI. Un seul POST authentifié crée la connexion et démarre la première synchronisation.
Prérequis
- Une clé API Polylane avec les scopes
cloud_accounts:writeetcloud_accounts:read. Voir Clés API et OAuth. - L'identifiant de ton espace de travail, qui commence par
ws_. Lis-le depuisGET /v1/workspacesavec la même clé. - Un token d'espace de travail Railway depuis les réglages de ton espace de travail. Le flux OAuth de la console a besoin d'un navigateur ; les tokens d'espace de travail, non.
Créer la connexion
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>"
}'
Un seul appel connecte chaque espace de travail Railway que le token peut atteindre ; passe le railwayWorkspaceId facultatif pour n'en connecter qu'un.
La réponse liste ce qui a été connecté, avec la première synchronisation déjà en cours. Réduite aux deux champs que le reste du flux lit :
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Un compte déjà connecté atterrit dans failures au lieu de accounts, donc répéter l'appel ne duplique jamais une connexion.
Attendre la première synchronisation
Interroge chaque compte renvoyé par son id jusqu'à ce que status atteigne ready (new à l'enregistrement, syncing pendant que les ressources arrivent) :
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
Donne une échéance à la boucle pour qu'une connexion échouée fasse échouer le job au lieu de le bloquer. Une fois que le compte est ready, ses ressources sont dans la topologie et Polylane a démarré sa première vérification.
Déconnecter depuis l'API
Supprimer la connexion arrête chaque synchronisation et chaque vérification et supprime les identifiants que Polylane détenait. L'appel nécessite le 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"
Révoque ensuite l'identifiant Railway côté fournisseur, comme décrit sous Disconnect ci-dessous.
Déconnecter
La déconnexion arrête chaque synchronisation et chaque vérification et supprime les identifiants que Polylane détenait. Polylane retire ce que l'API de Railway lui permet de retirer. Ce qui suit reste jusqu'à ce que tu le retires toi-même :
- OAuth grant
polylane cloud disconnect <id>Outils
4Les opérations que les agents peuvent effectuer dans les threads.
Ressources prises en charge
8Les types de ressources qui apparaissent dans ton graphe d'infrastructure.