# 4SO Enterprise WordPress — Comprehensive System Documentation & Operator Manual
# مستندات جامع سیستم، معماری، راهنمای نصب، کاربری پنل و عیب‌یابی کلاستر ۴SO

---

## فهرست مطالب / Table of Contents

1. [فصل اول: معماری و توپولوژی کلاستر (Architecture & Cluster Topology)](#1-معماری-و-توپولوژی-کلاستر-architecture--cluster-topology)
   - [راهنمای جامع معماری و مقیاس‌پذیری گام‌به‌گام کلاستر از ۳ تا ۲۰ نود](#راهنمای-جامع-معماری-و-مقیاس‌پذیری-گام‌به‌گام-کلاستر-از-۳-تا-۲۰-نود-step-by-step-cluster-scaling-3-to-20-nodes)
2. [فصل دوم: راهنمای نصب و راه‌اندازی با اتوپایلوت (Installation & Autopilot Deployment)](#2-راهنمای-نصب-و-راه‌اندازی-با-اتوپایلوت-installation--autopilot-deployment)
3. [فصل سوم: راهنمای کاربری و پنل مدیریت (Panel Operator Manual & User Guide)](#3-راهنمای-کاربری-و-پنل-مدیریت-panel-operator-manual--user-guide)
4. [فصل چهارم: عیب‌یابی، سناریوهای خرابی و بازیابی فاجعه (Troubleshooting & Disaster Recovery)](#4-عیب‌یابی-سناریوهای-خرابی-و-بازیابی-فاجعه-troubleshooting--disaster-recovery)
5. [فصل پنجم: آزمون‌های بار سنگین، بنچ‌مارک و آشوب (High-Load Benchmark & Chaos Testing)](#5-آزمون‌های-بار-سنگین-بنچ‌مارک-و-آشوب-high-load-benchmark--chaos-testing)

---

## 1. معماری و توپولوژی کلاستر (Architecture & Cluster Topology)

### FA: معماری کلان سیستم
سامانه **4SO Enterprise WordPress** یک پلتفرم توزیع‌شده سطح سازمانی (Enterprise-Grade) و ابر-محلی (Cloud-Native) برای میزبانی با کارایی و دسترس‌پذیری بسیار بالا (HA) از سایت‌های وردپرس است. این سامانه بر روی یک کلاستر ۷ نودی فیزیکی/مجازی مستقر می‌شود و وظایف به شکل کاملاً ایزوله تفکیک شده‌اند:

```mermaid
flowchart TD
    subgraph EdgeLayer["لایه لبه و ورودی (Edge & Ingress Layer)"]
        VIP["IP شناور (kube-vip: 10.10.10.100)"] --> Envoy["Envoy Gateway API"]
        Envoy --> WAF["Coraza WAF & Rate Limiting"]
    end

    subgraph ControlPlane["لایه کنترل و هماهنگ‌ساز (Control Plane: 3 Nodes)"]
        N1["vm-med-201-01 (185.36.231.54)"]
        N2["vm-med-201-02 (185.36.231.55)"]
        N3["vm-med-201-03 (185.36.231.56)"]
        RKE2["RKE2 Kubernetes Engine + Cilium CNI"]
        APPLIANCE["4SO Control API (:8080) & State Engine"]
    end

    subgraph DataStorage["لایه داده و ذخیره‌سازی توزیع‌شده (Data & Storage)"]
        PXC["Percona XtraDB Cluster (MySQL Galera Sync HA)"]
        VALKEY["Valkey Sentinel Cluster (Redis Compatible Cache)"]
        SEAWEED["SeaweedFS (S3 Compatible Object Storage & RWX)"]
        LVM["OpenEBS LVM LocalPV (/dev/sdb)"]
    end

    subgraph WorkloadLayer["لایه پردازش و کانتینرهای وردپرس (Workload Nodes)"]
        N4["vm-med-201-04 (185.36.231.57)"]
        N5["vm-med-201-05 (185.36.231.58)"]
        N6["vm-med-201-06 (185.36.231.59)"]
        N7["vm-med-201-07 (185.36.231.60)"]
        WPPODS["WordPress PHP-FPM Pods (Autoscaled via KEDA 2-10 Replicas)"]
    end

    WAF --> WPPODS
    WPPODS --> PXC
    WPPODS --> VALKEY
    WPPODS --> SEAWEED
    APPLIANCE --> N1 & N2 & N3 & N4 & N5 & N6 & N7
```

#### جدول تخصیص نودهای کلاستر:
| نام نود (Node Name) | آدرس مدیریت (Public IP) | آدرس کلاستر (Internal IP) | نقش‌ها (Roles) | دیسک داده (Data Disk) |
|---|---|---|---|---|
| **vm-med-201-01** | `185.36.231.54` | `10.10.10.54` | `control-plane`, `worker`, `data` | `/dev/sdb` (LVM) |
| **vm-med-201-02** | `185.36.231.55` | `10.10.10.55` | `control-plane`, `worker`, `data` | `/dev/sdb` (LVM) |
| **vm-med-201-03** | `185.36.231.56` | `10.10.10.56` | `control-plane`, `worker`, `data` | `/dev/sdb` (LVM) |
| **vm-med-201-04** | `185.36.231.57` | `10.10.10.57` | `worker`, `data` | `/dev/sdb` (LVM) |
| **vm-med-201-05** | `185.36.231.58` | `10.10.10.58` | `worker` | — |
| **vm-med-201-06** | `185.36.231.59` | `10.10.10.59` | `worker` | — |
| **vm-med-201-07** | `185.36.231.60` | `10.10.10.60` | `worker` | — |

---

### راهنمای جامع معماری و مقیاس‌پذیری گام‌به‌گام کلاستر از ۳ تا ۲۰ نود (Step-by-Step Cluster Scaling: 3 to 20 Nodes)

معماری پلتفرم ۴SO بر پایه اصل **همگرایی تدریجی و تفکیک لایه‌ای در مقیاس** طراحی شده است. از حداقل ۳ سرور برای محیط‌های با افزونگی کامل (HA) آغاز شده و با افزایش هر نود تا ۲۰ سرور، رفتار سیستم، توزیع نقش‌ها و ظرفیت‌های ذخیره‌سازی و پردازش به شکل مهندسی‌شده و خودکار ارتقا می‌یابد:

#### ۱. راه‌اندازی با حداقل ۳ نود (حالت پایه T3 - Minimum HA Baseline)
* **ترکیب سرورها:** هر ۳ سرور دارای هر ۳ نقش همگرا هستند: `control-plane, worker, data`.
* **حد نصاب کنترلی (Raft / etcd Quorum):** دقیقاً ۳ عضو رأی‌دهنده. اکثریت لازم: ۲ از ۳. تحمل خرابی: ۱ سرور همزمان بدون قطعی.
* **پایگاه داده (PXC):** کلاستر Galera سه نودی همگام (Synchronous 3-Node PXC). هر سه نود دارای کپی داده کامل روی دیسک داده (OpenEBS LocalPV).
* **کش و نشست‌ها (Valkey):** استخر سه نودی Valkey همراه با ۳ نگهبان (Sentinel) جهت جابجایی خودکار لیدر (Leader Failover) در کمتر از ۱ ثانیه.
* **ذخیره‌سازی فایل‌ها (SeaweedFS):** ۳ سرور متادیتا و حجم فایل با الگوی کپی `001` (دو کپی مستقل) یا `000` محلی.
* **پردازش وردپرس (PHP-FPM):** پادهای وردپرس به همراه لایه ورودی روی همین ۳ سرور توزیع می‌شوند.

---

#### ۲. تغییرات و وقایع سیستم با اضافه شدن هر نود از ۴ تا ۲۰:

* **نود ۴ (ورود به Tier T4 - تفکیک پردازش کاری):**
  * **نقش نود:** `worker, data` (گره کاری و دیسک داده).
  * **تغییرات سیستم:** تعداد اعضای کنترلی etcd همچنان ۳ عضو باقی می‌ماند (برای جلوگیری از تعداد زوج و تقسیم آرا). پادهای پردازشی سنگین وردپرس و کش محلی از روی اعضای کنترلی تخلیه شده و به نود ۴ منتقل می‌شوند. حجم ذخیره‌سازی داده به ۴ دیسک توسعه می‌یابد.

* **نود ۵ (ارتقا به Tier T5 - ارتقای کوئوروم به ۵ عضو):**
  * **نقش نود:** `control-plane, worker, data` (عضو رأی‌دهنده پنجم).
  * **تغییرات سیستم:** اعضای رأی‌دهنده کنترل‌پلین از ۳ به ۵ عضو ارتقا می‌یابد. حد نصاب جدید: ۳ از ۵. تحمل خرابی افزایش می‌یابد: کلاستر می‌تواند **خرابی کامل همزمان ۲ سرور فیزیکی** را بدون توقف سرویس تحمل کند. رپلیکاهای PXC و سنتینل‌های کش به ۵ کپی ارتقا می‌یابند.

* **نود ۶ (توسعه حجم ذخیره‌سازی و پهنای باند کش):**
  * **نقش نود:** `worker, data`.
  * **تغییرات سیستم:** نودهای ۱ تا ۵ لایه کنترلی و دیتابیس را میزبانی می‌کنند؛ نود ۶ به عنوان سرور دیسک SeaweedFS Volume و هاست پادهای ترافیک اضافه می‌شود. ضریب تکثیر ذخیره‌سازی به `002` (۳ نسخه روی سرورهای مجزا) ارتقا می‌یابد.

* **نود ۷ (کلاستر استاندارد عملیاتی T5):**
  * **نقش نود:** `worker` یا `worker, data`.
  * **تغییرات سیستم:** ۵ نود کنترل‌پلین + ۲ نود ورکر اختصاصی. جداسازی کامل وظایف: هیچ پاد سنگین کاربری روی لیدر etcd مستقر نمی‌شود و ترافیک وردپرس با توزیع Anti-Affinity پخش می‌شود.

* **نود ۸ (استخر اختصاصی دیتابیس خواندنی - PXC Read Replica):**
  * **نقش نود:** `worker, data` با برچسب دیتابیس خواندنی.
  * **تغییرات سیستم:** قابلیت `ReadReplicas` فعال می‌شود. کوئری‌های سنگین جستجو و گزارش‌گیری ووکامرس از لیدر اصلی جدا شده و به رپلیکای غیرهمگام روی نود ۸ هدایت می‌شوند.

* **نود ۹ (دروازه اختصاصی ذخیره‌سازی و S3 Gateway):**
  * **نقش نود:** `worker, data`.
  * **تغییرات سیستم:** بار پردازشی آپلود مدیا، تبدیل تصاویر و باکت‌های S3 به نود ۹ منتقل می‌شود. سرورهای دیگر از بار فایلی رها می‌شوند.

* **نود ۱۰ (پادهای وردپرس با بار کاری سنگین سازمانی):**
  * **نقش نود:** `worker` محض.
  * **تغییرات سیستم:** برای سایت‌های سازمانی پربازدید با همزمانی بالا، پادهای PHP-FPM به نود ۱۰ هدایت می‌شوند. مقیاس‌پذیری افقی KEDA به حداکثر ۲۰ رپلیکا در سایت گسترش می‌یابد.

* **نود ۱۱ (جداسازی لایه لبه و ورودی اینترنت - Edge Ingress DMZ):**
  * **نقش نود:** `worker` با برچسب `edge`.
  * **تغییرات سیستم:** Envoy Gateway، Coraza WAF و گواهی‌های SSL اختصاصاً روی نود ۱۱ و یک نود همتا تثبیت می‌شوند تا ترافیک خام اینترنت پیش از ورود به کلاستر در لایه لبه ایزوله و پاکسازی شود.

* **نود ۱۲ (سرور آماده‌به‌کار زاپاس - Hot Spare):**
  * **نقش نود:** `worker` (یا Hot Spare).
  * **تغییرات سیستم:** به صورت آماده در کلاستر جوین می‌شود. در صورت خرابی هر یک از ۵ سرور اصلی، فرآیند `replace-dead-voter` بدون نیاز به نصب یا مداخله دستی، کمتر از ۲ دقیقه نود ۱۲ را جایگزین سرور معیوب می‌کند.

* **نودهای ۱۳ تا ۱۶ (استخرهای اختصاصی چندمستاجره - Multi-Tenant Database Pools):**
  * **نقش نودها:** `worker, data`.
  * **تغییرات سیستم:** به جای یک استخر دیتابیس مشترک، دیتابیس‌های مجزای اختصاصی (Dedicated MySQL Pools) برای هر سایت سازمانی یا سازمان بزرگ روی زوج‌سرورهای مستقل راه‌اندازی می‌شوند تا تداخل I/O دیسک به صفر برسد.

* **نودهای ۱۷ تا ۲۰ (ورود به Tier T7 - مقیاس نهایی سازمانی ۲۴×۷):**
  * **تغییرات کنترل‌پلین:** ارتقای اعضای کنترلی به ۷ نود فرد (`DesiredVoters: 7`). حد نصاب: ۴ از ۷. تحمل خرابی همزمان **۳ سرور کامل کنترل‌پلین**.
  * **تفکیک کامل ۴ لایه مستقل سازمانی:**
    1. **لایه کنترل (Control Plane):** ۷ نود رأی‌دهنده etcd/RKE2 با ایزولاسیون کامل.
    2. **لایه داده (Stateful DB & Cache):** استخر ۵ نودی PXC دیتابیس + ۵ سنتینل Valkey + رپلیکاهای خواندنی.
    3. **لایه ذخیره‌سازی توزیع‌شده (Storage Mesh):** کلاستر کامل SeaweedFS با دیسک‌های NVMe و تکثیر سه‌گانه داده.
    4. **لایه پردازش و لبه (Compute & Edge):** ۶ نود اختصاصی پردازش PHP-FPM با کانتینرهای خودتنظیم KEDA و WAF توزیع‌شده.

---

#### جدول ماتریس ظرفیت و رفتار کلاستر از ۳ تا ۲۰ نود:

| تعداد نود | سطح معماری (Tier) | اعضای رأی‌دهنده (Voters) | حد نصاب لازم (Quorum) | تحمل خرابی (Fault Tolerance) | نقش‌های پیشنهادی سرور جدید | تغییرات فنی و معماری در پلتفرم |
| :---: | :---: | :---: | :---: | :---: | :--- | :--- |
| **۳** | **Tier T3** | ۳ | ۲ از ۳ | ۱ سرور | `control-plane, worker, data` | حالت پایه HA؛ همگرایی کامل کلیه نقش‌ها روی هر ۳ نود |
| **۴** | **Tier T4** | ۳ | ۲ از ۳ | ۱ سرور | `worker, data` | آغاز جداسازی بار کاری؛ انتقال پادهای وردپرس به نود کاری |
| **۵** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `control-plane, worker, data` | ارتقای کنترل‌پلین به ۵ نود؛ افزایش تحمل خطا به ۲ سرور |
| **۶** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker, data` | توسعه حجم استوریج SeaweedFS و کش Valkey |
| **۷** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker, data` | کلاستر کامل استاندارد؛ جداسازی دیتابیس از بارهای سنگین |
| **۸** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker, data` | راه‌اندازی دیتابیس خواندنی (MySQL PXC Read Replica) |
| **۹** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker, data` | اختصاصی‌سازی گیت‌وی ذخیره‌سازی S3 و باکت‌ها |
| **۱۰** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker` | پادهای پردازشی اختصاصی وردپرس با ترافیک ورودی بالا |
| **۱۱** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker (edge)` | اختصاصی‌سازی لایه لبه، Envoy Gateway، WAF و SSL |
| **۱۲** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker (hot-spare)` | سرور زاپاس آماده (Hot Spare) جهت بازیابی خودکار بلادرنگ |
| **۱۳** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker, data` | ایجاد استخرهای دیتابیس ایزوله برای پروژه‌های بزرگ |
| **۱۴** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker, data` | توسعه ظرفیت ذخیره‌سازی رسانه‌ها به چندین ترابایت |
| **۱۵** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker` | افزایش توان پردازش وب به بیش از ۵۰٬۰۰۰ درخواست در ثانیه |
| **۱۶** | **Tier T5** | ۵ | ۳ از ۵ | ۲ سرور همزمان | `worker` | توزیع چندسازمانی کانتینرها با سیاست‌های امنیتی مجزا |
| **۱۷** | **Tier T7** | ۷ | ۴ از ۷ | ۳ سرور همزمان | `control-plane, worker, data` | ارتقا به Tier T7؛ کوئوروم ۷ عضوی؛ تحمل خرابی ۳ سرور |
| **۱۸** | **Tier T7** | ۷ | ۴ از ۷ | ۳ سرور همزمان | `worker, data` | تفکیک فیزیکی لایه ذخیره‌سازی فایل‌ها روی سرورهای اختصاصی |
| **۱۹** | **Tier T7** | ۷ | ۴ از ۷ | ۳ سرور همزمان | `worker` | خوشه‌بندی مستقل سرورهای لبه و WAF در دو نقطه مجزا |
| **۲۰** | **Tier T7** | ۷ | ۴ از ۷ | ۳ سرور همزمان | `worker` | ظرفیت کامل انترپرایز: ۷ کنترل‌پلین + ۱۳ گره کاری تخصصی |

---

---

### EN: Architecture & Topology Overview
The **4SO Enterprise WordPress** platform is an enterprise-grade cloud-native solution designed for high throughput, fault tolerance, and multi-tenant isolation. It distributes workloads across a 7-node topology:
* **Control Plane (3 Voting Members):** Nodes 1 to 3 form an odd-numbered etcd quorum, preventing split-brain conditions.
* **Database Fabric:** Percona XtraDB Cluster (PXC) provides synchronous Galera replication across data nodes, guaranteeing zero data loss during master failover.
* **Cache & Session Layer:** Valkey Sentinel provides sub-millisecond in-memory caching and Redis-compatible object cache for WordPress.
* **Persistent Media Storage:** SeaweedFS provides S3-compatible object storage for media uploads and ReadWriteMany (RWX) volumes for WordPress shared assets.
* **Edge & Security Fabric:** Envoy Gateway with Coraza Web Application Firewall (WAF) enforces automated rate limiting and OWASP Core Rule Set inspection.
* **Autoscaling:** KEDA (Kubernetes Event-driven Autoscaling) monitors Envoy RPS and CPU/RAM pressure to scale WordPress pods dynamically from 2 to 10 replicas.

---

## 2. راهنمای نصب و راه‌اندازی با اتوپایلوت (Installation & Autopilot Deployment)

### FA: پیش‌نیازها و راه‌اندازی خودکار
برای نصب و راه‌اندازی سیستم، ادمین شبکه نیازی به دانش عمیق کوبرنتیز ندارد. کلیه مراحل توسط ابزار اختصاصی `4so-codex-autopilot` مدیریت می‌شود.

#### پیش‌نیازهای اولیه:
1. **سیستم‌عامل سرورها:** اوبونتو 22.04 یا 24.04 (Ubuntu LTS 64-bit amd64) با هسته لینوکس استاندارد و `cgroup v2`.
2. **ارتباط شبکه:** اینترفیس شبکه متصل با IPهای استاتیک (مانند `ens160`).
3. **دسترسی SSH:** اتصال کلید عمومی و خصوصی بدون رمز (`/root/.ssh/id_ed25519`) از نود کنترلر به تمامی نودها.
4. **دیسک دوم داده:** یک دیسک خالی مستقل (مانند `/dev/sdb`) روی نودهای داده جهت اختصاص به حجم‌های LVM.

#### گام‌های نصب:

##### گام ۱: تولید و اعتبارسنجی فایل پیکربندی (`install.json`)
```bash
# تولید قالب اولیه پیکربندی برای ۷ نود
4so-codex-autopilot config init --nodes 7 --out /etc/4so-enterprise-wordpress/install.json

# اعتبارسنجی ساختار بدون ایجاد تغییر فیزیکی
4so-codex-autopilot config validate --config /etc/4so-enterprise-wordpress/install.json
```

##### گام ۲: تست سلامت و پذیرش سرورها (Doctor Admission Test)
دستور زیر تمام سرورها را از نظر اتصالات SSH، اثرانگشت کلید، رم، پردازنده، هسته لینوکس و فضای دیسک به صورت Read-only بررسی می‌کند:
```bash
/opt/4so-enterprise-wordpress/current/bin/linux-amd64/4so-codex-autopilot doctor \
  --config /etc/4so-enterprise-wordpress/install.json \
  --check-local-host \
  --check-remote-hosts \
  --require-sealed=false
```
*خروجی مورد انتظار: دریافت وضعیت `PASS` برای تمام ۷ نود فیزیکی.*

##### گام ۳: اجرای کمپین نصب فیزیکی (Physical Install Campaign)
```bash
sudo scripts/run-codex-physical-campaign.sh \
  --release-artifact /srv/releases/4so-enterprise-wordpress-0.0.282.zip \
  --release-artifact-sha256 c978dfbf24d404fc0f53933528b893fcbaa9f9b3404a981b71358cdf223de953 \
  --config /etc/4so-enterprise-wordpress/install.json
```
در صورتی که در حین نصب خطایی رخ دهد، سوئیچ هوشمند `--fix` با استفاده از هوش مصنوعی (Codex/Claude/Antigravity) علت ریشه‌ای را ارزیابی کرده و راه‌اندازی را با Checkpoint ایمن از سر می‌گیرد (`Resume`).

---

### EN: Installation & Autopilot Quickstart
The automated deployment flow is driven deterministically:
1. **Config Preparation:** Define the 7 nodes, IP assignments, and data devices in `/etc/4so-enterprise-wordpress/install.json`.
2. **Pre-flight Doctor Gate:** Run `4so-codex-autopilot doctor --check-remote-hosts` to verify SSH keys, swap settings, cgroup-v2, and storage devices across all nodes without mutating state.
3. **Sealed Execution:** Execute `run-codex-physical-campaign.sh` to roll out RKE2, Cilium, storage pools, database clusters, and the web cockpit.

---

## 3. راهنمای کاربری و پنل مدیریت (Panel Operator Manual & User Guide)

### FA: راهنمای گام‌به‌گام کار با پنل وب
آدرس پیش‌فرض پنل مدیریت: **`https://rootpanel.ir`** (یا `http://185.36.231.54:8080`)

```
+-----------------------------------------------------------------------------------+
| 4SO WordPress | مرکز عملیات سازمانی                                     [EN] [ظاهر] |
+-----------------------------------------------------------------------------------+
| [منوی اصلی]   | داشبورد وضعیت امروز (Overview)                                     |
| • نمای کلی    | • سایت‌های فعال: ۱     • عملیات در حال اجرا: ۰    • نودهای کلاستر: ۷   |
| • سایت‌ها     |                                                                   |
| • دامنه و TLS | آمادگی سرویس: [✓ رانتایم] [✓ دیتابیس] [✓ دامنه] [✓ بکاپ] [✓ اتواسکیل] |
| • پشتیبان     |-------------------------------------------------------------------|
| • کارایی      | سایت‌های فعال:                                                    |
| • مستندات     | > wp-main (wp.rootpanel.ir) | وضعیت: ۶/۶ سبز (100% Ready)          |
+-----------------------------------------------------------------------------------+
```

#### ۱. ورود به سیستم (Authentication):
* **حالت ورود با حساب کاربری مدیر:** نام کاربری `platform-admin` و رمز عبور.
* **حالت ورود آزمایشگاهی با توکن:** با فشردن کلید «درج خودکار توکن راه‌اندازی» توکن ذخیره‌شده در `/var/lib/4so-enterprise-wordpress/bootstrap-auth.token` مستقیماً درج و وارد می‌شوید.

#### ۲. ایجاد سایت وردپرس جدید (Create Site):
1. از منوی سمت راست روی **«سایت‌ها»** کلیک کنید و دکمه **«ایجاد سایت»** را بزنید.
2. فیلدهای الزامی:
   * **نام سایت:** شناسه یکتا مانند `my-company-wp`.
   * **دامنه اصلی:** مانند `site.example.com`.
   * **پلن تجاری (Plan):** انتخاب از میان پلن‌های استاندارد (مانند `Business HA`).
   * **نسخه PHP:** انتخاب بین نسخه 8.2 یا 8.3.
3. با کلیک بر روی **«ثبت و ایجاد سایت»**، سامانه به طور خودکار:
   * فضای نام (Namespace) اختصاصی و ایزوله ایجاد می‌کند.
   * پایگاه‌داده اختصاصی با کاربر امن در Percona XtraDB تخصیص می‌دهد.
   * کلیدهای کش اختصاصی در کلاستر Valkey تنظیم می‌کند.
   * باکت اختصاصی ذخیره‌سازی فایل‌های آپلودی در SeaweedFS می‌سازد.
   * گواهی SSL رایگان Let's Encrypt و مسیرهای Envoy WAF را فعال می‌کند.

#### ۳. مدیریت پشتیبان‌گیری و بازیابی (Backups & Restore):
* **پشتیبان‌گیری بلادرنگ:** در صفحه سایت، دکمه **«پشتیبان‌گیری الآن»** را بزنید تا اسنپ‌شات منسجم تراکنشی دیتابیس و کانتنت ثبت شود.
* **بازیابی به نقطه زمانی (PITR):** بازیابی دقیق دیتابیس و فایل‌ها از روی آبجکت استوریج با تضمین عدم تغییر داده‌های دیگر.

#### ۴. مقیاس‌دهی خودکار و کارایی (Autoscaling & Performance):
* تنظیم حداقل تعداد کانتینرها (مثلاً ۲ عدد برای پایداری) و حداکثر (مثلاً ۱۰ عدد برای ترافیک کمپین).
* تعیین آستانه فعال‌سازی بر اساس نرخ درخواست بر ثانیه (Target RPS) یا درصد مصرف CPU/Memory.

#### ۵. محتوای مدیریت‌شده، افزونه‌ها و قالب‌ها (Safe Update):
* نصب افزونه‌ها صرفاً از بسته‌های تایید شده ZIP دارای هش SHA-256 صورت می‌گیرد.
* مکانیزم **Safe Update** قبل از اعمال آپدیت، اسنپ‌شات کامل تهیه کرده و با مرورگر بی‌سر صفحه را بررسی می‌کند؛ در صورت بروز صفحه سفید (WSOD)، بلافاصله به نگارش قبل رول‌بک می‌کند.

---

### EN: Operator Manual
* **Accessing the Cockpit:** Direct browser to `https://rootpanel.ir`. Use OIDC or bootstrap bearer token.
* **Site Lifecycle:** Provisioning a site automatically establishes an isolated tenant namespace, provisioned PXC database credentials, Valkey cache prefix, SeaweedFS media bucket, and automated Envoy ingress routing.
* **Readiness Verification:** The Site Cockpit renders real-time status across 6 dimensions: Runtime Workload, Database/Cache/Storage Dependencies, Domain TLS, Disaster Recovery Backups, Autoscaling Policies, and Commercial Entitlements. A 6/6 score confirms 100% operational convergence.

---

## 4. عیب‌یابی، سناریوهای خرابی و بازیابی فاجعه (Troubleshooting & Disaster Recovery)

### FA: راهنمای حل سریع مشکلات و سناریوهای خرابی

#### ۱. قطع شدن یکی از نودهای کلاستر (Node Outage):
* **عارضه:** یکی از نودها خاموش شده یا پینگ ندارد.
* **رفتار سیستم:**
  * در صورتی که نود کاندید کنترل باشد، ۲ نود دیگر کووروم etcd را بدون وقفه حفظ می‌کنند.
  * پادهای وردپرس ظرف ۳۰ ثانیه روی نودهای سالم دیگر بازنشانی (Evict & Reschedule) می‌شوند.
* **دستور بررسی سلامت نودها:**
```bash
# بررسی وضعیت پیوستگی نودها
curl -s -H "Authorization: Bearer <TOKEN>" http://127.0.0.1:8080/api/v1/infrastructure/cluster/health | jq .
```

#### ۲. سناریوی خطای Split-Brain در دیتابیس Percona XtraDB:
* **عارضه:** نودهای دیتابیس به دلیل اختلال شبکه موقتاً همدیگر را نمی‌بینند.
* **راهکار خودکار:** کلاستر PXC با پروتکل Galera اکثریت آرا (Quorum) را محاسبه می‌کند. سمتی که کمتر از نصف نودها را دارد خودکار به حالت `Non-Primary` درمی‌آید تا مانع از درج اطلاعات متناقض شود.
* **دستور بررسی وضعیت دیتابیس:**
```bash
# مشاهده لاگ و وضعیت اپراتور دیتابیس
/opt/4so-enterprise-wordpress/current/bin/linux-amd64/4so-wordpress-database-controller --status
```

#### ۳. پر شدن فضای ذخیره‌سازی یا دیسک (Storage Exhaustion):
* **عارضه:** فضای دیسک نود به بالای ۸۵٪ می‌رسد.
* **راهکار:**
  1. بررسی فضای آزاد با `df -h`.
  2. پاک‌سازی ایمیج‌های قدیمی باینری:
     ```bash
     crictl rmi --prune
     ```
  3. انتقال خودکار فایل‌های حجیم مدیا به باکت SeaweedFS با ابزار سینک `rclone`.

#### ۴. مسیر فایل‌های لاگ حیاتی جهت بررسی:
| سرویس | مسیر فایل لاگ |
|---|---|
| **سرویس کنترل و اینستالر** | `/var/log/4so-enterprise-wordpress/installer.log` |
| **کنترلر دیتابیس** | `/var/log/4so-enterprise-wordpress/database-controller.log` |
| **کنترلر کش** | `/var/log/4so-enterprise-wordpress/valkey-controller.log` |
| **ورودی و WAF** | `/var/log/4so-enterprise-wordpress/edge-controller.log` |
| **وضعیت دیتابیس کلاستر** | `/var/lib/4so-enterprise-wordpress/state.json` |

---

### EN: Troubleshooting & DR Guide
* **Node Failure:** With 3 control-plane servers and 4 worker/data servers, single-node failure causes zero downtime. Services are automatically rescheduled.
* **Database Partitioning:** Percona Galera quorum drops the partitioned minority automatically to prevent split-brain inconsistencies.
* **Safe-Update Recovery:** Any fatal PHP error caused by an automated theme or plugin update is detected by headless probe validation, triggering an instant transactional rollback to the pre-update snapshot.

---

## 5. آزمون‌های بار سنگین، بنچ‌مارک و آشوب (High-Load Benchmark & Chaos Testing)

### FA: دستورات اجرای تست‌های بار و پایداری
برای اطمینان از عملکرد کلاستر قبل از ورود ترافیک واقعی، دو سوئیت تست اختصاصی آماده اجراست:

#### ۱. تست بنچ‌مارک توان و تاخیر (Throughput Benchmark):
```bash
python3 scripts/benchmark_cluster.py http://127.0.0.1:8080
```
* اندازه‌گیری Throughput (RPS)، تاخیر P50/P95/P99 و نرخ پهنای باند استاتیک.

#### ۲. موج سنگین تست‌های تنش، آشوب و امنیت (Heavy Resilience & Chaos Suite):
```bash
python3 scripts/heavy_resilience_chaos_suite.py http://127.0.0.1:8080
```
* شامل ۵ سناریوی همزمان:
  1. **اشباع بار همزمان:** ۱۰۰۰ درخواست با ۴۰ نخ موازی (بیش از ۱۴۰۰ RPS).
  2. **آشوب امنیتی:** تست حملات SQLi، XSS، Path Traversal و دور زدن توکن.
  3. **حصار ایدم‌پوتنت:** ۲۵ درخواست جهشی همزمان جهت ارزیابی محافظت در برابر Race Condition.
  4. **پیوستگی کووروم:** ۱۰۰ نمونه‌برداری سریع سلامت etcd بدون حتی ۱ لرزش.
  5. **ممیزی سلامت ۶/۶ سایت:** اطمینان از ۱۰۰٪ سبز بودن تمام مولفه‌ها پس از تست.

#### ۳. ابزار تست بار پیوسته سازمانی (`4so-highload-runner`):
```bash
/opt/4so-enterprise-wordpress/current/bin/linux-amd64/4so-highload-runner \
  -url http://127.0.0.1:8080/healthz \
  -rps 50 \
  -concurrency 20 \
  -duration 2m \
  -max-p95 750ms
```

---

*پایان مستندات سیستم · نگارش 0.0.282 · تیم مهندسی 4SO Enterprise*
