← Artifacts / artifacts / api
Git protokol
Artifacts poskytuje přístup přes Git ke každému repozitáři Artifacts.
Každý repozitář má standardní Git Smart HTTP remote na adrese https://<ACCOUNT_ID>.artifacts.cloudflare.net/git/<namespace>/<repo>.git.
Nahraďte <ACCOUNT_ID> zástupnou hodnotu svým ID účtu Cloudflare. Použijte přesný hostname z repozitáře remote vrácený bindingem Workers nebo REST API.
Použijte vrácený repozitář remote pomocí běžného klienta Git pro clone, fetch, pull, a push.
Ověřování
Git trasy přijímají přístupové tokeny k repozitáři ve dvou formách:
| Formát | Podrobnosti | Příklad |
|---|---|---|
Token Bearer v http.extraHeader |
Doporučeno pro místní pracovní postupy. Použijte celý řetězec tokenu vrácený řídicí rovinou a nezahrnujte přihlašovací údaje do vzdálené adresy URL. | git -c http.extraHeader="Authorization: Bearer $ARTIFACTS_TOKEN" clone "$ARTIFACTS_REMOTE" artifacts-clone |
| HTTP Basic auth ve vzdálené adrese URL | Použijte pro krátkodobé, jednorázové příkazy, kdy potřebujete samostatné vzdálené úložiště. Tajný token uveďte v poli pro heslo. | https://x:<token-secret>@<ACCOUNT_ID>.artifacts.cloudflare.net/git/<namespace>/<repo>.git |
Token format
Tokeny repozitáře se vydávají ve formátu art_v1_<40 hex>?expires=<unix_seconds>. ?expires= přípona představuje dobu platnosti tokenu jako unixové časové razítko v sekundách. Chcete-li zjistit, kdy platnost tokenu vyprší, rozeberte hodnotu za ?expires=.
Git extraHeader parametr
Gitu http.extraHeader ↗ nastavení umožňuje připojit HTTP hlavičku k požadavkům Git.
Pokud chcete použít celý řetězec tokenu vrácený API, předejte ho jako Bearer token:
git -c http.extraHeader="Authorization: Bearer $ARTIFACTS_TOKEN" clone "$ARTIFACTS_REMOTE" artifacts-cloneVzdálený repozitář HTTPS s Basic auth
U formátu URL použijte token secret v poli pro heslo. Artifacts ignoruje uživatelské jméno v Basic auth.
Tento tvar použijte pouze tehdy, když potřebujete samostatnou vzdálenou adresu URL pro krátkodobý příkaz.
export ARTIFACTS_TOKEN_SECRET="${ARTIFACTS_TOKEN%%\?expires=*}"
export ARTIFACTS_AUTH_REMOTE="https://x:${ARTIFACTS_TOKEN_SECRET}@${ARTIFACTS_REMOTE#https://}"git clone "$ARTIFACTS_AUTH_REMOTE" artifacts-clonegit push "$ARTIFACTS_AUTH_REMOTE" HEAD:mainV URL adrese použijte jakékoli neprázdné uživatelské jméno. Artifacts toto jméno přijme, ale jinak ho nepoužívá ani nezaznamenává, takže x je jen zástupná hodnota.
Podpora protokolu
Artifacts pro klonování a fetch podporuje protokol Git v1 i v2. Klienti Git si protokol vyjednají automaticky.
| Operace | Git služba | Podpora protokolu | Poznámky |
|---|---|---|---|
| Clone a fetch | git-upload-pack |
v1 a v2 | Protokol v2 podporuje ls-refs a fetch. Protokol v1 podporuje běžné postupy fetch, včetně shallow a deepen fetch. |
| Odeslat | git-receive-pack |
v1 | Odesílání používá standardní postup v1 receive-pack. |
| Odesílání přes protokol v2 | git-receive-pack |
Není podporováno | Artifacts nepodporuje receive-pack verze v2. |
| Volitelné funkce protokolu v1 | git-upload-pack |
Částečné | Některé volitelné funkce v1, jako například filter a include-tag, nejsou podporovány. |
Rozsahy tokenů
| Rozsah | Příkazy | Poznámky |
|---|---|---|
read |
git clone, git fetch, git pull |
Použijte pro přístup pouze pro čtení. |
write |
git clone, git fetch, git pull, git push |
git push upravuje repozitář a vyžaduje token se zápisem. |