Railway
ربط
اربط Railway من الطرفية. مرّر --help للأعلام التي يقبلها Railway، إضافة إلى --no-browser للبيئات بلا واجهة.
polylane cloud connect --provider railwayتفويض OAuth.
يُربط Railway عبر OAuth: انقر Continue to Railway، وفوّض حق القراءة على Railway، فتُعاد توجيهك مع بدء المزامنة أصلاً. تُشفَّر الرموز قبل تخزينها، ولا يراها الوكيل أبداً.
يكتشف Polylane مشاريعك وبيئاتك وخدماتك وعمليات نشرك وأحجامك ونطاقاتك ووكلاء TCP لديك. تشغّل مقاييس الخدمات الرسوم البيانية واكتشاف الشذوذ. تُزامَن أسماء المتغيرات للربط عبر السحابات؛ ولا تُقرأ قيم المتغيرات أبداً. تُتخطى البيئات المؤقتة (الخاصة بطلبات pull request).
webhooks النشر والتنبيهات
يدفع Railway تغييرات حالة النشر وتنبيهات الاستخدام عبر قواعد الإشعارات. يؤدي توجيه واحدة منها إلى Polylane إلى التنبيه عند عمليات النشر الفاشلة أو المنهارة، وحل التنبيه عند النشر الناجح التالي، وجدولة إعادة مزامنة:
- انسخ عنوان URL للـ webhook من صفحة Settings لحساب السحابة في Polylane (ينتهي بمعرّف مساحة عمل Railway الخاصة بك).
- في Railway، افتح إعدادات Notifications لمساحة عملك وأضف قاعدة webhook تشير إلى ذلك العنوان.
- اختر أحداث Deployment التي تهمك: تغطي
Deployment.deployedوDeployment.failedوDeployment.crashedوDeployment.oom_killedتدفق التنبيه (حدث النجاح في Railway هوDeployment.deployed؛ ولا يوجدDeployment.success). - أضف أحداث VolumeAlert وMonitor، بما في ذلك
VolumeAlert.resolvedوMonitor.resolved، لتُفتح تنبيهات الأحجام والمراقبين وتُغلق تلقائياً في Polylane.
استكشاف الأخطاء
يفشل التفويض أو يُلغى
- تأكد من أنك مسجّل الدخول إلى Railway بحساب يستطيع الوصول إلى مساحة العمل.
- أعد المحاولة من Continue to Railway؛ فرابط التفويض صالح لبضع دقائق فقط.
موارد مفقودة
- قد يستغرق Railway بضع دقائق لمزامنة كل شيء.
- لا تُزامَن البيئات المؤقتة (الخاصة بطلبات pull request).
- أطلق Sync يدوياً من رأس الحساب للتحديث.
الفصل
افصل الحساب في Polylane، ثم ألغِ منحة OAuth في إعدادات حساب Railway الخاص بك، وأزل قاعدة الإشعارات إن كنت أنشأت واحدة.
اربط Railway من مهمة CI أو أي بيئة أخرى بلا متصفح.
لا يحتاج ربط Railway إلى متصفح: نقطة النهاية نفسها التي تستدعيها وحدة التحكم تناسب مهمة CI. ينشئ طلب POST موثَّق واحد الاتصال ويبدأ المزامنة الأولى.
المتطلبات الأساسية
- مفتاح API من Polylane بنطاقَي
cloud_accounts:writeوcloud_accounts:read. انظر مفاتيح API وOAuth. - معرّف مساحة عملك، الذي يبدأ بـ
ws_. اقرأه منGET /v1/workspacesبالمفتاح نفسه. - رمز مساحة عمل من Railway من إعدادات مساحة عملك. يحتاج تدفق OAuth في وحدة التحكم إلى متصفح؛ ولا تحتاج رموز مساحة العمل إليه.
إنشاء الاتصال
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>"
}'
يربط استدعاء واحد كل مساحة عمل Railway يستطيع الرمز الوصول إليها؛ مرّر railwayWorkspaceId الاختياري لربط واحدة فقط.
تسرد الاستجابة ما رُبط، مع المزامنة الأولى جارية أصلاً. مختصرة إلى الحقلين اللذين تقرؤهما بقية التدفق:
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
يقع الحساب المربوط أصلاً في failures بدلاً من accounts، فلا يكرر تكرار الاستدعاء اتصالاً أبداً.
انتظار المزامنة الأولى
استطلع كل حساب مُعاد عبر id الخاص به حتى تصل status إلى ready (new عند التسجيل، و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
أعطِ الحلقة موعداً نهائياً ليُفشل الربط الفاشل المهمة بدلاً من تعليقها. وبعد أن يصبح الحساب ready، تكون موارده في Topology ويكون Polylane قد بدأ فحصه الأول.
الفصل من API
يوقف حذف الاتصال كل مزامنة وفحص ويحذف بيانات الاعتماد التي احتفظ بها Polylane. يحتاج الاستدعاء إلى نطاق cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
ثم ألغِ بيانات اعتماد Railway على جانب المزود، كما هو موضح تحت الفصل أدناه.
فصل
يوقف الفصل كل مزامنة وفحص ويحذف بيانات الاعتماد التي احتفظ بها Polylane. يزيل Polylane ما تسمح له API الخاصة بـ Railway بإزالته. ويبقى ما يلي حتى تزيله بنفسك:
- OAuth grant
polylane cloud disconnect <id>الأدوات
4العمليات التي يستطيع الوكلاء إجراءها في المحادثات.
الموارد المدعومة
8أنواع الموارد التي تظهر في مخطط بنيتك التحتية.