Altyapınız, güçlendirilmiş.
> [English](README.md) | Türkçe  [](https://app.codecov.io/gh/kastelldev/kastell)     [](https://socket.dev/npm/package/kastell) [](https://snyk.io/test/github/kastelldev/kastell) [](https://kastell.dev) [](https://deepwiki.com/kastelldev/kastell)  ## Neden Kastell? Sunucu guvenligi parcali. Lynis tarar ama duzeltmez. OpenSCAP guclu ama karmasik. Ozel script'ler bir sure calisir, sonra kimse bakmaz. Her aracin ayri cikti formati, ayri guncelleme dongusu, ayri ogrenme egrisi var. **Kastell farkli bir yaklasim benimser:** tek CLI ile denetle, duzelt, kilitle ve izle. Sunucunu tara, guvenli fix'leri uygula, uretim standartlarina kilitle ve izlemeye devam et -- hepsi ayni aracla. **Ilk gunden yapay zeka uyumlu.** Kastell yerlesik MCP sunucusuyla gelir; Claude, Cursor veya herhangi bir MCP uyumlu yapay zeka ajanı sunucularinizi dogrudan yonetebilir. Bir prompt'tan uretim siklastirmasina saniyeler icinde gecin. Bir sunucuyu guvenli hale getirmek icin dort ayri araca ihtiyaciniz yok. ## Hızlı Başlangıç ```bash # İnteraktif mod -- komut ezberlemeye gerek yok npx kastell ``` `kastell` komutunu argümansız çalıştırdığınızda gradient ASCII banner ve hızlı başlangıç örnekleriyle birlikte **interaktif arama menüsü** açılır. Emoji kategorileriyle gruplanmış tüm işlemleri görebilir, yazarak anında filtreleyebilir ve alt seçenekleri adım adım yapılandırabilirsiniz -- komut adı veya flag ezberlemek zorunda değilsiniz. ``` ██╗ ██╗ ██████╗ ███████╗████████╗███████╗██╗ ██╗ ██║ ██╔╝ ██╔══██╗ ██╔════╝╚══██╔══╝██╔════╝██║ ██║ █████╔╝ ███████║ ███████╗ ██║ █████╗ ██║ ██║ ██╔═██╗ ██╔══██║ ╚════██║ ██║ ██╔══╝ ██║ ██║ ██║ ██╗ ██║ ██║ ███████║ ██║ ███████╗███████╗███████╗ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚══════╝╚══════╝ KASTELL v2.3.1 · Your infrastructure, fortified. $ kastell init --template production → deploy a new server $ kastell status --all → check all servers $ kastell secure setup → harden SSH + fail2ban $ kastell maintain --all → full maintenance cycle ? What would you like to do? Server Management ❯ Deploy a new server Add an existing server List all servers ... Security Harden SSH & fail2ban Manage firewall (UFW) ... ``` Her işlem alt seçenekler (sunucu modu, şablon, log kaynağı, port numarası vb.) içerir ve istediğiniz noktada ana menüye dönmek için **<- Back** seçeneği sunar. Komutları zaten biliyorsanız, doğrudan da kullanabilirsiniz: ```bash kastell init # Yeni sunucu kur kastell status sunucum # Sunucu durumunu kontrol et kastell backup --all # Tüm sunucuları yedekle ``` Kastell sunucu oluşturma, SSH anahtar kurulumu, güvenlik duvarı yapılandırması ve platform kurulumunu otomatik yapar. ## Kastell'i Farklı Kılan Ne? | Problem | Çözüm | |---------|-------| | Güncelleme sunucuyu bozdu mu? | `maintain` ile güncelleme öncesi snapshot koruması | | Sunucunuz sağlıklı mı bilmiyor musunuz? | Yerleşik izleme, sağlık kontrolleri ve `doctor` tanılama | | Güvenlik sonradan mı düşünülüyor? | Güvenlik duvarı, SSH sıkılaştırma, SSL ve güvenlik denetimi hazır | | Yedekleme? Belki bir gün... | Tek komutla yedekleme ve geri yükleme, manifest takibiyle | | Birden fazla sunucu mu yönetiyorsunuz? | Yedekleme, bakım, durum ve sağlıkta `--all` desteği | | Mevcut sunucu takip dışı mı? | `kastell add` ile her sunucuyu yönetime alın | | Komutları ezberlemek mi? | `kastell` yazın -- interaktif menü sizi yönlendirir | ## Kastell vs Alternatifler | Ozellik | Kastell | Lynis | OpenSCAP | |---------|---------|-------|----------| | Kurulum | `npm i -g kastell` | Paket yoneticisi | Paket yoneticisi | | Dil | TypeScript | Shell | C/Python | | Guvenlik Kontrolleri | 449 | 300+ | Profile gore degisir | | Otomatik Duzeltme | Guvenli katman | Sadece oneri | Sadece oneri | | MCP (AI Ajan) | 17 arac | -- | -- | | Uyumluluk | CIS, PCI-DSS, HIPAA | CIS, HIPAA | CIS, STIG, PCI-DSS | | Bulut Saglama | 4 saglayici | -- | -- | | Siklastirma (Lock) | 24 adim | -- | -- | | Uzaktan Izleme | Guard daemon | -- | -- | | Telegram Bot | Yerlesik | -- | -- | | Platform Destegi | Linux (SSH) | Linux/macOS/BSD | Linux | | Lisans | Apache 2.0 | GPL-3.0 | LGPL-2.1 | ## Neler Yapabilirsiniz? ### Kurulum ```bash kastell # İnteraktif menü (önerilen) kastell init # İnteraktif kurulum (doğrudan) kastell init --provider hetzner # Otomatik kurulum kastell init --config kastell.yml # YAML ile kurulum kastell init --template production # Şablon kullanarak kastell init --mode bare # Genel VPS (platform yok) kastell init --mode dokploy # Dokploy (Docker Swarm PaaS) ``` ### Yönetim ```bash kastell list # Sunucuları listele kastell status sunucum # Sunucu durumu kastell status --all # Tüm sunucuları kontrol et kastell ssh sunucum # Sunucuya SSH bağlantısı kastell restart sunucum # Sunucuyu yeniden başlat kastell destroy sunucum # Bulut sunucusunu tamamen sil kastell add # Mevcut sunucu ekle kastell remove sunucum # Yerel yapılandırmadan kaldır kastell config set key value # Varsayılan yapılandırma yönet kastell config validate # servers.yaml yapısını ve tiplerini doğrula kastell export # Sunucu listesini JSON'a aktar kastell import servers.json # JSON'dan sunucuları içe aktar ``` ### Güncelleme ve Bakım ```bash kastell update sunucum # Platformu güncelle (Coolify veya Dokploy, sunucu kaydından otomatik algılanır) kastell update sunucum --dry-run # Güncellemeyi çalıştırmadan önizle kastell maintain sunucum # Tam bakım (snapshot + güncelleme + sağlık + yeniden başlatma) kastell maintain sunucum --dry-run # Bakım adımlarını önizle kastell maintain --all # Tüm sunucuları bakıma al ``` ### Yedekleme ve Geri Yükleme ```bash kastell backup sunucum # Veritabanı + yapılandırma yedeği kastell backup --all # Tüm sunucuları yedekle kastell restore sunucum # Yedekten geri yükle ``` ### Snapshot'lar ```bash kastell snapshot create sunucum # VPS snapshot'ı oluştur (maliyet tahminiyle) kastell snapshot list sunucum # Snapshot'ları listele kastell snapshot list --all # Tüm sunuculardaki snapshot'ları listele kastell snapshot delete sunucum # Snapshot sil ``` ### Güvenlik ```bash kastell firewall status sunucum # Güvenlik duvarı durumu kastell firewall setup sunucum # UFW yapılandırması kastell secure audit sunucum # Güvenlik denetimi kastell secure setup sunucum # SSH sıkılaştırma + fail2ban kastell domain add sunucum --domain ornek.com # Domain + SSL ayarla ``` ### Güvenlik Denetimi ```bash kastell audit sunucum # Tam güvenlik denetimi (31 kategori, 449 kontrol) kastell audit sunucum --json # Otomasyon için JSON çıktısı kastell audit sunucum --threshold 70 # Skor eşiğin altındaysa exit code 1 kastell audit sunucum --fix # İnteraktif düzeltme modu (önem derecesine göre) kastell audit sunucum --fix --dry-run # Düzeltmeleri çalıştırmadan önizle kastell audit sunucum --watch # 5 dk aralıkla tekrar denetle, sadece değişiklikleri göster kastell audit sunucum --watch 60 # Özel aralık (60 saniye) kastell audit --host root@1.2.3.4 # Kayıtlı olmayan sunucuyu denetle kastell audit sunucum --badge # SVG rozet çıktısı kastell audit sunucum --report html # Tam HTML raporu kastell audit sunucum --score-only # Sadece skor (CI uyumlu) kastell audit sunucum --summary # Kompakt özet görünümü kastell audit sunucum --explain # Başarısız kontrolleri iyileştirme rehberiyle açıkla kastell audit sunucum --compliance cis # Uyumluluk çerçevesine göre filtrele (cis-level1, cis-level2, pci-dss, hipaa) ``` ### Güvenlik Sertleştirme ```bash kastell lock sunucum # 19 adımlı production sertleştirme (SSH + UFW + sysctl + auditd + AIDE + Docker) kastell lock sunucum --dry-run # Sertleştirme adımlarını uygulamadan önizle ``` ### İzleme ve Hata Ayıklama ```bash kastell monitor sunucum # CPU, RAM, disk kullanımı kastell logs sunucum # Platform logları (Coolify veya Dokploy) kastell logs sunucum -f # Logları canlı takip et kastell health # Tüm sunucuların sağlık kontrolü kastell doctor # Yerel ortam kontrolü ``` ## Desteklenen Sağlayıcılar | Sağlayıcı | Durum | Bölgeler | Başlangıç Fiyatı | |-----------|-------|----------|------------------| | [Hetzner Cloud](https://hetzner.cloud) | Kararlı | Avrupa, ABD | ~€4/ay | | [DigitalOcean](https://digitalocean.com) | Kararlı | Küresel | ~$18/ay | | [Vultr](https://vultr.com) | Kararlı | Küresel | ~$12/ay | | [Linode (Akamai)](https://linode.com) | Beta | Küresel | ~$12/ay | > Fiyatlar en az 2 GB RAM'e sahip en ucuz planı yansıtır (Coolify ve Dokploy gereksinimi). Bare modda minimum gereksinim yoktur -- sağlayıcıya göre ~$2.50/ay'dan başlayan planlar kullanılabilir. Kurulum sırasında farklı boyut seçebilirsiniz. Linode desteği beta aşamasındadır -- topluluk testleri memnuniyetle karşılanır. ## Desteklenen Platformlar | Platform | Mod Bayrağı | Min RAM | Min CPU | Açıklama | |----------|-------------|---------|---------|----------| | Coolify | `--mode coolify` (varsayılan) | 2 GB | 2 vCPU | Docker tabanlı PaaS (port 8000) | | Dokploy | `--mode dokploy` | 2 GB | 2 vCPU | Docker Swarm tabanlı PaaS (port 3000) | | Bare | `--mode bare` | — | — | Genel VPS, platform yükü yok | Kastell **PlatformAdapter** mimarisini kullanır -- aynı komutlar (`update`, `maintain`, `logs`, `health`) tüm platformlarda çalışır. Platform sunucu kaydınızda saklanır ve her komutta otomatik algılanır. ## Geliştirici Deneyimi | Özellik | Komut / Bayrak | Açıklama | |---------|---------------|----------| | Kuru Çalıştırma | `--dry-run` | Yıkıcı komutları çalıştırmadan önizleyin. Destekleyen komutlar: destroy, update, restart, remove, maintain, restore, firewall, domain, backup, snapshot, secure. | | Kabuk Tamamlama | `kastell completions bash\|zsh\|fish` | Komut ve seçeneklerin sekme ile tamamlanması için kabuk tamamlama betikleri oluşturur. | | Yapılandırma Doğrulama | `kastell config validate` | `servers.yaml` dosyasını Zod strict şemaları ile yapısal ve tip hataları açısından kontrol eder. | | Sürüm Kontrolü | `kastell --version` | Mevcut sürümü gösterir ve npm'de daha yeni bir sürüm varsa bildirir. | ## YAML Yapılandırması Tek bir yapılandırma dosyasıyla kurulum yapın: ```yaml # kastell.yml provider: hetzner region: nbg1 size: cax11 name: sunucum fullSetup: true domain: coolify.ornek.com ``` ```bash kastell init --config kastell.yml ``` ## Şablonlar | Şablon | Kullanım Alanı | İçerik | |--------|---------------|--------| | `starter` | Test, yan projeler | 1-2 vCPU, 2-4 GB RAM | | `production` | Canlı uygulamalar | 2-4 vCPU, 4-8 GB RAM, tam sıkılaştırma | | `dev` | Geliştirme ve CI/CD | Starter ile aynı, sıkılaştırma yok | ```bash kastell init --template production --provider hetzner ``` ## Güvenlik Kastell güvenlik öncelikli olarak geliştirilmektedir -- 344 test suite'inde **11.206 test**, özel güvenlik test suite'leri dahil. - API token'ları asla diske kaydedilmez -- çalışma zamanında sorulur veya ortam değişkenlerinden alınır - SSH anahtarları gerekirse otomatik oluşturulur (Ed25519) - Tüm SSH bağlantıları `StrictHostKeyChecking=accept-new` ile IP doğrulama (oktet aralığı) ve ortam filtreleme kullanır - Tüm kullanıcı girdilerinde shell injection koruması (`spawn`/`spawnSync`, `execSync` yok) - Provider hata mesajları token sızıntısını önlemek için temizlenir - stderr temizleme -- hata çıktısından IP'ler, home dizinleri, token'lar ve gizli veriler otomatik redakte edilir - Yapılandırma dosyasında token tespiti (22+ anahtar pattern, büyük/küçük harf duyarsız, iç içe yapılar) - İçe/dışa aktarma işlemleri hassas alanları temizler ve dosya izinlerini sıkılaştırır (`0o600`) - `--full-setup` güvenlik duvarı ve SSH sıkılaştırmasını otomatik etkinleştirir - MCP: SAFE_MODE (varsayılan: açık) tüm yıkıcı işlemleri engeller, tüm girdilerde Zod şema doğrulaması, yedek geri yüklemede path traversal koruması - Claude Code hook'ları: destroy-block, `--force` olmadan `kastell destroy` komutunu engeller; pre-commit audit guard skor düşüşünde uyarır - **Sıfır Telemetri** — Kastell hiçbir kullanım verisi, analitik veya telemetri toplamaz. Sunucu verileriniz makinenizden asla çıkmaz. ## Kurulum ```bash # Doğrudan çalıştırın (önerilen) npx kastell