Trigger.dev
Forbind
Forbind Trigger.dev fra terminalen. Angiv --help for de flag, Trigger.dev accepterer, plus --no-browser til headless-miljøer.
polylane cloud connect --provider triggerdevEn miljøhemmelig nøgle oprettet med forudindstillingen "No restrictions" fra miljøets API Keys-side.
- Åbn i Trigger.dev miljøets side API Keys og opret en nøgle med forudindstillingen "No restrictions".
- Indsæt nøglen i Polylane, og tryk på Connect. Nøglen navngiver selv sit projekt og sit miljø, så der er ikke mere at indtaste.
Polylane kortlægger miljøet, dets deployment, opgaver, tidsplaner og køer. En opgave set i kørsler, men fraværende i den aktuelle version, bliver på kortet og markeres. Nøgler krypteres, og agenten ser dem aldrig.
Deploy- og alarm-webhooks
Trigger.devs webhook-alarmer åbner en sag ved en fejlet kørsel og løser deployment-alarmer ved næste succes. Én alarm pr. miljø:
- Tilføj på miljøets Alerts-side en webhook-alarm med URL'en fra kontoens Settings under Webhooks og hændelserne "Task run failure", "Deployment failure" og "Deployment success".
- Indsæt den signeringshemmelighed, Trigger.dev viser én gang, i samme Webhooks-kort.
Fejlfinding
"Polylane needs a key created with the 'No restrictions' preset"
- Nøgler med Trigger only, Observer, Deploy only, Task operator og Variables only kan ikke bruges: Polylane læser projektets identitet gennem et endpoint, som kun en "No restrictions"-nøgle kan kalde. Opret en "No restrictions"-nøgle på miljøets API Keys-side, og forbind den.
"Trigger.dev did not recognize this key"
- Tjek, at nøglen er kopieret i sin helhed og ikke er blevet tilbagekaldt.
"Dev keys only work while trigger dev runs" og "Preview keys are per branch and not supported"
- Brug en prod- eller staging-nøgle.
Manglende ressourcer
- "Sync" i kontoens header opdaterer før næste 15-minutters gennemløb.
Afbrydelse
Afbryd i Polylane, og slet derefter nøglen på miljøets side API Keys.
Forbind Trigger.dev fra et CI-job eller et hvilket som helst andet miljø uden browser.
Forbindelse af Trigger.dev kræver ingen browser: det samme endpoint, konsollen kalder, passer ind i et CI-job. Én autentificeret POST opretter forbindelsen og starter den første synkronisering.
Forudsætninger
- En Polylane-API-nøgle med scopes
cloud_accounts:writeogcloud_accounts:read. Se API-nøgler og OAuth. - Dit arbejdsområde-id, som begynder med
ws_. Læs det fraGET /v1/workspacesmed den samme nøgle. - En miljøhemmelig nøgle fra Trigger.dev (
tr_prod_sk_…ellertr_stg_sk_…) fra dit projekts prod- eller staging-miljø, under API Keys. Opret den med forudindstillingen No restrictions: Polylane læser projektets identitet gennem et endpoint, som kun en "No restrictions"-nøgle kan kalde, så nøgler med Trigger only, Observer, Deploy only, Task operator og Variables only afvises, og det samme gør dev- og preview-nøgler.
Opret forbindelsen
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>"
}'
Nøglen navngiver selv sit projekt og sit miljø, og en nøgle tilhører præcis ét miljø, så ét kald forbinder ét miljø: en prod-nøgle forbinder produktion, og en staging-nøgle forbinder staging, hver som sin egen konto. At sende en nøgle for et miljø, der allerede er forbundet, erstatter kontoens nøgle. Der er ingen miljøkontakt at sætte. At forbinde et miljø er sådan, du vælger at overvåge det.
Svaret lister, hvad der blev forbundet, med den første synkronisering allerede i gang. Trimmet til de to felter, resten af flowet læser:
{
"success": true,
"result": {
"provider": "triggerdev",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
En nøgle, som API'et afviser, lander i failures i stedet for accounts med en besked, der siger hvorfor, så gentagelse af kaldet duplikerer aldrig en forbindelse.
Vent på den første synkronisering
Poll hver returneret konto efter dens id, indtil status når ready (new ved registrering, syncing mens ressourcer strømmer ind):
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
Giv løkken en deadline, så en fejlet forbindelse får jobbet til at fejle i stedet for at hænge. Når kontoen er ready, er dens ressourcer i topologien, og Polylane har startet sin første kontrol.
Afbryd fra API'et
Sletning af forbindelsen stopper hver synkronisering og kontrol og sletter de legitimationsoplysninger, Polylane opbevarede. Kaldet kræver scopet cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Tilbagekald derefter Trigger.dev-nøglen på udbyderens side, som beskrevet under Afbryd nedenfor.
Afbryd
Afbrydelse stopper hver synkronisering og kontrol og sletter de legitimationsoplysninger, Polylane opbevarede. Polylane fjerner det, Trigger.devs API lader den fjerne. Følgende bliver tilbage, indtil du selv fjerner det:
- Trigger.dev webhook alert
polylane cloud disconnect <id>Værktøjer
5Operationer, agenter kan udføre i tråde.
Understøttede ressourcer
5Ressourcetyper, der vises i din infrastrukturgraf.