feat(stack): converter docker run→compose (port REA modul 1) — 19 golden vektor + CLI tia-love convert
CI / test (push) Successful in 24s
CI / test (push) Successful in 24s
This commit is contained in:
1 parent
f555f27467
commit
b84afdb494
11 files changed
+1519
-159
No files matched your search
+13
-5
@@ -242,7 +242,7 @@ docker run -d --name web -p 8080:80 -v ./html:/usr/share/nginx/html:ro -e TZ=Asi
|
||||
```
|
||||
```yaml
|
||||
services:
|
||||
web:
|
||||
nginx:
|
||||
container_name: web
|
||||
ports:
|
||||
- 8080:80
|
||||
@@ -544,6 +544,9 @@ networks:
|
||||
| 7 | `-d` dan `--detach` sama-sama diabaikan senyap | Referensi inkonsisten (`-d` senyap, `--detach` komentar) |
|
||||
| 8 | Tidak ada merge stdin; "tambah ke stack" ditangani layer stack (baca-tulis YAML compose) | Arsitektur tia: converter tetap murni string→string agar bisa dipakai TUI & CLI dengan hasil identik |
|
||||
| 9 | Pesan error dibungkus i18n (F-023) | Prinsip tia; isi/arti error tetap sama |
|
||||
| 10 | Image tidak ditemukan → **error jelas** (`docker run: image tidak ditemukan`) | Referensi menghasilkan service bernama `!!!invalid!!!` — error tegas lebih jujur untuk CLI & TUI |
|
||||
| 11 | `--health-retries` ditulis sebagai integer | Skema compose mengharapkan int; referensi menulisnya sebagai string |
|
||||
| 12 | Multi-perintah (beberapa `docker run` dalam satu input) belum didukung — menyusul | V16 ditahan sampai dukungan multi-command masuk |
|
||||
|
||||
## 10. Rencana Porting Go
|
||||
|
||||
@@ -572,7 +575,12 @@ Keputusan desain:
|
||||
|
||||
| Item | Status |
|
||||
|---|---|
|
||||
| Test vectors tertulis | ✅ (V1–V20) |
|
||||
| Golden test di Go | ⬜ Fase 3 |
|
||||
| Differential vs composerize (Node) | ⬜ Fase 3 — perlu `node`/`npm` di CI |
|
||||
| Laporan paritas | ⬜ Fase 3 |
|
||||
| Test vectors tertulis | ✅ (V1–V20; V16 menunggu multi-command) |
|
||||
| Golden test di Go | ✅ **19 vektor hijau** — `internal/stack/converter_test.go` |
|
||||
| Differential vs composerize (Node) | ⬜ lanjutan Fase 3 — perlu `node`/`npm` di CI |
|
||||
| Laporan paritas | ⬜ lanjutan Fase 3 |
|
||||
|
||||
Catatan implementasi (ditemukan saat porting, 2026-10-16):
|
||||
- V2 di dokumen ini salah tulis (service `web:` → seharusnya `nginx:`, sebab nama service dari image) — sudah diperbaiki; perilaku referensi mengikuti `getServiceName(image)`.
|
||||
- `--mount ...,readonly` → `readonly: true` (diff #6) terbukti perlu di jalur MapArray.
|
||||
- `res.Output` = teks siap cetak (komentar warning + YAML) — kontrak dipakai CLI `tia-love convert`.
|
||||
Reference in new issue
Block a user