Files
2026-10-09 02:35:14 +07:00

79 lines
3.5 KiB
YAML

# =============================================================================
# cluster.example.yml — inventory multi-host SiCABE (CONTOH; salin ke cluster.yml)
# -----------------------------------------------------------------------------
# Fase 1 R10 §4.3/§4.5 + taksonomi 7-tier R11.
#
# CARA PAKAI
# cp cluster.example.yml cluster.yml # lalu sesuaikan address
# ./install.sh --generate # hasil ke generated/host-<x>/
#
# Penting: berkas `cluster.yml` bersifat OPSIONAL. Bila TIDAK ADA, installer
# berjalan seperti sekarang (single-host) — `docker-compose.yml` dipakai langsung
# dan tidak ada berkas di `generated/` yang dibuat.
#
# PRECEDENCE (tertinggi → terendah)
# 1. components.<nama>.host (override eksplisit)
# 2. hosts.<host>.tiers (tier → host)
# 3. preset (a3 | b5) — hanya mengisi default tiers
# =============================================================================
version: 1
cluster:
name: sicabe-prod
env: production
# domain = basis nama BROWSER-FACING (lihat blok `tls` di bawah). Isi nama domain
# saja — tanpa skema, tanpa garis miring. Untuk mode `none` nilainya tidak dipakai.
domain: sicabe.com
# ─── TLS (langkah 1: baru SKEMA; Traefik + sertifikat menyusul di step 2) ─────
# none (DEFAULT) — perilaku sekarang: http, IP + port 12xxx. Bidang internal
# plaintext. Cocok untuk lab/uji tertutup.
# edge — browser memakai https://<nama>.<domain> lewat ingress;
# bidang internal (container↔container) TETAP plaintext.
# Pilihan paling murah untuk pilot: satu sertifikat wildcard,
# dan naik ke `full` nanti TIDAK mengubah URL/issuer.
# full — seluruh segmen TLS (butuh kepercayaan CA di semua klien).
# tls:
# mode: edge # contoh: aktifkan ingress berbasis nama
tls:
mode: edge
# a3 = 3 host (default) · b5 = 5 host (coord terpisah + 2 engine)
preset: a3
hosts:
control:
address: 100.112.76.124
# tier = kelompok peran (R11 §3.1). Preset a3 sudah mengisi ini; ditulis
# eksplisit agar terbaca. `control` mengelompokkan komponen ringan.
tiers: [identity, policy, pipeline, governance]
compute:
address: 100.123.123.71
# coord = trino-coordinator + starrocks-fe · engine = trino-worker + starrocks-cn
tiers: [coord, engine]
state:
address: 100.73.229.107
# state WAJIB tepat satu host dan tidak boleh digabung dengan `engine`.
# Berisi: postgres, minio (+minio-init), openmetadata-opensearch.
tiers: [state]
components:
# Override penempatan per komponen (prioritas tertinggi). Contoh: pindahkan
# StarRocks FE ke host control bila compute sudah terlalu padat.
# starrocks-fe: { host: control }
# Dremio default NONAKTIF. Bila diaktifkan: taruh di host bertier `engine`
# (butuh RAM ~4 GB lebih — cek kapasitas host).
dremio: { enabled: false }
# Contoh blueprint b5 (5 host): hapus komentar dan GANTI `preset` di atas.
# preset: b5
# hosts:
# control: { address: 10.20.0.10, tiers: [identity, policy, pipeline, governance] }
# coord: { address: 10.20.0.11, tiers: [coord] }
# engine-1: { address: 10.20.0.12, tiers: [engine] }
# engine-2: { address: 10.20.0.13, tiers: [engine] }
# state: { address: 10.20.0.14, tiers: [state] }
# Catatan b5: dua host `engine` menjalankan service `trino-worker` dan
# `starrocks-cn` masing-masing satu — jadi tiap host engine punya node sendiri.