Trigger.dev
연결
터미널에서 Trigger.dev을 연결하세요. Trigger.dev이 받는 플래그는 --help로 확인할 수 있고, 헤드리스 환경에서는 --no-browser를 함께 사용하세요.
polylane cloud connect --provider triggerdev환경의 API Keys 페이지에서 "No restrictions" 프리셋으로 만든 환경 시크릿 키입니다.
- Trigger.dev에서 환경의 API Keys 페이지를 열고 "No restrictions" 프리셋으로 키를 만듭니다.
- 키를 Polylane에 붙여 넣고 Connect를 누릅니다. 키가 자기 프로젝트와 환경을 스스로 알려 주므로 더 입력할 것이 없습니다.
Polylane은 환경, 배포, 태스크, 스케줄, 큐를 매핑합니다. 실행에는 보이지만 현재 버전에 없는 태스크는 맵에 남아 있고 표시가 붙습니다. 키는 암호화되며 에이전트는 키를 절대 볼 수 없습니다.
배포 및 알림 웹훅
Trigger.dev 웹훅 알림은 실패한 실행에서 이슈를 열고 다음 성공에서 배포 알림을 해결합니다. 환경마다 알림 하나:
- 환경의 Alerts 페이지에서 계정 Settings의 Webhooks에 있는 URL과 "Task run failure", "Deployment failure", "Deployment success" 이벤트로 웹훅 알림을 추가합니다.
- Trigger.dev가 한 번만 보여 주는 서명 시크릿을 같은 Webhooks 카드에 붙여 넣습니다.
문제 해결
"Polylane needs a key created with the 'No restrictions' preset"
- Trigger only, Observer, Deploy only, Task operator, Variables only 키는 사용할 수 없습니다. Polylane은 "No restrictions" 키만 호출할 수 있는 엔드포인트를 통해 프로젝트의 정보를 읽습니다. 환경의 API Keys 페이지에서 "No restrictions" 키를 만들어 연결하세요.
"Trigger.dev did not recognize this key"
- 키가 전부 복사되었는지, 취소되지 않았는지 확인하세요.
"Dev keys only work while trigger dev runs" 및 "Preview keys are per branch and not supported"
- prod 또는 staging 키를 사용하세요.
누락된 리소스
- 계정 헤더의 "Sync"가 다음 15분 주기 전에 새로 고칩니다.
연결 해제
Polylane에서 연결을 해제한 뒤 환경의 API Keys 페이지에서 키를 삭제하세요.
CI 작업이나 브라우저가 없는 다른 환경에서 Trigger.dev을 연결하세요.
Trigger.dev 연결에는 브라우저가 필요하지 않습니다: 콘솔이 호출하는 것과 같은 엔드포인트를 CI 작업에 담을 수 있습니다. 인증된 POST 하나가 연결을 만들고 첫 동기화를 시작합니다.
사전 요구 사항
cloud_accounts:write와cloud_accounts:read스코프를 가진 Polylane API 키. API 키와 OAuth를 참고하세요.ws_로 시작하는 워크스페이스 ID. 같은 키로GET /v1/workspaces에서 읽을 수 있습니다.- 프로젝트의 prod 또는 staging 환경의 API Keys에서 만든 Trigger.dev 환경 시크릿 키(
tr_prod_sk_…또는tr_stg_sk_…). No restrictions 프리셋으로 만드세요. Polylane은 "No restrictions" 키만 호출할 수 있는 엔드포인트를 통해 프로젝트의 정보를 읽으므로 Trigger only, Observer, Deploy only, Task operator, Variables only 키는 거부되고, dev와 preview 키도 거부됩니다.
연결 만들기
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "triggerdev",
"workspaceId": "ws_0abc123",
"apiKey": "<environment-secret-key>"
}'
키가 자기 프로젝트와 환경을 스스로 알려 주고, 키는 정확히 하나의 환경에 속하므로 한 번의 호출로 환경 하나가 연결됩니다. prod 키는 프로덕션을, staging 키는 staging을 각각 별도의 계정으로 연결합니다. 이미 연결된 환경의 키를 보내면 계정의 키가 교체됩니다. 설정할 환경 토글은 없습니다. 환경을 연결하는 것이 그 환경을 지켜보기로 선택하는 방법입니다.
응답은 연결된 것을 나열하며, 첫 동기화는 이미 실행 중입니다. 나머지 흐름이 읽는 두 필드만 남기면:
{
"success": true,
"result": {
"provider": "triggerdev",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
API가 거부한 키는 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"
그 다음 아래 연결 해제에 설명된 대로 제공자 쪽에서 Trigger.dev 키를 취소하세요.
연결 해제
연결을 해제하면 모든 동기화와 검사가 중단되고 Polylane이 보관하던 자격 증명이 삭제됩니다. Polylane은 Trigger.dev의 API가 허용하는 범위에서 제거합니다. 다음은 직접 제거하기 전까지 남습니다:
- Trigger.dev webhook alert
polylane cloud disconnect <id>도구
5에이전트가 스레드에서 수행할 수 있는 작업입니다.
지원 리소스
5인프라 그래프에 표시되는 리소스 유형입니다.