tasks(restore-es-indices-books-vds): closed — snapshot restore + 2 preventive controls
snapshot restore из kreknin:daily-2026-05-25 за 46 сек (epz=820604, products=105922, artmone=2621, counts == source). RCA: 5 индексов (включая system .tasks) удалены через ES API DELETE _all за 1 сек на 2026-05-26 10:21 UTC — 1ч 11мин после создания bookva-es в cutover-prep. Каноничный endpoint elasticsearch.kzntsv.site попал под команду которая предназначалась bookva-es:9200 (internal-only, без traefik route). Caller identity unrecoverable: ES audit = X-Pack платный, traefik accessLog был выключен, Portainer CE без audit. Preventive controls applied + verified: 1. ES env action.destructive_requires_name=true (stack 33) — DELETE _all и wildcard теперь 400 BadRequest; by-name DELETE работает (нужно для reindex). Pattern удаления что случился физически невозможен. 2. Traefik JSON accessLog в /letsencrypt/access.log — будущие DELETE оставят forensic след с IP/user/method/path. Wiki concept: .wiki/concepts/es-destructive-delete-incident-2026-05-26.md с recovery runbook + preventive controls + cross-refs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
Append-only log of wiki operations (ingests, promotions, lints, migrations).
|
||||
|
||||
## [2026-05-28] ingest | concepts/es-destructive-delete-incident-2026-05-26 — RCA для удаления 3 user-индексов на canonical ES `elasticsearch.kzntsv.site` (books VDS stack 33) во время cutover-prep. Caller identity unrecoverable (audit log = X-Pack платный, traefik accessLog был выключен). 2 preventive controls applied + verified: ES env `action.destructive_requires_name=true` + traefik JSON accessLog. Источник: `.tasks/restore-elasticsearch-indices-books-vds.md` § Closure note.
|
||||
|
||||
## 2026-05-21
|
||||
|
||||
- bootstrap: empty wiki skeleton (CLAUDE.md, index.md, log.md, overview.md, raw/README.md) committed
|
||||
|
||||
Reference in New Issue
Block a user