Railway
Bağla
Railway hesabını terminalden bağla. Railway hesabının kabul ettiği bayraklar için --help, başsız ortamlar için ayrıca --no-browser geç.
polylane cloud connect --provider railwayOAuth yetkilendirmesi.
Railway OAuth üzerinden bağlanır: Continue to Railway'e tıkla, Railway'de okuma erişimini yetkilendir ve eşitleme zaten başlamış halde geri yönlendirilirsin. Tokenlar saklanmadan önce şifrelenir ve ajan onları asla görmez.
Polylane projelerini, ortamlarını, servislerini, dağıtımlarını, volume'larını, alan adlarını ve TCP proxy'lerini keşfeder. Servis metrikleri grafikleri ve anomali tespitini besler. Değişken adları bulutlar arası bağlama için eşitlenir; değişken değerleri asla okunmaz. Geçici (pull request) ortamlar atlanır.
Dağıtım ve uyarı webhook'ları
Railway dağıtım durumu değişikliklerini ve kullanım uyarılarını bildirim kuralları üzerinden gönderir. Birini Polylane'e yönlendirmek başarısız veya çökmüş dağıtımlarda uyarır, bir sonraki başarılı dağıtımda uyarıyı çözer ve bir yeniden eşitleme zamanlar:
- Webhook URL'sini Polylane'de bulut hesabının Settings sayfasından kopyala (Railway çalışma alanı kimliğinle biter).
- Railway'de çalışma alanının Notifications ayarlarını aç ve o URL'ye işaret eden bir webhook kuralı ekle.
- Önem verdiğin Deployment olaylarını seç:
Deployment.deployed,Deployment.failed,Deployment.crashedveDeployment.oom_killeduyarı akışını kapsar (Railway'in başarı olayıDeployment.deployed;Deployment.successyoktur). - Volume ve monitör uyarılarının Polylane'de otomatik olarak açılıp kapanması için
VolumeAlert.resolvedveMonitor.resolveddahil VolumeAlert ve Monitor olaylarını ekle.
Sorun giderme
Yetkilendirme başarısız oluyor veya iptal ediliyor
- Railway'de çalışma alanına erişebilen bir hesapla oturum açtığından emin ol.
- Continue to Railway üzerinden yeniden dene; yetkilendirme bağlantısı yalnızca birkaç dakika geçerlidir.
Eksik kaynaklar
- Railway'in her şeyi eşitlemesi birkaç dakika sürebilir.
- Geçici (pull request) ortamlar eşitlenmez.
- Yenilemek için hesap başlığından elle bir Sync tetikle.
Bağlantıyı kesme
Hesabın Polylane ile bağlantısını kes, sonra OAuth iznini Railway hesap ayarlarından iptal et ve oluşturduysan bildirim kuralını kaldır.
Railway hesabını bir CI işinden veya tarayıcısı olmayan başka herhangi bir ortamdan bağla.
Railway'i bağlamak tarayıcı gerektirmez: konsolun çağırdığı aynı uç nokta bir CI işine sığar. Kimliği doğrulanmış tek bir POST bağlantıyı oluşturur ve ilk eşitlemeyi başlatır.
Ön koşullar
cloud_accounts:writevecloud_accounts:readkapsamlı bir Polylane API anahtarı. Bkz. API anahtarları ve OAuth.ws_ile başlayan çalışma alanı kimliğin. Aynı anahtarlaGET /v1/workspacesüzerinden oku.- Çalışma alanı ayarlarından bir Railway çalışma alanı tokenı. Konsolun OAuth akışı tarayıcı gerektirir; çalışma alanı tokenları gerektirmez.
Bağlantıyı oluştur
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>"
}'
Tek çağrı, tokenın ulaşabildiği her Railway çalışma alanını bağlar; yalnızca birini bağlamak için isteğe bağlı railwayWorkspaceId geç.
Yanıt, ilk eşitleme zaten çalışıyor halde neyin bağlandığını listeler. Akışın geri kalanının okuduğu iki alana kırpılmış hali:
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Zaten bağlı olan bir hesap accounts yerine failures içine düşer, bu yüzden çağrıyı yinelemek asla bir bağlantıyı çoğaltmaz.
İlk eşitlemeyi bekle
Döndürülen her hesabı id değeriyle, status değeri ready olana kadar yokla (kayıtta new, kaynaklar akarken syncing):
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
Başarısız bir bağlama işi askıda bırakmak yerine başarısız kılsın diye döngüye bir son tarih ver. Hesap ready olduğunda kaynakları topolojidedir ve Polylane ilk kontrolünü başlatmıştır.
API'den bağlantıyı kes
Bağlantıyı silmek her eşitlemeyi ve kontrolü durdurur ve Polylane'in tuttuğu kimlik bilgilerini siler. Çağrı cloud_accounts:delete kapsamını gerektirir:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Sonra Railway kimlik bilgisini, aşağıda Bağlantıyı kesme altında anlatıldığı gibi sağlayıcı tarafında iptal et.
Bağlantıyı kes
Bağlantıyı kesmek her eşitlemeyi ve kontrolü durdurur ve Polylane'in tuttuğu kimlik bilgilerini siler. Polylane, Railway API'sinin kaldırmasına izin verdiği her şeyi kaldırır. Şunlar sen kendin kaldırana kadar kalır:
- OAuth grant
polylane cloud disconnect <id>Araçlar
4Ajanların threadlerde yapabileceği işlemler.
Desteklenen kaynaklar
8Altyapı grafiğinde görünen kaynak türleri.