e6e9e11b18
- Added `min-release-age=1` to backend/.npmrc to require packages to be at least 1 day old - GitHub Actions backend jobs already use `npm ci` in backend/ directory, automatically enforcing the policy - Updated README.md with supply-chain protection policy and operational procedures BREAKING CHANGE: npm install/npm ci will now fail for packages younger than 1 day unless policy is temporarily overridden
2.4 KiB
2.4 KiB
Plan: Konfigurera minimiålder för paketrelease
Mål
Införa en "cooldown" för npm-paket så att mycket nyligen publicerade versioner blockeras vid installation i projektet.
Nuläge (verifierat)
- Projektet använder npm (lockfile finns i
backend/package-lock.jsonoch.kilo/package-lock.json). - Backend installeras i CI med
npm cii.github/workflows/test.yml. - Ingen befintlig
.npmrci repo-roten eller ibackend/. - Ingen Renovate/Dependabot-konfiguration hittades i repot.
Föreslagen implementation
-
Sätt projektpolicy i backend
- Skapa
backend/.npmrcmed:min-release-age=1
- Motivering: backend är den körda Node-applikationen och har tydlig CI-kedja med
npm ci.
- Skapa
-
(Valfritt) Sätt policy för Kilo-verktygsmappen
- Om
.kilo/installeras/uppdateras aktivt i detta repo, skapa även.kilo/.npmrcmed samma värde. - Om
.kilo/är sekundär och inte del av normal drift kan detta utelämnas.
- Om
-
CI-effekt (ingen workflow-ändring krävs)
npm cii GitHub Actions kommer automatiskt respekterabackend/.npmrc.- Ingen ändring av
.github/workflows/test.ymlbehövs för grundfunktionen.
-
Dokumentera kort i befintlig drift-/utvecklingsdokumentation
- Lägg 2-4 rader där dependency-policy redan beskrivs (om sådan sektion finns).
- Innehåll: syfte, värde (
1dag), och hur man tillfälligt hanterar blockerade uppgraderingar.
-
Verifiering
- Lokalt i
backend/:npm config get min-release-age(ska visa1med projektconfig aktiv)npm ci(ska fungera normalt)
- CI:
- Bekräfta att befintligt workflow passerar utan regressionsfel.
- Lokalt i
Risker och hantering
- Risk: Legitima hotfix-versioner blir tillfälligt blockerade (<24h gamla).
- Hantering: vänta in cooldown eller använd tillfällig manuell policyjustering i kontrollerad incident.
- Risk: Inkonsistent policy om flera npm-delprojekt hanteras olika.
- Hantering: besluta explicit om
.kilo/ska omfattas.
- Hantering: besluta explicit om
Rekommenderade standardval
- Minimiålder: 1 dag (
min-release-age=1) nu. - Scope: backend först; utöka till
.kilo/endast om den mappen används aktivt i teamets vardagsflöde.
Acceptanskriterier
backend/.npmrcfinns medmin-release-age=1.npm cii backend fungerar lokalt.- CI-jobben som kör backend-installation fortsätter passera.
- (Om valt)
.kilo/.npmrcföljer samma policy.