PlanetScale
Forbind
Forbind PlanetScale fra terminalen. Angiv --help for de flag, PlanetScale accepterer, plus --no-browser til headless-miljøer.
polylane cloud connect --provider planetscaleOAuth-autorisation eller et servicetoken fra din PlanetScale-organisations indstillinger.
PlanetScale forbindes via OAuth: klik på Connect with PlanetScale, godkend læseadgang hos PlanetScale, og du omdirigeres tilbage med synkroniseringen allerede i gang. Hvis din PlanetScale-konto kan tilgå mere end én organisation, vælger du den, der skal forbindes, når du bliver spurgt. Tokens krypteres, før de gemmes, og agenten ser dem aldrig.
Alternativ med servicetoken
Foretrækker du en langlivet legitimation, så forbind i stedet med et servicetoken:
- Åbn PlanetScale, og gå til din organisations Settings → Service tokens.
- Klik på Create service token, og kopiér både token ID og token.
- Giv tokenet læseadgang til organisationen og dens databaser (f.eks.
read_databases,read_branches). - Indsæt token-id og token i Polylane. Hvis tokenet kan nå mere end én organisation, så angiv også navnet på den organisation, der skal forbindes.
- Polylane validerer tokenet og begynder at synkronisere.
Hver forbindelse dækker en enkelt PlanetScale-organisation. Polylane opdager dens databaser og deres branches, inklusive tilstand, plan, region og skemaaktivitet.
Fejlfinding
Fejlen "Invalid service token"
- Både token-id og token er påkrævet; tokenet alene kan ikke autentificere.
- Kontrollér, at tokenet ikke er blevet slettet i PlanetScales indstillinger.
- Sørg for, at tokenet har læseadgang til organisationen.
Fejlen "Multiple PlanetScale organizations are reachable"
- Legitimationsoplysningerne kan nå mere end én organisation, så navngiv den, der skal forbindes.
- Forbinder du via OAuth i konsollen, vælger du organisationen, når du bliver spurgt efter godkendelsen.
- Forbinder du via API'et, sætter du feltet
organizationtil organisationens navn.
Manglende ressourcer
- PlanetScale kan bruge et par minutter på at synkronisere alt.
- Udløs en manuel Sync fra kontohovedet for at opdatere.
Afbrydelse
Afbryd kontoen i Polylane, og slet derefter servicetokenet fra din PlanetScale-organisations indstillinger.
Forbind PlanetScale fra et CI-job eller et hvilket som helst andet miljø uden browser.
Forbindelse af PlanetScale 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 PlanetScale-servicetoken-par fra din organisations Settings → Service tokens, med læseadgang til organisationen (f.eks.
read_databases,read_branches). Konsollens OAuth-flow kræver en browser; servicetokens gør ikke.
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": "planetscale",
"workspaceId": "ws_0abc123",
"tokenId": "<service-token-id>",
"token": "<service-token>",
"organization": "my-org"
}'
Ét kald forbinder én PlanetScale-organisation.
organizationkan kun udelades, når tokenet når præcis én organisation; ellers fejler kaldet med en400, der lister navnene på de organisationer, der kan nås.
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": "planetscale",
"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 PlanetScale-legitimationen på udbyderens side, som beskrevet under Afbryd nedenfor.
Afbryd
Afbrydelse stopper hver synkronisering og kontrol og sletter de legitimationsoplysninger, Polylane opbevarede. Polylane fjerner det, PlanetScales API lader den fjerne. Følgende bliver tilbage, indtil du selv fjerner det:
- OAuth grant
polylane cloud disconnect <id>Værktøjer
2Operationer, agenter kan udføre i tråde.
Understøttede ressourcer
2Ressourcetyper, der vises i din infrastrukturgraf.