sync dari sicabe-doc/deploy @ bc1a6e6
This commit is contained in:
+27
-5
@@ -227,10 +227,11 @@ di sini komponen tetap milik klaster ini, hanya dipindah host. Override variabel
|
||||
> sehingga path filesystem seperti `/etc/trino/` dan baris komentar tidak ikut berubah.
|
||||
> Rencana lengkap: `reviews/sicabe-10-multi-host-installer-plan.md`.
|
||||
|
||||
> ⚠️ **Pilot multi-host di host yang SAMA tidak boleh dua stack berjalan bersamaan.**
|
||||
> Memisah network/port saja **tidak cukup** — RAM tidak akan cukup (host pilot 15 GB,
|
||||
> satu stack penuh ±10 GB). **Matikan stack lama lebih dulu** sebelum menyalakan hasil
|
||||
> `generated/host-<x>/`.
|
||||
> ⚠️ **Satu host = satu stack aktif.** Stack single-host dan multi-host **tidak untuk
|
||||
> berjalan bersamaan** di host yang sama — **matikan stack lama lebih dulu** sebelum
|
||||
> menyalakan hasil `generated/host-<x>/`. Berdampingan **tidak cukup** hanya dipisah
|
||||
> network/port: pada host kecil hal itu juga menabrak RAM (pilot 15 GB, satu stack penuh
|
||||
> ±10 GB).
|
||||
|
||||
**Trino dipisah coordinator/worker.** Sejak 2026-09-28 Trino bukan lagi satu service:
|
||||
`trino-coordinator` (port host `12443`, HTTPS + OAuth2/Basic, client-facing) dan
|
||||
@@ -343,15 +344,36 @@ Menyalin seluruh `deploy/` — **termasuk `.env` dan `generated/`** — ke tiap
|
||||
```bash
|
||||
./install.sh --sync # ke SEMUA host lain (host ini dideteksi dari alamat lokal)
|
||||
./install.sh --sync --host state # hanya satu host
|
||||
./install.sh --sync --user admin --dest '~/sicabe-doc/deploy' # SSH user & tujuan
|
||||
./install.sh --sync --user admin --dest '~/lain/deploy' # SSH user & tujuan (timpa default)
|
||||
./install.sh --sync --delete # hapus di tujuan berkas yang tak ada di sumber
|
||||
```
|
||||
|
||||
**Tujuan default = cermin lokasi repo ini.** Nilai `--dest` diturunkan dari letak `install.sh`
|
||||
di bawah `$HOME` (`sicabe_default_dest`), jadi **nama repo tidak dipatok**:
|
||||
|
||||
| Repo di host control | Tujuan `--sync` default di host lain |
|
||||
|---|---|
|
||||
| `~/sicabe-doc/deploy` | `~/sicabe-doc/deploy` |
|
||||
| `~/sicabe-core/deploy` | `~/sicabe-core/deploy` |
|
||||
|
||||
Ini membuat **repo distribusi bersih** (mis. `sicabe-core` — hanya folder `deploy/`, tanpa
|
||||
`docs/`, `reviews/`, `experiments/`) bekerja **tanpa `--dest`**. `deploy/` **self-contained**:
|
||||
semua script memakai `SCRIPT_DIR`, dan bind-mount compose relatif (`./config/…`) — jadi nama
|
||||
atau lokasi repo tidak berpengaruh. Timpa tujuan dengan `--dest '~/…/deploy'` bila perlu.
|
||||
|
||||
Host yang sedang dijalankan **dikecualikan otomatis** (kecocokan `hostname -I` dengan
|
||||
`address` di inventory); bila tak cocok, ia menyinkron ke semua host. `.env` **wajib ikut**
|
||||
(rahasia bersama — OIDC client secret harus identik lintas host). Setelah sync, di tiap host
|
||||
jalankan `./scripts/prefetch-images.sh --host <nama>` lalu `./install.sh --host <nama>`.
|
||||
|
||||
> **Model distribusi: control = sumber tunggal · host lain = PENERIMA (bukan working tree git).**
|
||||
> `--sync` menimpa berkas yang di-track git di `deploy/` host tujuan dengan versi control,
|
||||
> sehingga `git status` di sana **selalu kotor** dan `git pull` akan **ditolak** ("local changes
|
||||
> would be overwritten"). **Jangan `git pull` di host tujuan** — perbarui di **control** lalu
|
||||
> `--sync` saja (clone repo di host tujuan cukup **sekali**, untuk `prepare-host.sh`).
|
||||
> Gunakan **`--sync --delete`** agar berkas yang dihapus/di-rename di repo ikut terhapus di
|
||||
> tujuan (`.git` & `output` dikecualikan, jadi keduanya aman).
|
||||
|
||||
Tanpa `cluster.yml`, installer berperilaku **persis** seperti single-host (tidak ada
|
||||
yang di-generate). Hasil generate berisi per host: `docker-compose.yml` (hanya service
|
||||
milik host itu), `.env` (endpoint → alamat host), dan `config/` ter-render.
|
||||
|
||||
Reference in New Issue
Block a user