Dokumen ini adalah paket readiness setelah cutover gate pilot tenant DB hijau. Dokumen ini bukan approval production cutover dan tidak menjalankan perubahan production.
Kembali ke Knowledge Base ยท Buka Runbook HA/MTDB
kliniktech tetap berada di shared DB apps.ion.net.id. Production cutover hanya boleh berjalan setelah approval eksplisit, window maintenance, rollback owner, dan monitoring owner ditetapkan.
| Item | Status | Catatan |
|---|---|---|
| Tenant pilot | demo-kliniktech | Tenant ID 8, tipe subscriber/demo-pilot. |
| Tenant DB | kt_tenant_pilot_db_only | Status metadata schema_migrated, meta pilot true. |
| Pilot health | ok=true | Flag read tenant DB aktif, metadata ada, schema migrated, koneksi OK, demo flow complete. |
| Reconciliation | severity=ok | warning_total=0, error_total=0, blocking_extra_key_total=0. |
| Write-plan | deferred_total=0 | operation_total=9, ready_total=9; schema ticket_comments dan ticket_attachments tersedia. |
| Cutover gate pilot | pilot_gate_green=true | blocks=[], environment_scope=pilot_only. |
| Production cutover | production_cutover_allowed=false | production_approval_status=required_not_granted. |
Semua item berikut wajib terisi sebelum production cutover tenant non-master mana pun.
| Approval | Wajib Diisi | Status |
|---|---|---|
| Tenant target production | Slug tenant non-master, bukan kliniktech. | Belum diberikan. |
| Approver bisnis | Nama, role, waktu approve, dan scope tenant. | Belum diberikan. |
| Approver teknis | Owner backend/DB yang memegang go/no-go teknis. | Belum diberikan. |
| Window maintenance | Tanggal, jam mulai, durasi, zona waktu, dan rencana komunikasi user. | Belum diberikan. |
| Rollback owner | Nama operator yang berwenang menjalankan rollback. | Belum diberikan. |
| Monitoring owner | Nama operator yang memantau dashboard/log selama cutover. | Belum diberikan. |
GET /api/platform/tenants/{tenant}/provisioning/tenant-db/readiness-snapshot, atau command read-only php artisan tenant-db:readiness demo-kliniktech.evidence.fingerprint dan evidence.version dari snapshot sebagai ID bukti approval. Untuk CLI cepat, ambil fingerprint saja dengan php artisan tenant-db:readiness demo-kliniktech --fingerprint-only, status singkat dengan --status-only, summary dengan --summary-only, atau semua command helper dengan --commands-only; snapshot JSON juga menyediakan evidence.fingerprint_command, evidence.status_command, evidence.summary_command, dan evidence.commands_command.GET /api/platform/tenants/{tenant}/provisioning/tenant-db/readiness-snapshot/verify?fingerprint={sha256}, command read-only php artisan tenant-db:readiness-verify demo-kliniktech {fingerprint}, atau evidence.verify_command sebelum approval production dibahas. Untuk status singkat, gunakan --status-only atau evidence.verify_status_command; untuk output summary, gunakan --summary-only atau evidence.verify_summary_command; untuk decision singkat, gunakan --decision-only atau evidence.decision_command; untuk instruksi operator singkat, gunakan --operator-action-only atau evidence.operator_action_command.pilot-health, reconciliation, write-plan, dan cutover-gate untuk tenant target.production_cutover_allowed=false sampai approval eksplisit tercatat.php artisan tenant-db:approve-production demo-kliniktech {fingerprint} --approver="..." --window="..." --rollback-owner="..." --monitoring-owner="..." --reason="...". UI wajib frasa APPROVE TENANT DB PRODUCTION.approval_id yang dikembalikan.php artisan tenant-db:rollback-production demo-kliniktech --approval-id={approval_id} --dry-run.php artisan tenant-db:cutover-production demo-kliniktech {fingerprint} --approval-id={approval_id} --confirm-production-cutover. UI wajib frasa CUTOVER TENANT DB PRODUCTION.ROLLBACK TENANT DB PRODUCTION atau command php artisan tenant-db:rollback-production demo-kliniktech --approval-id={approval_id} --confirm-rollback.| Hasil | Arti | Tindakan Operator |
|---|---|---|
decision=evidence_verified_pilot_ready | Evidence yang dicatat cocok dengan snapshot terbaru untuk pilot. Ini masih bukan approval production. | Simpan hasil verify, lanjutkan review approval checklist. Jangan cutover production. |
decision=evidence_mismatch | Evidence yang dicatat tidak sama dengan readiness snapshot terbaru. Kondisi readiness sudah berubah atau fingerprint salah. | Stop pembahasan approval, ambil snapshot baru, ulangi review dari awal. |
decision=invalid_fingerprint | Format bukan SHA-256 hex 64 karakter, sehingga bukti tidak bisa diverifikasi. | Minta fingerprint dari snapshot resmi, jangan memakai nilai manual yang tidak valid. |
decision=evidence_matched_but_blocked | Fingerprint cocok, tetapi readiness masih blocked seperti pilot_gate_green=false atau ada write operation deferred. | Selesaikan block terlebih dahulu, lalu ambil dan verifikasi snapshot baru. |
decision=master_shared_db_not_applicable | Tenant master kliniktech tetap di shared DB dan bukan kandidat cutover tenant DB. | No-go permanen untuk cutover tenant DB master. Gunakan tenant non-master untuk readiness. |
| Area | Indikator | Ambang Stop/Rollback |
|---|---|---|
| Login/API | HTTP 5xx/401/403 spike, latency p95. | Error meningkat beruntun lebih dari 5 menit. |
| Customers | List/detail/create/update pelanggan. | Read/write gagal pada tenant target. |
| Invoices | List/detail/payment status/mark paid. | Status invoice berbeda antara source dan target. |
| Tickets | Create/update/status/comment/attachment. | Komentar/lampiran gagal tersimpan atau hilang dari detail. |
| Queue/Scheduler | Queue failed jobs, scheduler lag. | Failed jobs kritikal bertambah setelah cutover. |
| Database | Tenant DB connection, slow query, deadlock. | Koneksi tenant DB tidak stabil atau deadlock berulang. |
demo-kliniktech. Production cutover masih No-go sampai approval dan window maintenance lengkap.