Blueforce-Linux/docs/00-MASTER-PLAN.md

135 lines
6.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 00 — Ana Plan (Master Plan)
> Kısa özet: 700 cihazlık Blueforce Linux filosunun uçtan uca planı: hangi doküman neyi kapsar, fazlar nasıl ilerler, tüm işler hangi kararlara dayanır. Projeye yeni katılan herkes önce bu dosyayı okur.
- Dosya: `docs/00-MASTER-PLAN.md`
- İlgili kararlar: `24-DECISION-LOG.md#K-01…K-14` (tüm fazlar bu kararlara dayanır)
- Durum: [x] Onaylı (Faz 2 kilidi)
---
## 1. Amaç
700 saha PC'sinin Ubuntu tabanlı standardize filoya dönüşümünü tek planda toplamak: kapsam, fazlar, doküman haritası ve başarı kriterleri. Parça işlerin (imaj, kurucu, ağ, filo, monitoring) birbirine nasıl bağlandığı bu dosyadan izlenir.
## 2. Kapsam
- Kapsam içi: faz planı (LAB → PİLOT → WAVE → PROD), doküman haritası (00…24), karar bağımlılıkları (K-01…K-14), dalga boyutları ve kapı kriterleri.
- Kapsam dışı: kurulum komutları (03/04/05), playbook ve metrik detayları (09/14), VDS kurulum adımları (07/08) — ilgili dokümanlara havale.
## 3. Kararlar
```text
KARAR: Proje Faz 2'de kilitlenen 14 karara (K-01…K-14) göre yürütülür; karar değişikliği yalnızca 24-DECISION-LOG PR'ı ile yapılır.
GEREKÇE: 700 cihazda tutarlılığın tek dayanağı yazılı karardır; her doküman kararlara linklenir, varsayıma dayalı seçim bırakılmaz.
ALTERNATİF: Doküman başına bağımsız karar — çelişki ve tekrara yol açtığı için elendi.
RİSK: Karar kilidi gelişmeyi yavaşlatabilir; azaltma: LAB/PİLOT bulguları PR ile hızlı işletilir.
MALİYET: Ücretsiz (süreç kararı).
LİSANS: Yok (yöntem kararı).
```
```text
KARAR: Dağıtım dalgaları: LAB(2) → PİLOT-1(5) → PİLOT-2(20) → WAVE-1(50) → WAVE-2(100) → PROD (kalan ~523).
GEREKÇE: Onaysız update yasağı (K-11) gereği her değişiklik küçük dalgada kanıtlanmadan büyüğe geçmez; blast-radius üstten sınırlanır.
ALTERNATİF: Tek seferde tüm filo — tek hatanın 700 cihaza yayılması nedeniyle elendi.
RİSK: Dalga disiplini atlanırsa hata büyür; azaltma: Semaphore'da onay adımı + 10-UPDATE kapı kriterleri.
MALİYET: Ücretsiz.
LİSANS: Yok.
```
## 4. Neden Bu Karar?
Öncelik sırası (kesintisiz çalışma > veri kaybı yok > uzaktan erişim > bakım kolaylığı) planı şekillendirdi. Tüm kararlarda üç filtre uygulandı: (1) %100 ücretsiz/self-hosted, (2) sadelik (K8s, gereksiz agent/DB/cloud yok), (3) onaysız update yasağı. 700 ölçeğinde her küçük varsayılan filo-çapı arızaya dönüşür; fazlar bu çarpanı küçültür.
## 5. Alternatifler
| Alternatif | Artı | Eksi | Sonuç |
|---|---|---|---|
| Big-bang dağıtım | Hızlı | Tek hata = 700 cihaz arızası | Elendi |
| K8s-orkestrasyonlu saha | Esnek ölçek | 700 mini PC'de gereksiz yük | Elendi |
| Cloud-merkezli yönetim | Hızlı kurulum | Kota/lisans maliyeti, veri egemenliği | Elendi |
## 6. Avantajlar
- Tek kimlik (`BF-<no>`/`bf-<no>`) tüm katmanlarda join anahtarı — envanterden monitoring'e aynı ad.
- Her fazın giriş/çıkış kriteri yazılı; "hazır" demek ölçülebilir.
- Hiçbir faz ücretli lisansa dayanmaz (FREE sürümler baz).
## 7. Dezavantajlar
- Faz disiplini ilk kurulumu yavaşlatır (LAB+PİLOT ölçümleri beklenir).
- Merkez servis sayısı ilk kurulumda tek VDS'e sığsa da yük testinden geçmeli (sahibi: 25-ROADMAP).
## 8. Riskler
| Risk | Olasılık | Etki | Azaltma |
|---|---|---|---|
| Faz atlanarak sahaya çıkılması | Orta | Yüksek | Kapı kriterleri + Semaphore onay adımı |
| Merkez VDS kesintisi | Düşük | Yüksek | Hızlı yeniden kurulum + yedek VDS planı (17) |
| Heterojen donanımda imaj kırılması | Orta | Orta | Envanter taraması + LAB profil testi (04) |
## 9. Uygulama Planı
1. Faz 1 (Zemin): karar kilidi (24) + mimari (01) + bu plan — tamamlandı.
2. Faz 2 (İmaj+Kurucu): 02-03-04-05 dokümanları + `blueforce-install.sh` + LAB(2) imaj testi.
3. Faz 3 (Merkez): WireGuard hub → hbbs/hbbr → MeshCentral → Semaphore → Prometheus/Grafana/Kuma (07/08/09/14).
4. Faz 4 (PİLOT): P1(5)+P2(20) cihazda 7/24 sayaçlar (kopma, log hacmi, metrik kardinalitesi).
5. Faz 5 (WAVE+PROD): W1(50) → W2(100) → PROD (~523), her dalgada 10-UPDATE onay zinciri.
```bash
# kapı örneği: LAB'dan P1'e geçiş koşulu
./scripts/install/blueforce-install.sh --check # exit 0 olmadan dalga büyümez
```
## 10. Test Planı
| Test | Beklenen sonuç | Ortam |
|---|---|---|
| Her dokümanın karar linkleri | Tüm karar blokları 24'teki K-no'ya bağlı | Repo CI (markdown-link-check) |
| LAB(2) uçtan uca akış | Erişim + boot + update zinciri çalışır | LAB(2) |
| Dalga kapı kriterleri | Kriter sağlanmadan sonraki dalga açılmaz | P1/P2/W1/W2 |
## 11. Rollback
1. Plan değişikliği 24-DECISION-LOG PR'ı ile yapılır; bağımlı dokümanlar aynı PR'da güncellenir.
2. Sahaya sürülmüş dalga hatalıysa 10-UPDATE rollback zinciri işletilir.
3. Son çare: karar öncesi imaj sürümüne dönüş (17-RECOVERY LEVEL 9).
## 12. Kontrol Listesi
- [ ] 14 kararın her biri ≥1 dokümana ve faza bağlı.
- [ ] Dalga boyutları tüm dokümanlarda tutarlı (2/5/20/50/100/~523).
- [ ] FREE sürüm kuralı tüm fazlarda korunuyor.
- [ ] `SUMMARY.md` Faz 4'te 27 soru → karar izlenebilirliğiyle üretilecek.
## 13. Açık Sorular
- [ ] Merkez servislerin tek VDS'e sığıp sığmadığı — LAB yük testi (sahibi: 25-ROADMAP).
- [ ] Faz takviminin bayi rollout kapasitesine göre netleşmesi (sahibi: 18-ROLLOUT).
---
## Ek: Doküman Haritası
```mermaid
flowchart LR
P0["00 Master Plan<br/>(bu dosya)"] --> ARCH["01 Mimari<br/>24 Karar Log"]
ARCH --> ZEMIN["02 Kimlik + Envanter<br/>03 Ubuntu Baseline<br/>04 Golden Image<br/>05 Tek-Kurucu"]
ZEMIN --> MERKEZ["06 SSH 07 Erişim 08 WireGuard<br/>09 Filo 11 Hardening"]
MERKEZ --> OPS["10 Update 12 Docker<br/>14 Monitoring 15 Logging 16 Boot<br/>17 Recovery 18 Rollout"]
OPS --> GOV["19 Test 20 Runbook 21 CI<br/>22 Docs 23 Lisans"]
```
| Doküman | Konu | Dayandığı karar |
|---|---|---|
| 01 | Sistem mimarisi | K-01…K-14 |
| 02 | Cihaz adlandırma + envanter | K-12 |
| 03 | Ubuntu baseline | K-01, K-02, K-03, K-11 |
| 04 | Golden image + provisioning | K-09 |
| 05 | Tek-tık kurucu | K-09, K-11, K-12 |
| 06–09 | SSH, erişim, WireGuard, filo | K-13, K-04, K-05, K-06 |
| 10–12 | Update, hardening, Docker | K-11, K-10 |
| 13–16 | MEG, monitoring, logging, boot | K-02, K-07, K-14, K-03 |
| 17–18 | Recovery, rollout | K-04, K-09 |
| 19–23 | Test, runbook, CI, docs, lisans | K-08 + tümü |
| 24 | Karar günlüğü | Kilit kaynak |