INTEGRITY Dokumentace

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-clone

Vzdá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-clone
git push "$ARTIFACTS_AUTH_REMOTE" HEAD:main

V 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.