Blueforce-Linux/provisioning
emirhanmamak-blueforce da460519e8 feat(install): internet-free install flow, auto-discovered local packages
The operator no longer answers an "offline?" question and no longer needs
network access: the installer finds the package set that ships with the
checkout, so the only input left is the dealer number.

Installer
- Auto-discover the local APT repository (BF_OFFLINE_REPO, then
  provisioning/offline-repo/built, then /opt/blueforce/offline-repo) and
  enter offline mode on its own; --offline stays for compatibility.
- Fail closed with an explicit Turkish message when nothing is found: the
  searched locations, what to do, and a named exit reason -- no state touched.
- Distinguish "repository absent" (operator error, actionable) from
  "repository present but invalid" (OFFLINE BLOCKED, verification gate).
- Network is informational only in precheck/network modules; no probe runs in
  offline mode and archive.ubuntu.com is no longer mandatory.

ISO builder
- Look for built/ first, which is what build-index.sh produces, and accept
  build/ as a warned legacy path. The two disagreed, so a medium could be
  built without the package set and fail only at install time.

Docs
- docs/27, scripts/install/README, provisioning/offline-repo/README and
  provisioning/firstboot/README describe the discovered flow, the two failure
  modes, and that the installer downloads nothing.

Tests
- check-admin-static exercised the "console missing from the clone" branch by
  deleting a tracked file; git clone restored it from history, so the branch
  never ran and the warning was effectively untested. Build the stripped
  source as a real commit instead; verified by mutation.
2026-09-16 16:53:24 +03:00
..
autoinstall feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
enrollment feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
firstboot feat(install): internet-free install flow, auto-discovered local packages 2026-09-16 16:53:24 +03:00
iso feat(install): internet-free install flow, auto-discovered local packages 2026-09-16 16:53:24 +03:00
offline-repo feat(install): internet-free install flow, auto-discovered local packages 2026-09-16 16:53:24 +03:00
release feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
README.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00

Blueforce OS provisioning

Bu dizin işletim sistemi provisioning kapsamının sahibidir. Mevcut scripts/install/ uygulama bootstrap'ı olarak kalır ve burada taşınmaz.

Güvenlik sınırları:

  • Bu iskelet cihaz kimliği, parola, private key, token veya bayiye özel veri içermez.
  • Autoinstall V1 disk seçmez ve silmez; interactive-sections: [storage] teknisyen seçimini zorunlu tutar.
  • Upstream ISO ve paketler örtük indirilmez. Her ISO işleminden önce açık SHA256 doğrulaması gerekir.
  • Remaster araçları xorriso yoksa veya boot metadatası desteklenmiyorsa başarısız olur.
  • Firstboot sadece sekiz haneli bayi numarası biçimini denetler; kurucu veya enrollment çağrısı yapmaz.

Kontrol:

tests/check-provisioning-static.sh

LAB doğrulaması, hedef Ubuntu sürümü, boot menüsü entegrasyonu, gerçek identity storage ve enrollment taşıma güvenliği sonraki fazların açık işleridir.