Lewati ke isi

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 konten f7a20f7d
  • Arahkan demo (/var/www/staging-scola/dist) ke artefak demo terpisah di bawah release root yang tidak dibagi konten dengan production
  • Verifikasi HTTP version.json per 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

  1. Inventory (read-only): daftar semua symlink yang menunjuk path terkontaminasi; catat SHA FE/BE per tenant (HTTP + backend current).
  2. Pilih restore target (approval): default kandidat restore FE application 1ffc7160… via artefak fe-build-1ffc7160a652-rc11repro atau artefak lain yang user tetapkan jika ada backup fd3aba asli.
  3. Siapkan demo path baru: copy/link immutable fe-build-f7a20f7d-v1demo ke lokasi demo-only (mis. /var/www/scola-releases/demo/…) tanpa menyentuh isi directory production.
  4. Retarget demo symlink ke path demo-only; verifikasi demo.gcgscola.id/version.json tetap f7a20f7d.
  5. Retarget production tenant FE symlinks ke restore target; verifikasi tiap host kembali ke SHA yang disetujui.
  6. Jangan mengisi ulang directory fe-build-fd3aba… kecuali ada keputusan eksplisit mengunci/quarantine directory itu.
  7. Isolation --live + smoke public root per tenant; catat evidence JSON baru.
  8. 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-v1demo kecuali user secara eksplisit mengotorisasi keep.
  • Demo menyajikan f7a20f7d dari 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 fd3aba asli mungkin hilang; restore ke 1ffc7160-rc11repro harus 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