Railway
เชื่อมต่อ
เชื่อมต่อ Railway จากเทอร์มินัล ส่ง --help เพื่อดูแฟล็กที่ Railway รับ รวมถึง --no-browser สำหรับสภาพแวดล้อมที่ไม่มีหน้าจอ
polylane cloud connect --provider railwayการอนุญาตผ่าน OAuth
Railway เชื่อมต่อผ่าน OAuth: คลิก Continue to Railway อนุญาตสิทธิ์อ่านบน Railway แล้วคุณจะถูก redirect กลับมาพร้อมการซิงก์ที่เริ่มแล้ว โทเค็นถูกเข้ารหัสก่อนจัดเก็บ และเอเจนต์ไม่มีทางเห็นมัน
Polylane ค้นหาโปรเจกต์ environment เซอร์วิส deployment, volume โดเมน และ TCP proxy ของคุณ เมตริกของเซอร์วิสขับเคลื่อนแผนภูมิและการตรวจจับความผิดปกติ ชื่อตัวแปรถูกซิงก์เพื่อการเชื่อมโยงข้ามคลาวด์ ค่าของตัวแปรไม่มีทางถูกอ่าน environment แบบชั่วคราว (pull request) ถูกข้าม
webhook สำหรับ deploy และ alert
Railway ส่งการเปลี่ยนสถานะ deployment และ alert การใช้งานผ่านกฎการแจ้งเตือน การชี้กฎหนึ่งมาที่ Polylane จะแจ้งเตือนเมื่อ deploy ล้มเหลวหรือ crash แก้ไข alert เมื่อ deploy สำเร็จครั้งถัดไป และกำหนดเวลาซิงก์ใหม่:
- คัดลอก URL ของ webhook จากหน้า Settings ของบัญชีคลาวด์ใน Polylane (ลงท้ายด้วย ID ของ workspace Railway ของคุณ)
- ใน Railway เปิดการตั้งค่า Notifications ของ workspace ของคุณและเพิ่มกฎ webhook ที่ชี้ไปยัง URL นั้น
- เลือกเหตุการณ์ Deployment ที่คุณสนใจ:
Deployment.deployed,Deployment.failed,Deployment.crashedและDeployment.oom_killedครอบคลุมขั้นตอนการแจ้งเตือน (เหตุการณ์สำเร็จของ Railway คือDeployment.deployedไม่มีDeployment.success) - เพิ่มเหตุการณ์ VolumeAlert และ Monitor รวมถึง
VolumeAlert.resolvedและMonitor.resolvedเพื่อให้ alert ของ volume และ monitor เปิดและปิดอัตโนมัติใน Polylane
การแก้ปัญหา
การอนุญาตล้มเหลวหรือถูกยกเลิก
- ตรวจสอบว่าคุณลงชื่อเข้าใช้ Railway ด้วยบัญชีที่เข้าถึง workspace ได้
- ลองใหม่จาก Continue to Railway ลิงก์อนุญาตใช้ได้เพียงไม่กี่นาที
ทรัพยากรหายไป
- Railway อาจใช้เวลาสองสามนาทีในการซิงก์ทุกอย่าง
- environment แบบชั่วคราว (pull request) ไม่ถูกซิงก์
- สั่ง Sync ด้วยตัวเองจากส่วนหัวของบัญชีเพื่อรีเฟรช
การยกเลิกการเชื่อมต่อ
ยกเลิกการเชื่อมต่อบัญชีใน Polylane แล้วเพิกถอนสิทธิ์ OAuth ในการตั้งค่าบัญชี Railway ของคุณ และลบกฎการแจ้งเตือนหากคุณสร้างไว้
เชื่อมต่อ Railway จากงาน CI หรือสภาพแวดล้อมอื่นใดที่ไม่มีเบราว์เซอร์
การเชื่อมต่อ Railway ไม่ต้องใช้เบราว์เซอร์: endpoint เดียวกับที่คอนโซลเรียกอยู่ในงาน CI ได้ POST ที่ยืนยันตัวตนแล้วครั้งเดียวสร้างการเชื่อมต่อและเริ่มการซิงก์ครั้งแรก
สิ่งที่ต้องมีก่อน
- คีย์ API ของ Polylane ที่มีสโคป
cloud_accounts:writeและcloud_accounts:readดูคีย์ API และ OAuth - ID ของ workspace ของคุณ ซึ่งเริ่มด้วย
ws_อ่านจากGET /v1/workspacesด้วยคีย์เดียวกัน - โทเค็น workspace ของ Railway จากการตั้งค่า workspace ของคุณ ขั้นตอน OAuth ของคอนโซลต้องใช้เบราว์เซอร์ โทเค็น workspace ไม่ต้อง
สร้างการเชื่อมต่อ
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>"
}'
การเรียกครั้งเดียวเชื่อมต่อทุก workspace ของ Railway ที่โทเค็นเข้าถึงได้ ส่ง railwayWorkspaceId ซึ่งใส่หรือไม่ก็ได้เพื่อเชื่อมต่อเพียงอันเดียว
การตอบกลับแสดงรายการสิ่งที่เชื่อมต่อแล้ว พร้อมการซิงก์ครั้งแรกที่รันอยู่ ตัดให้เหลือสองฟิลด์ที่ขั้นตอนที่เหลืออ่าน:
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
บัญชีที่เชื่อมต่ออยู่แล้วจะไปอยู่ใน failures แทน accounts การเรียกซ้ำจึงไม่มีทางทำให้การเชื่อมต่อซ้ำ
รอการซิงก์ครั้งแรก
poll แต่ละบัญชีที่คืนมาด้วย 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
ให้ loop มีเส้นตายเพื่อให้การเชื่อมต่อที่ล้มเหลวทำให้งานล้มเหลวแทนที่จะค้าง เมื่อบัญชี ready แล้ว ทรัพยากรของมันอยู่ในโทโพโลยีและ 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 ฝั่งผู้ให้บริการ ตามที่อธิบายใต้ Disconnect ด้านล่าง
ยกเลิกการเชื่อมต่อ
การยกเลิกการเชื่อมต่อหยุดทุกการซิงก์และการตรวจสอบ และลบข้อมูลรับรองที่ Polylane เก็บไว้ Polylane ลบสิ่งที่ API ของ Railway อนุญาตให้ลบ สิ่งต่อไปนี้ยังคงอยู่จนกว่าคุณจะลบด้วยตัวเอง:
- OAuth grant
polylane cloud disconnect <id>เครื่องมือ
4การดำเนินการที่เอเจนต์ทำได้ในเธรด
ทรัพยากรที่รองรับ
8ประเภททรัพยากรที่ปรากฏในกราฟโครงสร้างพื้นฐานของคุณ