3.5 KiB
3.5 KiB
Task state — etap 4.6
Cel
Odwzorować istniejący łańcuch aktualizacji aplikacji jako wersjonowany workflow v2, zachowując wszystkie obecne bramki, kopie, verify, STOP i ścieżki naprawcze. To jest proponowana nazwa podetapu 4.6: docs/IMPLEMENTATION.md opisuje etap 4, ale nie numeruje jeszcze jego podetapów.
Kontekst i decyzje
- Etapy 1–3 są zakończone; etap 4 ma już zamknięty rejestr akcji uprzywilejowanych, politykę, ledger, dispatcher oraz nieaktywną domyślnie akcję
docker.imagePrune. docker.imagePrunenie należy do domyślnego workflow aktualizacji i nie może zostać do niego dodany w tym etapie.- Nowy workflow pozostaje niepodłączony do produkcyjnego drivera, loopa claimów, harmonogramu, HTTP i UI. Nie uruchamiamy VM103 ani prawdziwych poleceń Dockera.
- Istniejący łańcuch aktualizacji pozostaje źródłem zachowania do portu; nie refaktorujemy go przy pierwszym odwzorowaniu.
Plan
- Najpierw sporządzić krótką, testowalną tabelę odwzorowania obecnego łańcucha: źródłowy handler/krok, jego wejście i wynik, bramka/STOP, następny krok oraz odpowiednik node'a workflow. Czytać wyłącznie pliki obecnego łańcucha, definicje
StepName, istniejące node'y v2 i rozszerzenieprivilegedAction. - Zaprojektować minimalny, wersjonowany dokument workflow dla pojedynczego składnika aplikacji. Musi obejmować przynajmniej: obserwację/status, wybór obrazu, ocenę ryzyka i STOP, sprawdzenie kopii, backup, apply dry-run, apply, verify oraz jawne przejścia do STOP/repair/rollback zgodne z obecnym zachowaniem.
- Utrwalić dokumenty i ich zależności jako normalne wersje katalogu workflow, z pełnym snapshotem instancji. Wszystkie akcje wymagające uprawnień przechodzą przez
privilegedActioni politykę; nie dodawać pola na dowolną komendę, shell ani argumenty Docker. - Dodać wyłącznie deterministyczne testy: publikacja/utworzenie instancji, ścieżka sukcesu, każda bramka STOP,
verify→repair, nieudany drugiverify→ STOP oraz zapis właściwych attemptów i eventów. Użyć fejków executora/modelu/registry; nie wywoływać prawdziwego Dockera. - Dopiero po odebraniu statycznego odwzorowania rozważyć osobny podetap podłączenia workflow do claim loopa. Nie łączyć tego z 4.6.
Kryteria odbioru
- Każde przejście istniejącego łańcucha ma jednoznaczny odpowiednik w opublikowanym workflow i testach.
- Snapshot zachowuje dokładne wersje workflow, funkcji i polityki, a replay odtwarza tę samą pozycję oraz historię attemptów.
- STOP, backup i verify nie są omijane;
imagePrunepozostaje nieosiągalny z domyślnego workflow. - Produkcyjny driver i harmonogram zachowują dotychczasowe zachowanie.
npm run checkprzechodzi.
Ukończono
- Odczytano implementację aktywnego łańcucha kroków,
StepName, kontrakty workflow v2 oraz rozszerzenieprivilegedAction. - Zapisano testowalną tabelę odwzorowania i nierozstrzygnięte różnice semantyczne w
docs/WORKFLOW-UPDATE-MAPPING.md. - Nie utworzono node'ów workflow i nie zmieniono migracji.
Następny dokładny krok
Na podstawie docs/WORKFLOW-UPDATE-MAPPING.md zaprojektować minimalny, wersjonowany dokument workflow v2 dla pojedynczego składnika i zapisać go wyłącznie jako dokument projektowy. Musi obejmować status, wybór obrazu, ocenę ryzyka z STOP, backup check, backup, apply dry-run, apply, verify oraz jawne przejścia do STOP/repair/rollback; nie tworzyć jeszcze kodu node'ów, migracji ani połączenia z driverem.