UIM SIMULATOR - MUSTERI KURULUM KILAVUZU
=========================================

0. PAKET BILGISI

   - UIM Simulator surumu: 0.1.1
   - Docker image adi: onurnizam/uim-simulator:0.1.1@sha256:5cd21d5230fa2b7e63c665b0517cd806e2b4dbbf4204def66ccef0ca8dc26bf3
   - Docker Hub sayfasi: https://hub.docker.com/r/onurnizam/uim-simulator/tags
   - Manuel indirme komutu:

       docker pull onurnizam/uim-simulator:0.1.1@sha256:5cd21d5230fa2b7e63c665b0517cd806e2b4dbbf4204def66ccef0ca8dc26bf3

   - Normal kurulumda bu komutu elle calistirmaniz gerekmez; install komutu image'i otomatik indirir.

1. SISTEM GEREKSINIMLERI

   - Windows 10/11, macOS veya guncel bir Linux dagitimi kullanin.
   - Windows icin Docker Desktop'i su adresteki resmi kilavuzdan indirip kurun:
     https://docs.docker.com/desktop/setup/install/windows-install/
   - macOS icin Docker Desktop'i su adresteki resmi kilavuzdan indirip kurun:
     https://docs.docker.com/desktop/setup/install/mac-install/
   - Linux icin Docker Engine'i su adresteki resmi kilavuza gore kurun:
     https://docs.docker.com/engine/install/
   - Docker Compose v2'nin kurulu oldugunu "docker compose version" komutuyla kontrol edin.
   - En az 2 CPU, 4 GB bos RAM ve 5 GB bos disk alani ayirin.
   - Varsayilan 3035 portunun baska bir uygulama tarafindan kullanilmadigindan emin olun.
   - Node.js, npm veya ayri bir MySQL kurulumu gerekmez.

2. KURULUM DOSYALARINI HAZIRLAMA

   - Size verilen UIM Simulator .tar.gz veya .zip paketini yeni bir klasore acin.
   - Paketteki dosyalari ayirmayin veya farkli klasorlere tasimayin.
   - Docker Desktop veya Docker Engine'i baslatin.
   - Bir terminal acarak dosyalari cikardiginiz klasore girin.
   - Windows'ta Docker Desktop'in Linux containers modunda calistigindan emin olun.

3. LINUX VE macOS KURULUMU

   - Gerekirse yonetim dosyasina calistirma izni verin:

       chmod +x uimctl

   - Kurulum ayarlarini ve guvenli parolalari olusturun:

       ./uimctl init

   - Ekranda gosterilen admin kullanici adini ve parolasini guvenli bir yere kaydedin.
   - Kurulumu baslatin:

       ./uimctl install

   - "UIM Simulator is ready" mesaji gorulene kadar terminali kapatmayin.

4. WINDOWS POWERSHELL KURULUMU

   - PowerShell 7.4 veya ustunu (pwsh) acin ve kurulum klasorune girin.
   - Kurulum ayarlarini ve guvenli parolalari olusturun:

       .\uimctl.ps1 init

   - PowerShell betik calistirmayi engellerse yalnizca bu komut icin su sekilde calistirin:

       pwsh -ExecutionPolicy Bypass -File .\uimctl.ps1 init

   - Ekranda gosterilen admin kullanici adini ve parolasini guvenli bir yere kaydedin.
   - Kurulumu baslatin:

       .\uimctl.ps1 install

   - Betik calistirma engeli varsa su komutu kullanin:

       pwsh -ExecutionPolicy Bypass -File .\uimctl.ps1 install

   - "UIM Simulator is ready" mesaji gorulene kadar PowerShell'i kapatmayin.

5. ONLINE VE OFFLINE KURULUM

   - Online paket kullaniyorsaniz onurnizam/uim-simulator:0.1.1@sha256:5cd21d5230fa2b7e63c665b0517cd806e2b4dbbf4204def66ccef0ca8dc26bf3 ve MySQL image'lari internetten otomatik indirilir.
   - Manuel kontrol gerekirse "docker pull onurnizam/uim-simulator:0.1.1@sha256:5cd21d5230fa2b7e63c665b0517cd806e2b4dbbf4204def66ccef0ca8dc26bf3" komutunu calistirin.
   - Offline pakette images.tar dosyasi bulunur. Kurulum bu dosyayi otomatik algilar ve yukler.
   - Offline kurulumda images.tar dosyasini diger kurulum dosyalarindan ayirmayin.
   - Offline install ve upgrade registry baglantisi kurmaz. Paket SHA256SUMS ile dogrulanir.

6. UYGULAMAYI ACMA

   - Kurulum tamamlandiktan sonra tarayicinizda su adresi acin:

       http://127.0.0.1:3035

   - Linux/macOS'ta adresi otomatik acmak icin:

       ./uimctl open

   - Windows'ta adresi otomatik acmak icin:

       .\uimctl.ps1 open

   - Giris icin kurulumun 3. veya 4. adiminda kaydettiginiz admin bilgilerini kullanin.
   - Admin parolasi ayrica .uim-secrets/admin_password dosyasinda saklanir.
   - Ilk giriste sol menudeki "Virtual Environment" ekranini acin.
   - Virtual Environment, egitim ve test amacli sanal datacenter calisma alanidir.
   - Bu alanin icinde UIM hiyerarsisi olarak Company ve Resource Domain olusturun.
   - "Simulated UIM Installation Profile" altinda temsil edilecek UIM kullanim modelini secin:
       Enterprise Edition / Internal Use: tek Company ve tek Resource Domain.
       Service Provider Edition / SaaS: birden fazla Company; her Company icin tek Resource Domain.
   - Company bu simulator'da tenant siniridir. Her Company tam olarak bir Resource Domain sahibidir.
   - Tum profiller Self-hosted kabul edilir; Hosting Model ekranda ayrica gosterilmez.
   - Datacenter, partner ve son musteri hiyerarsisi UIM urununun sorumlulugudur; simulator bu ticari hiyerarsiyi modellemez.
   - Yeni Company ve Resource Domain ilk olarak DRAFT durumunda olusur.
   - Zorunlu PRIMARY Site olusturuldugunda Resource Domain ACTIVE olur.
   - SECONDARY ve TERTIARY Site'lar Disaster Recovery icin istege baglidir.
   - Provider Deployment'lar bu Site'larin icinde olusturulur; her Site icinde N adet deployment olabilir.
   - Ayni Site icinde birden fazla Proxmox, VMware veya baska ayni Provider Type kullanilabilir.
   - Her Provider Deployment bagimsiz bir provider kurulumudur; Favorites listesindeki kaynaklar deployment'lar arasinda karismaz.
   - Kaynaklari olusturmadan once en az bir Resource Group ve DR Policy tanimlayin.
   - Her VM icin global ve degismez bir UIM Resource ID otomatik olusur.
   - Provider Resource ID vendor'a aittir ve Provider Deployment icinde benzersizdir. Proxmox'ta bu deger VMID'dir.
   - Proxmox VM olustururken VMID girmeyin; simulator siradaki uygun VMID'yi otomatik atar.
   - Resources listesinden VM'e tiklayarak detaylarini acabilir; Start, Stop ve Reboot islemlerini dogrudan buradan yapabilirsiniz.
   - Kurulumdan sonra Company, Resource Domain, Resource Group veya sanal kaynak otomatik olusmaz; yalnizca Provider Type katalogu hazir gelir.
   - Sanal datacenter'i tamamen bastan kurmak icin admin kullanicisi Virtual Environment ekranindaki "Reset Simulator" islemini kullanabilir.
   - Reset; Company, Resource Domain, Site, Provider Deployment, Resource Group, sanal kaynak, task ve activity kayitlarini siler. Provider katalogu, Favorites, senaryolar, kurulum profili ve sistem tablolari korunur.

7. GUNLUK YONETIM KOMUTLARI

   Linux/macOS:

       ./uimctl status     Calisma durumunu gosterir.
       ./uimctl logs       Uygulama kayitlarini gosterir.
       ./uimctl stop       Uygulamayi durdurur; verileri silmez.
       ./uimctl start      Uygulamayi baslatir.
       ./uimctl restart    Uygulamayi yeniden baslatir.
       ./uimctl backup     Veritabaninin yedegini alir.

   Windows PowerShell:

       .\uimctl.ps1 status
       .\uimctl.ps1 logs
       .\uimctl.ps1 stop
       .\uimctl.ps1 start
       .\uimctl.ps1 restart
       .\uimctl.ps1 backup

8. VERILER VE YEDEKLEME

   - Uygulama durdurulsa veya bilgisayar yeniden baslatilsa bile veriler korunur.
   - Duzenli olarak backup komutunu calistirin.
   - Yedekler kurulum klasorundeki backups dizinine yazilir.
   - .uim-secrets klasorunu ve .env.appliance dosyasini yetkisiz kisilerle paylasmayin.
   - "docker compose down --volumes" komutunu kullanmayin; bu komut kalici verileri silebilir.

9. SORUN GIDERME

   - Once Docker Desktop veya Docker Engine'in calistigini kontrol edin.
   - Linux/macOS'ta asagidaki komutlari sirasiyla calistirin:

       ./uimctl doctor
       ./uimctl status
       ./uimctl logs

   - Windows PowerShell'de asagidaki komutlari sirasiyla calistirin:

       .\uimctl.ps1 doctor
       .\uimctl.ps1 status
       .\uimctl.ps1 logs

   - 3035 portu kullaniliyorsa .env.appliance dosyasindaki UIM_PORT degerini bos bir portla degistirin ve uygulamayi yeniden baslatin.
   - Destek talebi acarken isletim sistemi, UIM Simulator surumu ve logs komutunun ciktisini iletin. Parola veya .uim-secrets icerigini gondermeyin.

10. GUNCELLEME

   - Size yeni bir UIM Simulator paketi veya imaj surumu verildiginde mevcut kurulum klasorunuzu kullanmaya devam edin.
   - Once yedek alin:

       ./uimctl backup

     Windows PowerShell:

       .\uimctl.ps1 backup

   - .env.appliance dosyasindaki UIM_SIMULATOR_IMAGE ve UIM_SIMULATOR_VERSION degerlerini size bildirilen yeni surum degerleriyle degistirin.
   - Offline guncelleme paketinde images.tar varsa once imajlari yukleyin:

       docker image load --input images.tar

   - Linux/macOS guncelleme komutu:

       ./uimctl upgrade

   - Windows PowerShell guncelleme komutu:

       .\uimctl.ps1 upgrade

   - Yeni paketi mevcut kurulum dizinine acin; .env.appliance, secret ve backups dosyalarini koruyun.
   - Guncelleme paketi dogrular ve imajlari hazirlar, uygulamayi durdurur, yedek alir ve migration uygular.
   - Hata durumunda uygulama durmus kalir. Ayrintili kurtarma adimlari UPGRADING.md dosyasindadir.
