İçeriğe geç

On-prem kurulumu

AppArch’ı kendi altyapınızda (on-prem) çalıştırabilirsiniz. Kurulum paketi ve lisans, sözleşmeniz kapsamında AppArch ekibi tarafından size iletilir.

NeNe işe yarar
LisansKurulumun limitlerini ve süresini belirler; yalnızca bir kurulumda çalışır. İnternete çıkan kurulumlarda ilk açılışta kurulum kimliğinizle otomatik alınır; internete kapalı kurulumlara kurulum koduna bağlı bir apparch.lic dosyası iletilir - bkz. Bir lisans, bir kurulum.
Kurulum kimliği (installation ID)AppArch imaj deposuna giriş yaparken kullanıcı adı olarak kullanılır.
Kurulum anahtarı (installation key)Aynı girişte parola olarak kullanılır. Yalnızca bir kez iletilir.
Kurulum paketiServisleri ayağa kaldıran yapılandırma dosyaları ve adım adım kurulum kılavuzu.

Kurulum kimliği ve anahtarı lisansınıza bağlıdır: imajlar herkese açık listelenmez, yalnızca bu kimlik bilgileriyle indirilebilir.

Terminal window
docker login hub.apparch.io -u <kurulum-kimliği> -p <kurulum-anahtarı>

Giriş başarılıysa kurulum paketindeki adımlarla servisleri başlatabilirsiniz.

Yerleştirilecek bir anahtar dosyası yoktur: lisansın AppArch tarafından verildiğini kanıtlayan anahtar imajların içinde gelir.

Bir lisans yalnızca bir kurulumda çalışır. Lisansı çevrimiçi (kurulum kimliği + kurulum anahtarı) ilk alan kurulum onu kendine bağlar; aynı lisansı isteyen başka bir kurulum “Bu lisans başka bir kurulumda kullanılıyor” hatasıyla reddedilir.

Kurulum, aynı veritabanını paylaşan her şeydir: her pod ya da kopya aynı kurulum kodunu okur; bu yüzden Api’yi veya UI’ı birden fazla pod’a çıkarmak aynı lisansla çalışır ve AppArch’tan bir şey gerektirmez.

İnternete kapalı kurulumlar, kurulum koduna bağlı bir lisans dosyası alır:

  1. Servisleri başlatın.
  2. Kurulum sihirbazının lisans adımını açıp Lisans dosyası yapıştır seçeneğini seçin ya da kurulumu tamamlanmış bir sistemde Yönetim → Ayarlar → Lisans ekranına gidin.
  3. Orada gösterilen kurulum kodunu kopyalayıp AppArch’a gönderin.
  4. Size gelen .lic dosyasını ./license/apparch.lic yoluna koyun ya da içeriğini sihirbaza yapıştırın.

Bu dosya yalnızca o kurulumda çalışır.

Yeni sunucuya taşıma: AppArch’tan lisansı serbest bırakmasını isteyin, ardından lisansı yeni sunucudan tekrar alın.

Çevrimiçi bir kurulum saatte bir AppArch’a bağlanır (https://gateway.apparch.io, dışa giden HTTPS). Her bağlantı lisansı yeniler; elle bir şey yapmanız gerekmez, ama sunucunun bu adrese erişebilmesi gerekir.

  • Bitiş tarihi olan bir lisans, başarılı bir bağlantı olmadan iki hafta çalışmaya devam eder; bir güvenlik duvarı değişikliği ya da kesinti hiçbir şeyi hemen durdurmaz. İki hafta boyunca bağlantı kurulamazsa kurulum, AppArch’a yeniden erişene kadar durur.
  • Bitiş tarihi olmayan bir lisans bu bağlantıya bağlı değildir.
  • İnternete kapalı kurulumlar hiç bağlanmaz: lisans dosyaları bitiş tarihine kadar çalışır.

Kurulum durduğunda - lisans iptal edildiyse, bağlantı iki hafta kurulamadıysa ya da lisansın süresi 14 günden fazla önce dolduysa - Yönetim dışındaki her ekran sebebiyle birlikte “Bu kurulum durduruldu” gösterir; hiçbir şey analiz edilmez ya da kaydedilmez. CI adımları kırılmaz: collector bir uyarı yazıp başarıyla geçer, böylece lisans merge request’lerinizi hiçbir zaman engellemez. Yönetim → Ayarlar → Lisans ekranından geçerli bir lisans yüklemek, yeniden başlatmadan durumu hemen kaldırır.

Aylık limitler. Lisansınız ArchScan raporlarını, ArchSecurity taramalarını ve ArchPilot yorumlarını takvim ayı başına, kurulumun tamamı için sınırlayabilir. Limiti aşan rapor kaydedilmez ve collector uyarıyla geçer; ArchPilot incelemeleri kaydetmeye devam eder ama merge request’lere yorum yazmayı bırakır. Limitler her ayın 1’inde sıfırlanır; güncel kullanım Yönetim → Ayarlar → Lisans ekranında görünür.

Lisanstaki özellikler. Üç özellik lisansınıza bağlıdır: tekli oturum açma (LDAP ile giriş), denetim kaydı (Yönetim → Denetim ekranını görüntüleme; işlemler her durumda kaydedilir) ve gelişmiş raporlama (rapor dışa aktarma ve zamanlanmış rapor e-postaları). Hangilerinin lisansınızda olduğu aynı lisans ekranında görünür.

  • Docker Engine 24+ ve compose eklentisi
  • PostgreSQL ve Redis (kurulum paketiyle birlikte gelir)
  • Kullanıcılarınızın erişeceği bir HTTP(S) adresi
  • Çevrimiçi kurulumlar için dışa giden HTTPS: gateway.apparch.io (saatlik lisans kontrolü) ve hub.apparch.io (imajlar)
  • İlk açılışta karşınıza kurulum sihirbazı çıkar ve yönetici hesabını oluşturursunuz.
  • Veritabanı şeması her açılışta otomatik olarak güncellenir; elle SQL çalıştırmanız gerekmez.
  • E-posta (SMTP veya Postmark), LDAP girişi ve lisans yenileme, uygulama içindeki Yönetim alanından yapılır - orada yaşayan her şey için (kayıt anahtarı, davet edilebilir alan adları, kurulum geneli iki adımlı doğrulama anahtarı dahil) yönetim rehberine bakın.

API açılışını konteyner logunda anlatır (docker compose logs -f api): veritabanına bağlanma (host ve port - asla kimlik bilgisi değil), bootstrap kilidini alma, bekleyen migration’ları uygulama, referans verisini seed’leme, lisansı yükleme ve sonunda Boot complete - accepting requests. Açılış başarısız olursa, stack trace’in üstündeki tek satır ölen aşamayı söyler.

İki konteyner de kimlik doğrulamasız problar sunar:

UçAnlamı
GET /health/liveSüreç HTTP servis ediyor. Bağımlılık kontrolü yok.
GET /health/readyTrafiğe hazır - API PostgreSQL ve Redis’i, UI ise API’yi kontrol eder.

Paketteki docker-compose.yml bunları konteyner healthcheck’i olarak bağlar (UI, API sağlıklı olana kadar bekler - yalnız başlamış olana değil). Kubernetes’te livenessProbe’u /health/live’a, readinessProbe’u /health/ready’ye yönlendirin ve API’ye cömert bir başlangıç penceresi verin - ilk açılış migration ve seed çalıştırır.

  • Commit kontrolü. Her ArchScan, ArchSecurity ve SmartScan raporu commit’ini bildirir; API bunu projenin deposunda, projenin kimlik bilgisiyle arar. Deponun kesin olarak sahip olmadığı bir commit 422 report_commit_not_found ile reddedilir ve CI adımı başarısız olur: proje token’ı başka bir deponun pipeline’ında ya da hiç push edilmemiş bir çalışmada kullanılıyordur. Commit kontrol edilemediğinde (kimlik bilgisi yok, sağlayıcıya ulaşılamıyor) rapor saklanır. COMMIT_VERIFICATION=Record yalnızca kayda geçirir, Off kontrolü atlar.
  • Sıkıştırılmış raporlar. Güncel collector’lar rapor gövdelerini gzip ile sıkıştırarak gönderir (büyük bir rapor yaklaşık sekiz kat küçülür); ayarlanacak bir şey yoktur.

İmaj etiketlerini yeni sürüme çevirip docker compose pull && docker compose up -d. Bekleyen migration’lar sırayla, tek tek, kaç sürüm atlarsanız atlayın uygulanır - 1.0.0’daki kurulum 1.0.12’ye geçerken on iki migration’ın hepsi ilk açılışta, çok kopyalı kurulumları çakıştırmayan bir veritabanı kilidi altında koşar. Yükseltmeden önce veritabanı yedeği alın; migration’lar yalnız ileri gider.

Önce lisansı kontrol edin. Yeni imaj, çalışan sürümün yerine geçmeden önce bu kurulumun lisansını kabul edip etmeyeceğini söyleyebilir. Kontrol veritabanını okur, hiçbir şeyi değiştirmez; mevcut sürüm çalışmaya devam eder:

Terminal window
APPARCH_API_IMAGE=hub.apparch.io/apparch/api:<yeni-sürüm> docker compose run --rm --no-deps api --check-license

Sonuç Result: safe to upgrade. (çıkış kodu 0) ya da Result: do not upgrade yet. (çıkış kodu 1) olur ve eksik olanı yazar: çevrimiçi kurulumda kurulum kimliği ve anahtarı tanımlı, AppArch erişilebilir olmalı; internet erişimi olmayan kurulumda kurulum koduna bağlı lisans dosyası license/apparch.lic yolunda olmalı. Yalnız kontrol geçtikten sonra yükseltin.

On-prem lisanslama ve fiyatlandırma satış ekibiyle yürütülür: apparch.io.