PlanetScale
Koble til
Koble til PlanetScale fra terminalen. Send --help for flaggene PlanetScale aksepterer, pluss --no-browser for miljøer uten skjerm.
polylane cloud connect --provider planetscaleOAuth-autorisasjon, eller et tjenestetoken fra organisasjonsinnstillingene dine i PlanetScale.
PlanetScale kobles til via OAuth: klikk på Connect with PlanetScale, autoriser lesetilgang på PlanetScale, og du omdirigeres tilbake med synkroniseringen allerede i gang. Hvis PlanetScale-kontoen din har tilgang til mer enn én organisasjon, velger du den som skal kobles til når du blir spurt. Tokener krypteres før de lagres, og agenten ser dem aldri.
Alternativ med tjenestetoken
Hvis du foretrekker en langlivet legitimasjon, kobler du til med et tjenestetoken i stedet:
- Åpne PlanetScale, gå til organisasjonens Settings → Service tokens.
- Klikk på Create service token og kopier både token ID og token.
- Gi tokenet lesetilgang til organisasjonen og databasene dens (f.eks.
read_databases,read_branches). - Lim token-ID-en og tokenet inn i Polylane. Hvis tokenet kan nå mer enn én organisasjon, oppgir du også navnet på organisasjonen som skal kobles til.
- Polylane validerer tokenet og begynner å synkronisere.
Hver tilkobling dekker én enkelt PlanetScale-organisasjon. Polylane oppdager databasene dens og branchene deres, inkludert tilstand, plan, region og skjemaaktivitet.
Feilsøking
Feilen «Invalid service token»
- Både token-ID-en og tokenet kreves; tokenet alene kan ikke autentisere.
- Sjekk at tokenet ikke er slettet i PlanetScales innstillinger.
- Sørg for at tokenet har lesetilgang til organisasjonen.
Feilen «Multiple PlanetScale organizations are reachable»
- Legitimasjonen kan nå mer enn én organisasjon, så navngi den som skal kobles til.
- Kobler du til via OAuth i konsollen, velger du organisasjonen når du blir spurt etter autorisering.
- Kobler du til via API-et, setter du feltet
organizationtil organisasjonsnavnet.
Manglende ressurser
- PlanetScale kan bruke noen minutter på å synkronisere alt.
- Utløs en manuell Sync fra kontooverskriften for å oppdatere.
Frakobling
Koble kontoen fra i Polylane, og slett så tjenestetokenet fra organisasjonsinnstillingene dine i PlanetScale.
Koble til PlanetScale fra en CI-jobb eller et annet miljø uten nettleser.
Å koble til PlanetScale trenger ingen nettleser: det samme endepunktet konsollen kaller, passer i en CI-jobb. Én autentisert POST oppretter tilkoblingen og starter den første synkroniseringen.
Forutsetninger
- En Polylane-API-nøkkel med omfangene
cloud_accounts:writeogcloud_accounts:read. Se API-nøkler og OAuth. - Workspace-ID-en din, som starter med
ws_. Les den fraGET /v1/workspacesmed den samme nøkkelen. - Et PlanetScale-tjenestetokenpar fra organisasjonens Settings → Service tokens, med lesetilgang til organisasjonen (f.eks.
read_databases,read_branches). Konsollens OAuth-flyt trenger en nettleser; tjenestetokener gjør det ikke.
Opprett tilkoblingen
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"
}'
Ett kall kobler til én PlanetScale-organisasjon.
organizationkan bare utelates når tokenet når nøyaktig én organisasjon; ellers feiler kallet med en400som lister navnene på organisasjonene som kan nås.
Svaret lister hva som ble koblet til, med den første synkroniseringen allerede i gang. Trimmet til de to feltene resten av flyten leser:
{
"success": true,
"result": {
"provider": "planetscale",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
En konto som allerede er tilkoblet, lander i failures i stedet for accounts, så å gjenta kallet dupliserer aldri en tilkobling.
Vent på den første synkroniseringen
Spør etter hver returnert konto på id-en dens til status når ready (new ved registrering, syncing mens ressurser strømmer inn):
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
Gi løkken en frist slik at en feilet tilkobling får jobben til å feile i stedet for å henge. Når kontoen er ready, er ressursene dens i topologien, og Polylane har startet sin første sjekk.
Koble fra via API-et
Å slette tilkoblingen stopper hver synkronisering og sjekk og sletter legitimasjonen Polylane hadde. Kallet trenger omfanget cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Trekk så tilbake PlanetScale-legitimasjonen på leverandørsiden, som beskrevet under Koble fra nedenfor.
Koble fra
Frakobling stopper hver synkronisering og sjekk og sletter legitimasjonen Polylane hadde. Polylane fjerner det API-et til PlanetScale lar den fjerne. Følgende blir stående til du fjerner det selv:
- OAuth grant
polylane cloud disconnect <id>Verktøy
2Operasjoner agenter kan utføre i tråder.
Støttede ressurser
2Ressurstyper som vises i infrastrukturgrafen din.