Fly.io
연결
터미널에서 Fly.io을 연결하세요. Fly.io이 받는 플래그는 --help로 확인할 수 있고, 헤드리스 환경에서는 --no-browser를 함께 사용하세요.
polylane cloud connect --provider flyFly.io 대시보드의 API 토큰입니다.
Fly.io는 대시보드의 API 토큰으로 연결합니다. 가장 제한적인 토큰 유형을 사용하세요: Polylane은 읽기 접근만 필요합니다. 토큰은 저장 전에 암호화되며 에이전트는 이를 절대 보지 못합니다.
설정
- Fly.io Dashboard를 열고 Tokens로 이동합니다.
- 새 읽기 전용 토큰을 만듭니다.
- 토큰을 복사해 Polylane에 붙여 넣습니다.
- Polylane이 토큰을 검증하고 동기화를 시작합니다.
Polylane은 앱, 머신, 볼륨, 인증서, 그리고 다른 Fly.io 리소스를 발견합니다.
토큰 유형
| 유형 | 범위 | 권장 |
|---|---|---|
| Read-only | 리소스 읽기만 가능 | 이것을 사용하세요 |
| Deploy | 앱 배포 가능 | 필요 없음 |
| Personal | 전체 계정 접근 | 권장하지 않음 |
연결 해제
Polylane에서 계정의 연결을 해제한 뒤, Fly.io 대시보드의 Tokens에서 토큰을 취소하세요.
CI 작업이나 브라우저가 없는 다른 환경에서 Fly.io을 연결하세요.
Fly.io 연결에는 브라우저가 필요하지 않습니다: 콘솔이 호출하는 것과 같은 엔드포인트를 CI 작업에 담을 수 있습니다. 인증된 POST 하나가 연결을 만들고 첫 동기화를 시작합니다.
사전 요구 사항
cloud_accounts:write와cloud_accounts:read스코프를 가진 Polylane API 키. API 키와 OAuth를 참고하세요.ws_로 시작하는 워크스페이스 ID. 같은 키로GET /v1/workspaces에서 읽을 수 있습니다.- Fly.io 대시보드의 Tokens에서 만든 Fly.io 읽기 전용 API 토큰.
연결 만들기
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "fly",
"workspaceId": "ws_0abc123",
"token": "<fly-api-token>"
}'
토큰은 하나의 Fly.io 조직에 해당하므로, 한 번의 호출로 조직 하나가 연결됩니다.
- 조직 발견은 토큰이 볼 수 있는 앱을 읽으므로, 어떤 앱에도 접근할 수 없는 토큰은
400으로 실패합니다.
응답은 연결된 것을 나열하며, 첫 동기화는 이미 실행 중입니다. 나머지 흐름이 읽는 두 필드만 남기면:
{
"success": true,
"result": {
"provider": "fly",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
이미 연결된 계정은 accounts 대신 failures에 들어가므로, 호출을 반복해도 연결이 중복되지 않습니다.
첫 동기화 기다리기
반환된 각 계정을 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가 되면 리소스는 토폴로지에 있고 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"
그 다음 아래 연결 해제에 설명된 대로 제공자 쪽에서 Fly.io 자격 증명을 취소하세요.
연결 해제
연결을 해제하면 모든 동기화와 검사가 중단되고 Polylane이 보관하던 자격 증명이 삭제됩니다. Polylane이 Fly.io에 설정한 모든 것도 함께 제거되며, 남는 것은 없습니다.
polylane cloud disconnect <id>도구
4에이전트가 스레드에서 수행할 수 있는 작업입니다.
지원 리소스
5인프라 그래프에 표시되는 리소스 유형입니다.