Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I0929 — Produkce se nasazuje z CI s tokenem omezeným na jednu aplikaci

Nasazovat produkci z CI podle stávající politiky větví repozitáře, s deploy tokenem omezeným na aplikaci, a ne na celý účet, a se souběžností, která zabrání tomu, aby se dva pushe předháněly o stejnou aplikaci.

ZRUŠENO vlna 8 · p1 · profil implementation · bezpečné paralelně

Součást fly-deployment — Image kontejneru je projekcí modelu repozitáře a jeho smoke test je jeho důkazem.

Cíl

Nasazovat produkci z CI podle stávající politiky větví repozitáře, s deploy tokenem omezeným na aplikaci, a ne na celý účet, a se souběžností, která zabrání tomu, aby se dva pushe předháněly o stejnou aplikaci.

Proč

Token platný pro celý účet v tajemství CI je klíč ke všemu, co účet vlastní, držený každým workflow, které tajemství může číst. Token s omezeným rozsahem omezí incident na jednu aplikaci a řízení souběžnosti brání tomu, aby se dvě nasazení prolnula na jednom stroji.

Aktuální stav

Neexistuje žádné workflow nasazení a nebyl vytvořen žádný token.

Cílový stav

Produkční workflow nasazuje přes totéž jádro, které používá CLI, drží jen token s omezeným rozsahem, serializuje nasazení a jeho token se instaluje, aniž by se kdy objevil v logu nebo souboru.

Rozsah

  • .github/workflows

Mimo rozsah

  • Token platný pro celý účet v CI
  • Implementace buildu kontejneru jen pro CI, oddělená od kanonické
  • Oslabení modelu tokenů proto, že nástroj nebyl dostupný

Závislosti

Co na tom čeká

Kritéria přijetí

  • Token nasazení je omezen na aplikaci, má záměrné vypršení a popisný název
  • Token se instaluje jako tajemství repozitáře, aniž by byl vypsán, vytištěn nebo zapsán do jakéhokoli souboru, nebo se místo toho poskytne přesný jednorázový příkaz, když to nelze udělat bezpečně
  • Workflow nasazuje přes stejné jádro nasazení, jaké používá CLI, bez druhé implementace buildu
  • Souběžnost je nastavena záměrně, aby dva pushe nemohly nasadit tutéž aplikaci najednou, a volba ohledně rušení je uvedena
  • Externí akce jsou připnuty a verze nástroje poskytovatele je záměrná, ne plovoucí

Validace

  • bash test/run.sh

Požadované důkazy

  • deploy_workflow
  • scoped_token
  • souběžnost

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Riziko

Zrušení probíhajícího nasazení může nechat stroj napůl aktualizovaný. Zda je zrušení bezpečné, je rozhodnutí, které se má učinit výslovně, ne výchozí hodnota k zdědění.

Zpráva o dokončení

Zrušeno 2026-10-14 na masteru e28daccd9b: jeho předmětem je token omezený na jednu aplikaci Fly; publikace image do GHCR už existuje i bez něj. Vlastník odpojil Fly.io 2026-10-12; tento repozitář nasazuje release binárky, image z GHCR a GitHub Pages (commit 9af3fa65a4 odstranil fly.toml).

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I0929.yaml. Načtěte jej zpět pomocí majordomus plan show I0929.

Prohledává názvy a popisy všech stránek, které tento web publikuje.