Kurulum ve işletim

Kurulum ve işletim

Beş kurulum seçeneği, gereksinimler, thulpar install, ilk çalıştırma sihirbazı, kimlik, lisans, yükseltme ve yedek, izleme, boyutlandırma, Kubernetes, air-gap ve üretim kontrol listesi.

Güncelleme: Ekim 2026

Beş seçenek

Aynı imajlar her seçenekte: kurum içi kurulum, kapalı ağ, Kubernetes, bizim işlettiğimiz yönetilen özel kurulum ve Aginies’e gömülü. Fark kurulum yolu, kimlik kaynağı ve ağ kurallarındadır; politika, defter ve konsol değişmez.

SeçenekKim içinNasılAğ
Kurum içi kurulumKendi veri merkezini işleten kurumlarthulpar kurulum aracı; imajlar müşteriye özel salt-okunur belirteçle çekilir, özete sabitlenirKurulum ve yükseltmede yalnız kayıt defteri; çalışma zamanında sıfır
Kapalı ağ (air-gap)Savunma, kamu, kritik altyapıMimari başına tek .tar: kit, imajlar, modeller, lisans metinleri; sha256 + cosignHiçbir zaman, hiçbir yere
Kubernetes (Helm)Mevcut kümesi ve GitOps akışı olan platform ekipleriHelm chart: kısıtlı pod güvenlik standardı, NetworkPolicy’ler, Prometheus kuralları, Grafana panosuNetworkPolicy ile egress kapalı
Yönetilen özel kurulumAltyapı işletmek istemeyen, veri yerelliği şartı olan kurumlarTürkiye’deki doğrulanmış veri merkezlerinde tek kiracılı kurulum; aynı imajlar; gerektiğinde kurumun sunucularına taşınırÖzel bağlantı ya da allowlist’li TLS
Aginies’e gömülüAginies Platform kullanan kurumlarAginies dağıtımıyla; Platform SSO; adaptörler açıkAginies ağının içinde; dışarıya çıkış yok

Gereksinimler ve kurulum

İşletim sistemi
Linux, amd64 ya da arm64; her imaj iki mimari için yayımlanır (bir H200 sunucusu amd64, bir DGX Spark arm64 paketini kurar)
Konteyner
Docker Engine 24+, Compose 2.20+; araçlar: bash, openssl, curl, tar, sha256sum; cosign isteğe bağlı
Donanım (Başlangıç)
8 vCPU, 16 GB RAM, 40 GB boş disk; GPU katmanları için ek olarak 1 × 24 GB, 1 × 48 GB ya da 2 × 48 GB+ GPU — çoğu zaman kurumun kendi vLLM uç noktaları
Ağ
Kayıt defteri kurulumu yalnız ghcr.io’ya, yalnız kurulum ve yükseltmede; üçüncü taraf imajlar da satıcının aynasından. Portlar 8050, 8051, 8053; 9051/9053 yalnız loopback
Saat
NTP; lisans kurulumun saatine göre yargılanır ve geri alınan saat reddedilir
sha256sum -c thulpar-kit-0.7.0.tar.gz.sha256
tar -xzf thulpar-kit-0.7.0.tar.gz && cd thulpar-kit-0.7.0
sudo ./thulpar install --method registry --registry-user <user> \
     --public-url https://thulpar.corp.internal --gpu endpoints
#   asks for the registry token (not echoed); --token-file for automation; --yes non-interactive
#   air-gap: tar -xf thulpar-0.7.0-airgap-amd64.tar && sudo ./thulpar-0.7.0-airgap-amd64/thulpar install --method airgap
thulpar status --show-token        # the one-time bootstrap token for the wizard
  1. Ön kontroller: Docker, Compose, araçlar, mimari, vCPU/RAM/disk, portlar, saat eşitlemesi, gerekiyorsa NVIDIA çalışma zamanı.
  2. Doğrulama: her kit dosyası sağlama dosyasıyla; paket manifest ve cosign imzasıyla (--require-signature zorunlu kılar).
  3. Dosyalar ve yapılandırma: kit /opt/thulpar’a; her klasörde .env, tüm gizli anahtarlar üretilir, tek kullanımlık kurulum belirteci.
  4. İmajlar: kayıt defterinden belirteçle (diske yazılmaz) ya da paketten docker load; her servis imaj özetine sabitlenir ve bir daha çekmez.
  5. Modeller: katmanın ağırlıkları model birimine, her dosya katalogla yeniden hash’lenir; uyuşmayan içe aktarım kurulumu durdurur.
  6. Başlatma ve sağlık kapısı: Postgres, Valkey, göçler, api, geçit, dedektörler, konsol; her konteyner sağlıklı ve api bu sürümle yanıt veriyor.
  7. Özet: konsol adresi ve sihirbaz için kurulum belirteci. Duran bir kurulum aynı komutla kaldığı yerden sürer.

İlk çalıştırma ve kimlik

İlk yönetici oluşana kadar hiçbir oturum açılmaz; her konsol adresi sihirbaza gider. On adım, ilerleme sunucuda saklanır: bırakıp başka bir gün, başka bir tarayıcıda sürdürülür. Her adım sonraya bırakılabilir; bitirmek bir config_change olayı olarak deftere yazılır.

  1. Hoş geldiniz: sürüm, imaj özetleri, kurulum kimliği (ins_…).
  2. Kurulum belirteci: tek kullanımlık; ilk yöneticiden sonra tüm belirteçler yakılır.
  3. İlk yönetici: yerel hesap + TOTP (QR tarayıcıda çizilir) ya da IdP üzerinden bağlama.
  4. Giriş: yalnız yerel · kurumsal SSO (OIDC) + break-glass (önerilen) · yalnız SSO; discovery ve SSO deneme girişi testleri.
  5. Lisans: kurulum kimliğini satıcıya verin, imzalı dosyayı yükleyin; kapsanan kiracılar, süre, özellikler görünür.
  6. Ağ ve sertifikalar: kurumsal CA paketi, TLS el sıkışma testi, egress izin listesi (varsayılan boş).
  7. Dedektörler: katalogdan seçim, bellek tahmini konteynerin sınırına karşı, model uç noktaları (kendi vLLM’iniz).
  8. İlk kiracı: kiracı, sektör şablonu (CPU’da -baslangic varyantı önerilir), iki kişilik aktivasyon, bir kez gösterilen ilk API anahtarı.
  9. Kanıt ve saklama: yerel birim ya da S3-uyumlu depo, kurulum geneli asgari saklama.
  10. Özet: yeşil/sarı/kırmızı sağlık listesi, her satır onu düzelten adıma bağlı.
  • Kimlik bir kurulum ayarıdır: OIDC (discovery, PKCE, rol ve kiracı eşlemesi, ön ve arka kanal çıkış) ve yerel hesaplar konsoldan, yeniden başlatmadan açılıp kapanır. Kendinizi dışarıda bırakamazsınız: yerel hesapları kapatmak için önce başarılı bir SSO deneme girişi gerekir.
  • Yerel hesaplar: argon2id parolalar (en az 12 karakter), isteğe bağlı ya da zorunlu TOTP, kilitlenme, yalnız başka bir SUPER_ADMIN tarafından sıfırlama; e-posta ile sıfırlama yoktur. Break-glass kullanımı deftere yazılır.
  • Konsol bir yönetici konsoludur: yalnız SUPER_ADMIN ve TENANT_ADMIN girer; onaylayanlar yalnız onay kutusunu görür. Oturumlar kayan boşta kalma süresi ve mutlak ömür taşır.

Lisans

Lisans, satıcının Ed25519 ile imzaladığı bir JSON belgesidir: müşteri, kapsanan kiracılar (ya da hepsi), tür, geçerlilik tarihleri, özellikler, katmanlar, imzalayan anahtar kimliği ve kurulum kimliği. Konsolda yüklenir ya da dosya olarak bağlanır; doğrulama anahtarları imaja derlidir ve hiçbir ortam değişkeni anahtar ekleyemez. Hiçbir kiracı ihmalle lisanslanmaz: belgenin adlandırmadığı kiracının enforce denetimleri 402 alır.

FIXED_TERM
Sabit süreli; kontrol sayısından bağımsız
PER_TRANSACTION
Enforce modunda tamamlanan denetimler sayılır; shadow, audit ve asenkron takip olayları sayılmaz. Sayım günlük kontrol noktası olarak deftere zincirlenir; satır silmek sayımı yalnız yükseltir. Yenileme raporu çevrimdışı doğrulanır.
Özellikler
Belge features listeliyorsa gateway (/v1/*), mcp (/mcp/:server) ve console (kontrol düzlemi) buna göre açılır; listede olmayan 402 LICENSE_FEATURE alır. Boş liste hiçbir şeyi kısıtlamaz.
Kurulum bağlama
Belge kurulum kimliğini adlandırabilir; yabancı bir belge reddedilir. Kimlik yedekten geri yüklemede korunur; boş veritabanına yeniden kurulum yeni kimlik üretir.
Saat
Kurulum asla düşmeyen bir saat yüksek su işareti tutar; saat bunun gerisine düşerse enforce denetimleri 402 CLOCK_ROLLBACK alır, ilk tespit deftere yazılır. Shadow lisanslı kiracıyı engellemez.
Yenileme
Aynı lisans kimliğiyle yeni bir belge; yüklenince öncekini emekliye ayırır, başlangıcı ilerideyse yanında bekler. Konsol 14 gün önce uyarır; yeniden başlatma gerekmez.
Lisanssız shadow bir dönemdir: geçerli lisansı olmayan bir kiracı, ilk shadow ya da audit denetiminden itibaren varsayılan 30 gün boyunca (0–365, kurulum ayarı) bu modlarda çalışır: hiçbir şey engellenmez, hiçbir şey sayılmaz, her şey deftere yazılır. Dönem kiracı başına bir kezdir, saat geri almayla uzamaz ve bir SUPER_ADMIN “Şimdi bitir” diyebilir. Sonrasında shadow ve audit de 402 alır.

Yükseltme, yedek, geri yükleme, izleme

thulpar upgrade 0.7.0 --kit thulpar-kit-0.7.0.tar.gz   # or --registry-user <user>; air-gap: the new bundle's own installer
thulpar rollback                                      # back to the version before the last upgrade
thulpar backup --out /backup/thulpar --passphrase-file /root/thulpar-backup.pass --keep 14
thulpar restore /backup/thulpar/thulpar-backup-0.7.0-20261014T021500Z.tar.enc --passphrase-file /root/thulpar-backup.pass
thulpar status                                        # version, containers, health, installation id, last backup; exit 1 when down
thulpar detectors-mtls on|off|renew|status            # optional internal mTLS api/gateway → detectors
  • Yükseltme: yeni kit doğrulanır ve onun kurulum aracı devralır; sürüm aralığının yükseltme notları gösterilir; operatör eylemi gerektiren kapılar durdurur; yükseltme öncesi yedek; imajlar ve değişen modeller; .env dosyaları korunur; sıralı yeniden başlatma (göçler ileri yönlü); sağlık kapısı ve defter doğrulaması. Kapı geçmezse thulpar rollback (ya da --auto-rollback).
  • Yedek: pg_dump ile tüm veritabanı (defter, ayarlar, hesaplar, paketler, anahtarlar, lisans belgeleri, onaylar), üretilmiş kanıt paketleri, .env dosyaları ve eklenen dosyalar; isteğe bağlı AES-256 + HMAC, parola ile; Valkey ve model paketi yedekte değildir. Yedeği host dışına kopyalayın, parolayı ayrı tutun.
  • Geri yükleme: yerinde ya da yeni bir makineye (aynı kurulum kimliği, şifreleme ve imzalama anahtarı; bağlı lisans geçerli kalır); aynı ya da daha yeni sürüme; sonunda her defter zinciri hash hash yeniden hesaplanır.
  • İzleme: Prometheus /metrics api 9051 ve geçit 9053’te, yalnız loopback (isteğe bağlı belirteç); kararlar aşama/karar/ray başına, denetim ve dedektör gecikmesi, atılan istekler, onay birikimi, lisans ve sertifika günleri, veritabanı boyutu. Etiketler sınırlı sözcüklerdir; hiçbir zaman kiracı kimliği ya da içerik değil.
  • Kitteki uyarı kuralları (promtool ile test edilir) ve Grafana panosu: hedef düştü, dedektör yönlendiricisi düştü, dedektör hizmet veremiyor, ray süre aşımları ve hataları, atılan istekler, defter zinciri kırık, lisans bitiyor, kiracı lisanssız, sertifika bitiyor, disk doluyor. OpenTelemetry izleri yalnız bir uç nokta verildiğinde, içeriksiz.
  • Zamanlanmış işler api’de, kurulumun saat dilimiyle: günlük çapa, örnek temizliği, gece zincir doğrulaması, lisans kullanım kontrol noktası, zamanlanmış kanıt paketleri.

Boyutlandırma, Kubernetes, air-gap

CPU · 8 vCPU / 16 GB RAM, GPU yokBaşlangıçPilot, shadow mod, GPU’suz ortamlar, kenar kurulumlar
1 × 24 GB GPUStandartTek uygulama, üretim; sektör şablonlarının asgari katmanı
1 × 48 GB (ya da 2 × 24)ÖnerilenÇok uygulamalı kurum; politika yargıcı ve görüntü; savunma ve kamu şablonları
2 × 48 GB+, çoğaltılmışPerformansBanka ölçeği, yüksek erişilebilirlik, çok kiracılı kurulumlar

Katman yalnız hangi dedektörlerin kurulu olduğunu belirler; politika modeli aynıdır. Başlangıç tek bir CPU makinesinde çalışır ve pilotlar, shadow mod ve kenar kurulumlar için yeterlidir; jailbreak ve içerik güvenliği koruyucuları yanıttan sonra asenkron çalışır. Standart tek bir üretim uygulaması için sektör şablonlarının asgari katmanıdır; Önerilen çok uygulamalı kurumlara görüntü moderasyonu ve politika yargıcını ekler; Performans banka ölçeği, yüksek erişilebilirlik ve çok kiracılı kurulumlar içindir.

Bellek, seçilen dedektörlerin toplamıdır ve konsol değişikliği uygulamadan önce tahmini gösterir. Model destekli bir rayın süre bütçesini tutması gerekiyorsa çekirdekleri, rayın eşzamanlılığını ya da bütçesini ayarlayın ya da bir GPU katmanına geçin; sonra yük sondasını kendi metinlerinizle kendi makinenizde çalıştırın. Disk, olayların ömrü için planlanır: olaylar hiç silinmez, yalnız örnekler silinir.

Kubernetes: Helm chart kısıtlı pod güvenlik standardıyla, NetworkPolicy’lerle (egress kapalı; model indirme yalnız açıkça etkinleştirilirse), PrometheusRule ve Grafana panosuyla gelir. api ve geçit yatay ölçeklenir, durum Postgres ve Valkey’dedir; dedektör katmanı kendi (GPU) düğüm havuzuna yerleşir. İlk çalıştırma, yedek ve geri yükleme Compose’dakiyle aynı mantıktadır; chart CI’da helm lint, kubeconform ve kind üzerinde duman testinden geçer.

Air-gap: mimari başına tek bir paket; kit, tüm imajlar, model ağırlıkları ve lisans metinleri; sha256 ve cosign imzasıyla bağlantılı bir makinede doğrulanır, taşıma medyası satıcı tarafından hazırlanır. Model indirme kapalıdır; modeller tar olarak gelir ve her dosya kataloğa karşı yeniden hash’lenir. Yükseltme de bir pakettir; kanıt paketleri çevrimdışı doğrulanır.

# connected machine: verify the release signature, then the checksum
cosign verify-blob --bundle thulpar-0.7.0-airgap-amd64.tar.sha256.sigstore.json \
  --certificate-identity "https://github.com/abrapartners/thulpar-guard/.github/workflows/release.yml@refs/tags/v0.7.0" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com thulpar-0.7.0-airgap-amd64.tar.sha256
sha256sum -c thulpar-0.7.0-airgap-amd64.tar.sha256

# models without the bundle: export on a connected install, import on the closed one
thulpar-admin models export --out /media/thulpar-models.tar
thulpar-admin models import /media/thulpar-models.tar

Üretim kontrol listesi

  1. Makine katmana göre boyutlandırıldı; disk olayların ömrü için planlandı; kurulum üretim varsayılanlarıyla yapıldı (LAB MODE satırı yok).
  2. Konsol, api ve geçit TLS sonlandıran bir ters proxy arkasında; genel adres https; yalnız 8050/8051/8053 dışarıdan erişilebilir, 9051/9053 loopback’te.
  3. Postgres, Valkey ve dedektörler yayımlanmadı; iç ağlar internal; GPU adaptörünün köprüsü host güvenlik duvarında vLLM sunucularına sınırlandı.
  4. İlk çalıştırma bitti, kurulum belirteci harcandı; IdP varsa OIDC, yerel yöneticiler yalnız break-glass ve TOTP ile.
  5. Gizli anahtarlar üretildi, .env dosyaları 0600 ve yalnız yedekte; imzalama anahtarı ayarlı, açık yarısı denetçiye ayrı kanaldan verildi.
  6. Lisans yüklendi; etkin her kiracının lisansı var; sektör şablonu katmana uyuyor; kapalı düşen ray yok.
  7. Yeni raylar önce shadow’da; kapalı duruşlar ölçüldükten sonra.
  8. Prometheus api ve geçidi topluyor; uyarı kuralları yüklü ve bir alıcıya ulaşıyor; pano içe aktarıldı; yük sondası kendi metinlerinizle çalıştırıldı.
  9. Saklama ayarlandı (kurulumun yasal tabanı); aylık ya da üç aylık kanıt paketleri zamanlandı; haftalık tam zincir doğrulaması cron’da.
  10. Günlük şifreli yedek, host dışında bir kopya, parola ayrı; bir geri yükleme denendi ve süresi ölçüldü.
  11. Nöbetçi ekip işletim kılavuzlarına sahip; satıcı güvenlik iletişimi biliniyor.