* Seluruh lalu lintas dari klien (peramban pengguna maupun panggilan REST API) disatukan melalui **port tunggal host: `14000`**.
* Di dalam kontainer, proses **Nginx** bertindak sebagai *reverse proxy gateway*:
* Permintaan UI (`/*`) disajikan langsung dari berkas statis Vite React (`/usr/share/nginx/html`).
* Permintaan API (`/api/*`), dokumentasi Swagger (`/docs`), dan skema (`/openapi.json`) di-proxy ke loopback backend FastAPI pada `127.0.0.1:8000`.
* **Port backend (8000) TIDAK PERNAH diekspos ke host luar**. Hal ini menjamin **Zero CORS Issues**, meminimalkan latensi jaringan internal, dan mengeliminasi vektor serangan langsung ke server aplikasi.
2.**Decoupled Stateless Engine & Zero Local Bloat**:
* Kontainer MERICA tidak menjalankan PostgreSQL, Redis, atau Airflow worker di dalamnya.
* Total penggunaan sumber daya appliance sangat efisien: **RAM $\sim$ 100 MB** dan **CPU idle $< 1\%$**.
* State eksekusi dan metadata pipeline dialokasikan sepenuhnya ke kluster Apache Airflow dan PostgreSQL eksternal yang dikonfigurasi melalui berkas `.env`.
* **Mode A: Local Mount Starter Pipelines** (`PIPELINES_DIR=./pipelines`): Menyediakan 3 template pipeline siap pakai secara *out-of-the-box* sehingga daftar pipeline langsung tersedia.
* **Mode B: Git DAG Bundles (AIP-66)**: Airflow DAG Processor secara mandiri memantau repositori Git pipeline (`merica-pipelines.git`) setiap 30 detik untuk *Zero-Downtime Hot-Reload*.
4.**Shift-Left Pre-Flight Verification**:
* Sebelum sebuah pipeline di-deploy ke Apache Airflow, engine backend MERICA menjalankan validasi sintaks `#val`, verifikasi kontrak kolom dbt (`contract: enforced`), dan inferensi tipe data otomatis. Kesalahan konfigurasi terdeteksi di kanvas sebelum task sempat dijadwalkan oleh scheduler Airflow.
---
## 🌐 2. Diagram Topologi Kontainer & Aliran Jaringan
* Mengompilasi konfigurasi node menjadi parameter terstandarisasi untuk Sling CDC, GWS Ingestor, dlt REST API, DuckDB deduplikasi, dan Great Expectations.
2.**dbt Medallion Service (`dbt_service.py`)**:
* Menghasilkan model SQL dbt Silver dan Gold secara otomatis.
* **Smart DDL Type Inference**: Menginferensi tipe data kolom secara otomatis (`INTEGER`, `DECIMAL(18,2)`, `TIMESTAMP`, `VARCHAR`).
* **Shift-Left Quality Contract**: Menghasilkan aturan `schema.yml` dengan `contract: enforced`, constraint `unique`, `not_null`, dan `accepted_values`.
* **Astronomer Cosmos Adapter**: Menyusun TaskGroup Airflow 3 dengan perilaku `TestBehavior.AFTER_EACH` (memisahkan model `.run` dan `.test` secara granular).
* Menjelajahi folder Google Drive secara interaktif.
* Menganalisis tab Google Spreadsheet dan memberikan saran baris header (*Header Row Suggestion*).
* Menyiapkan konfigurasi pembersihan otomatis (*auto-cleansing*: nama kolom `snake_case`, pembersihan unit string `(Rp)`, forward-fill sel yang di-merge).
* Sinkronisasi entitas pipeline ke katalog OpenMetadata 2.0.
* Pemetaan lineage visual end-to-end dari sumber data hingga Gold table.
* Integrasi hasil uji kualitas data Great Expectations ke tab Data Quality OpenMetadata.
---
## 🔒 4. Keamanan Perimeter & Kebijakan Hak Akses
* **UID Execution**: Apache Airflow berjalan dengan user ID **`50000:0` (airflow)** sesuai standar resmi Apache Airflow 3.
* **Volume Permission**: Seluruh volume bersama (*shared volumes*) yang diakses oleh DAG Processor menggunakan hak akses `50000:0` dengan `umask 0002` untuk mencegah *PermissionDenied error*.
* **Perimeter Network**: Port 8000 FastAPI hanya mendengarkan pada antarmuka lokal `127.0.0.1` di dalam kontainer appliance; peramban eksternal hanya dapat berkomunikasi melalui Nginx pada port `14000`.
* **Kredensial Aman**: Seluruh koneksi ke sumber database eksternal dan S3 menggunakan environment variable terenkripsi tanpa menyimpan *plain-text credential* di repositori Git.