Plan: V1F-007 — Restore production FE identity & separate demo docroot¶
Status: REMEDIATED (Option A) — 2026-08-26T11:28:49Z
Evidence: execution/V1-current-tip-evidence/V1F-007-restore-after-20260826T112849Z.json
Not CERTIFIED. Residual: V1F-008, contaminated fe-build-fd3aba… dir retained, FE/BE skew 1ffc7160 vs 3d7a213d accepted for this restore.
Goal¶
Mengembalikan FE production ke artefak immutable yang sah (pre-bleed), memisahkan docroot demo dari tree production, dan menutup celah immutability yang memungkinkan overwrite in-place.
Scope in¶
- Rebind symlink FE production tenants yang saat ini resolve ke
fe-build-fd3aba…berisi kontenf7a20f7d - Arahkan demo (
/var/www/staging-scola/dist) ke artefak demo terpisah di bawah release root yang tidak dibagi konten dengan production - Verifikasi HTTP
version.jsonper tenant + isolation--live - Perkuat dokumentasi/runbook: larangan mutate isi directory release yang sudah di-symlink production
Scope out¶
- Production BE upgrade/promote
- Klaim V1 CERTIFIED / QG-18 sign-off
- Perubahan application source FE/BE (kecuali tooling isolation check — lihat V1F-008)
Steps¶
- Inventory (read-only): daftar semua symlink yang menunjuk path terkontaminasi; catat SHA FE/BE per tenant (HTTP + backend current).
- Pilih restore target (approval): default kandidat restore FE application
1ffc7160…via artefakfe-build-1ffc7160a652-rc11reproatau artefak lain yang user tetapkan jika ada backupfd3abaasli. - Siapkan demo path baru: copy/link immutable
fe-build-f7a20f7d-v1demoke lokasi demo-only (mis./var/www/scola-releases/demo/…) tanpa menyentuh isi directory production. - Retarget demo symlink ke path demo-only; verifikasi
demo.gcgscola.id/version.jsontetapf7a20f7d. - Retarget production tenant FE symlinks ke restore target; verifikasi tiap host kembali ke SHA yang disetujui.
- Jangan mengisi ulang directory
fe-build-fd3aba…kecuali ada keputusan eksplisit mengunci/quarantine directory itu. - Isolation
--live+ smoke public root per tenant; catat evidence JSON baru. - Update TF manifest / evidence index: QG-15 disposition, V1F-007 status.
Acceptance criteria¶
- Production hosts yang terdampak tidak lagi menyajikan
build_run_id=fe-build-f7a20f7d-v1demokecuali user secara eksplisit mengotorisasi keep. - Demo menyajikan
f7a20f7ddari path yang tidak di-share byte-identical dengan production tenants. - Prestate/backup path tidak lagi menunjuk target yang sama dengan live mutable overwrite.
- Evidence run baru mencatat before/after SHA per tenant.
Risks¶
- FE/BE skew sementara jika restore FE ke build yang tidak cocok dengan BE
3d7a213d… - Downtime singkat saat symlink swap
- Artefak
fd3abaasli mungkin hilang; restore ke1ffc7160-rc11reproharus diverifikasi kesetaraan fungsional
Estimated effort¶
2–4 jam operasional + 1 jam evidence/docs (setelah approval).
Dependencies¶
- Explicit user approval (lihat approval prompt V1F-007)
- Akses sudo/symlink
/var/www - Keputusan restore target SHA