Blueforce-Linux/README.md

5.6 KiB
Raw Blame History

Blueforce Linux Filo — 700 Saha Cihazı

%100 ücretsiz / self-hosted Linux filo mimarisi: başka bir DevOps mühendisinin sıfırdan kurabileceği 26 Türkçe dokümanın ana reposu.

Amaç

AdBlue saha otomasyonundaki ~700 Windows mini PC'yi, lisans maliyeti olmayan, merkezi yönetilebilir, kesintisiz çalışan bir Linux filosuna taşımak.

Bu repo üç şeyi tek yerde toplar:

  1. Kararlar — her teknik seçim için gerekçe, alternatif, risk, maliyet ve lisans notu.
  2. Kurulum ve işletme dokümanları — docs/ altında 26 Türkçe Markdown dosyası.
  3. Uygulanabilir iskelet — scripts/, ansible/, config/, monitoring/, rustdesk/ klasörleri (kod ve config Faz 3'te dolar).

Öncelik sırası: kesintisiz çalışma > veri kaybı yok > uzaktan erişim > bakım kolaylığı.

700 Cihaz Özeti

Konu Özet
Cihaz sayısı ~700 saha PC'si (bayi/istasyon yanında)
Cihaz kimliği 8 haneli bayi no → Device ID BF-<no>, hostname bf-<no> (ör. BF-12010193 / bf-12010193). Tüm sistemlerde aynı ID kullanılır.
Hedef OS Ubuntu LTS (sürüm Faz 1'de resmi kaynaktan doğrulanacak)
Ağ Turkcell modem arkası, CGNAT/NAT varsayımı; merkezle bağlantı WireGuard tüneli üzerinden
Uzaktan erişim RustDesk OSS self-hosted (hbbs/hbbr) ana yol; SSH + WireGuard yedek yol; RDP/GUI ihtiyaca göre
Filo yönetimi Ansible + Semaphore UI Community (aday; Faz 2'de karar)
İzleme Prometheus/Node Exporter/Grafana OSS veya Uptime Kuma (Faz 2'de karşılaştırılacak)
Güncelleme politikası Onaysız update yasak (apt, release upgrade, Docker image, MEG dahil). Rollout: LAB(2) → PILOT-1(5) → PILOT-2(20) → WAVE-1(50) → WAVE-2(100) → PRODUCTION
Doküman dili Türkçe; komut, dosya, servis ve terim adları İngilizce kalır

Docs Haritası (26 dosya)

Tüm dokümanlar docs/ altındadır ve docs/_TEMPLATE.md şablonuna uyar.

No Dosya Konu
00 00-MASTER-PLAN.md Genel plan, fazlar, kapsam
01 01-ARCHITECTURE.md Uçtan uca mimari
02 02-DEVICE-NAMING-AND-INVENTORY.md BF-<no> / bf-<no> isimlendirme ve envanter
03 03-UBUNTU-BASELINE.md Ubuntu taban kurulum
04 04-GOLDEN-IMAGE-AND-PROVISIONING.md Golden image ve ilk kurulum
05 05-ONE-CLICK-INSTALLER.md Tek-tık kurucu
06 06-USERS-SSH-AND-PERMISSIONS.md Kullanıcılar, SSH, yetkiler
07 07-REMOTE-ACCESS.md RustDesk + SSH + RDP erişim yolları
08 08-WIREGUARD-AND-NETWORK.md WireGuard ve ağ
09 09-FLEET-MANAGEMENT.md Ansible/Semaphore filo yönetimi
10 10-UPDATE-AND-ROLLBACK-POLICY.md Güncelleme ve geri alma politikası
11 11-SECURITY-HARDENING.md Güvenlik sertleştirme
12 12-DOCKER-OPERATIONS.md Docker işletimi
13 13-MEG-LINUX-ACCEPTANCE.md MEG Linux kabul kriterleri
14 14-MONITORING-AND-HEALTH.md İzleme ve sağlık
15 15-LOGGING.md Log toplama ve saklama
16 16-POWER-LOSS-AND-AUTO-RECOVERY.md Elektrik kesintisi ve otomatik kurtarma
17 17-BACKUP-RECOVERY-AND-REINSTALL.md Yedekleme, kurtarma, yeniden kurulum
18 18-PILOT-AND-700-DEVICE-ROLLOUT.md Pilot ve 700 cihaz rollout
19 19-TROUBLESHOOTING.md Sorun giderme
20 20-FIELD-TECHNICIAN-RUNBOOK.md Saha teknisyeni runbook
21 21-CENTRAL-ADMIN-RUNBOOK.md Merkezi yönetici runbook
22 22-DOCUMENTATION-PLATFORM.md Doküman platformu (Docusaurus adayı)
23 23-SECURITY-AND-LICENSE-AUDIT.md Güvenlik ve lisans denetimi
24 24-DECISION-LOG.md Karar günlüğü (kaynak URL + sürüm + tarih ile)
25 25-IMPLEMENTATION-ROADMAP.md Uygulama yol haritası

Şablon: docs/_TEMPLATE.md. Karar günlüğü: docs/24-DECISION-LOG.md.

Maliyet Kuralı

  • Hedef %100 ücretsiz / self-hosted'dir.
  • Ücretli veya lisans kısıtlı her araç dokümanda açıkça işaretlenir ve ücretsiz alternatifi ile birlikte verilir.
  • Varsayıma dayalı lisans kararı verilmez; resmi kaynak (resmi docs, GitHub, fiyat sayfası) URL + sürüm + tarih ile kaydedilir.
  • Örnek: AnyDesk kararı resmi kaynaktan doğrulanmadan yazılmaz.

İsimlendirme Örneği

Bayi no 12010193 için:

  • Device ID: BF-12010193
  • Hostname: bf-12010193
  • WireGuard peer adı, RustDesk ID etiketi, Ansible inventory adı, monitoring etiketi: hepsi aynı ID'yi kullanır.

Klasör Yapısı

.
├── README.md
├── SUMMARY.md                # Faz 4'te üretilecek
├── docs/                     # 26 doküman (00–25) + _TEMPLATE.md
├── scripts/
│   ├── install/              # ilk kurulum scriptleri (Faz 3'te sözleşme/imza)
│   ├── maintenance/          # bakım scriptleri
│   ├── diagnostics/          # tanı scriptleri
│   └── recovery/             # kurtarma scriptleri
├── ansible/
│   ├── inventory/
│   ├── playbooks/
│   └── roles/
├── config/
│   ├── ssh/
│   ├── wireguard/
│   ├── firewall/
│   ├── docker/
│   └── systemd/
├── monitoring/               # izleme config ve panoları
├── rustdesk/                 # hbbs/hbbr self-hosted config
├── docs-site/                # doküman sitesi iskeleti (Docusaurus adayı)
├── tests/                    # doğrulama testleri
└── research/                 # Faz 1 kaynak doğrulama notları

Durum

  • Faz 0: repo iskeleti + şablon
  • Faz 1: kaynak doğrulama (resmi docs/GitHub, 10 kritik konu)
  • Faz 2: mimari kararlar
  • Faz 3: 26 dokümanın parti parti yazımı
  • Faz 4: QA, tutarlılık denetimi, SUMMARY.md