Modal
Forbind
Forbind Modal fra terminalen. Angiv --help for de flag, Modal accepterer, plus --no-browser til headless-miljøer.
polylane cloud connect --provider modalEt token-id og en token-hemmelighed fra dine Modal-indstillinger.
Modal forbindes med et token oprettet i dine Modal-indstillinger. Et Modal-token resolver til præcis ét workspace, så ét token forbinder ét workspace. Tokens krypteres, før de gemmes, og agenten ser dem aldrig.
- Åbn Modal, og gå til Settings → Tokens.
- Klik på New token, og kopiér både token ID (begynder med
ak-) og token secret (begynder medas-). - Indsæt begge værdier i Polylane.
- Polylane validerer parret og begynder at synkronisere.
Polylane opdager dine miljøer og, inden for hvert af dem, dine apps, funktioner inklusive web-endpoints, kørende sandboxes, volumes, secrets, køer og dicts. Secrets kortlægges kun efter navn: Modal eksponerer aldrig secret-værdier.
Modal har ingen mulighed for skrivebeskyttede tokens, så et token bærer tilladelserne for den konto, der oprettede det. Polylane læser kun fra Modal under synkronisering.
Fejlfinding
Fejlen "Invalid token"
- Både token-id og token-hemmelighed er påkrævet; den ene alene kan ikke autentificere.
- Kontrollér, at tokenet ikke er blevet tilbagekaldt i Modals indstillinger.
- Bekræft, at du kopierede hele værdien, inklusive præfikserne
ak-ogas-.
Manglende ressourcer
- Funktioner opdages gennem deres app, så en app, der aldrig er blevet deployet, har ingen funktioner at vise.
- Afsluttede sandboxes springes over: kun kørende vises.
- Udløs en manuel synkronisering for at opdatere tidligere end den næste planlagte gennemgang.
Metrikker og omkostninger
- Apps har to diagrammer: stderr-loglinjer per bucket og målt forbrug per time. Modal rapporterer kun øjebliksmålinger for alt andet, så funktioner, sandboxes og volumes har ingen egne diagrammer.
- Stderr-tal er loglinjer, ikke fejl: én Python-traceback er flere linjer.
- Modal beholder logs i 24 timer, så et diagram rækker aldrig længere tilbage end det.
- Forbrug tilskrives per app, og Modal materialiserer først en time, når den er slut, så den nyeste time ser lav ud, indtil den falder til ro.
Forbind Modal fra et CI-job eller et hvilket som helst andet miljø uden browser.
Forbindelse af Modal 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. - Et Modal-token-par fra Settings → Tokens: token-id (begynder med
ak-) og token-hemmelighed (begynder medas-).
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": "modal",
"workspaceId": "ws_0abc123",
"tokenId": "ak-...",
"tokenSecret": "as-..."
}'
Tokenet resolver til præcis ét Modal-workspace, så ét kald forbinder ét workspace.
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": "modal",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
En konto, der allerede er forbundet, lander i failures i stedet for accounts, 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 Modal-legitimationen på udbyderens side, som beskrevet under Afbryd nedenfor.
Afbryd
Afbrydelse stopper hver synkronisering og kontrol og sletter de legitimationsoplysninger, Polylane opbevarede. Alt, hvad Polylane satte op i Modal, fjernes også; intet efterlades.
polylane cloud disconnect <id>Værktøjer
5Operationer, agenter kan udføre i tråde.
Understøttede ressourcer
10Ressourcetyper, der vises i din infrastrukturgraf.