Preset sistemi
Bir provisioner preset'i isimli bir tarif — "her cluster'a bu stack'leri kur" — operatörlerin uç birim oluştururken referans aldığı şey. İki preset özelliği cluster'ın production postür'ünü belirler:
Profile
profile ya edge ya da prod:
- edge — tek replikalı, hafif storage, PDB yok. Sınırlı kaynaklı 3-node cluster'lara (her biri 8 vCPU / 16 GiB / 250 GB disk) uygun.
- prod — stateless bileşenlerde multi-replica HA, podAntiAffinity zorunlu, PDB aktif, daha büyük storage ve retention bütçesi. HA-grade donanımlı 3+ node cluster'lara yönelik (her node'da 32 GiB+ RAM, 1 TB+ OSD disk).
Built-in preset'ler:
| Preset | Profile |
|---|---|
| DT Edge Platform (private bootstrap) | prod |
| Standard Edge Instance | edge |
| Data Platform Edge | edge |
HA-grade donanım sahibi operatörler public preset'leri
klonlayıp profile: prod çevirir.
Sensitive secrets
Her preset satırı, kurduğu servislerin admin şifrelerini saklayan
şifrelenmiş bir secret_vars sütunu taşır:
- Grafana admin
- Harbor admin
- OpenSearch admin
- Prometheus / Alertmanager basic-auth (ingress auth açıkken)
- fluent-bit local OpenSearch (her zaman OpenSearch admin şifresine eşittir — coupled propagation senkron tutar)
Şifreler preset oluşturma anında otomatik üretilir (24
karakter shell-safe random). Asla plaintext stacks_config
sütununda yer almazlar. Reveal dialog'u
(Nasıl yapılır → Preset admin şifrelerini görüntüle)
plaintext erişimin tek yolu; audit log reveal'ın olduğunu
kaydeder ama değerleri maskeler.
Var'lar bir stack'e nasıl ulaşır
Bir uç birim preset'ten provision edilirken, provisioner preset'i per-stack vars map'ine şu katmanlarla genişletir:
- Catalog'daki stack default'ları
- Preset'in
stacks_config[stack].vars'ı (plaintext) - Preset'in
secret_vars[stack]'ı (resolve anında şifre çözülür) cluster_profile(her stack'e inject edilir)- Operatörün create isteğindeki
preset_var_overrides'ı (en yüksek öncelik)
Her stack template'i cluster_profile'ı okur ve replica'ları,
antiAffinity sıkılığını, PDB'leri, storage default'larını ve
retention bütçesini buna göre ayarlar.
Neden böyle tasarlandı
- Discoverable default'lar tehlikeli. Önceki preset
versiyonları
Harbor12345/MyStrongP@ss1'i public sütunda hardcode'luyordu; preset'ten spawn edilen her cluster aynı şifreyi alıyordu. Per-preset auto-generation shared-default vektörünü ortadan kaldırır. - Coupled secrets senkron kalır. fluent-bit'in local OpenSearch kimlik doğrulamasının OpenSearch admin user'ın aynı şifresine ihtiyacı var. Bağımsız random'lar log shipping'i kırar; coupling source değeri target'a şifrelemeden önce propagate eder.
- Tek-knob HA postür. Preset seçen operatör tek karar
verir (
edgeveyaprod); her stack arkasından sıraya girer.