Cloud Platforms TypeScript ★ 118

kubestellar/console

Kenar ve bulut kümelerinde 20+ CNCF projesine entegrasyon sunan, yerleşik MCP sunucusu (kc-agent) ile AI destekli operasyonlar, gerçek zamanlı gözlemlenebilirlik sağlayan multi-cluster Kubernetes dashboard'u.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "kubestellar-console": {
      "command": "node",
      "args": [
        "~/.mcp/console/index.js"
      ]
    }
  }
}

KubeStellar Konsolu

Coverage ACMM OpenSSF Scorecard OpenSSF Best Practices MTTR

AI destekli çok kümeli Kubernetes dashboard'u ve 250+ CNCF projesi için rehberli kurulum görevleri.

Katkıda Bulunma

KubeStellar Konsolu

Şimdi deneyin (kurulum gerekmez)

Konsolu değerlendirmenin en hızlı yolu barındırılan sürüm — Kubernetes kümesi yok, kurulum yok, yapılandırma yok. Demo verileri yerleşik:

👉 console.kubestellar.io

Barındırılan demo bağımsız bir vitrin: hazır demo verilerini sunar ve kasıtlı olarak yerel bir agent'a konuşmaz (LOCAL_AGENT_HTTP_URL Netlify derlemesinde devre dışı bırakılmıştır, bu nedenle tarayıcı dizüstü bilgisayarınızdaki kc-agent'a erişemez). UI'ı keşfetmek, görevleri taramak ve makinenize dokunmadan kartları test etmek için kullanın. Kendi kümelerinizle çalışmak veya AI özelliklerini kendi anahtarlarınızla kullanmak için konsolu kendi kendine barındırmanız gerekir — sonraki bölüme bakın.

Hangi yolu izlemeliyim?

Yapmak istediğim Ne yapacağım Küme gerekli mi? Bir şey kurmam gerekir mi?
UI'ı keşfet / ürünü değerlendir console.kubestellar.io hayır hayır
Konsolu benim kümelerime bağla Konsolu kendi kendine barındır ve aynı makinede kc-agent yükle evet evet (curl + kc-agent)
Konsolu kendi kendine barındır (hava geçirmez, özel OAuth, vb.) Yerel kurulum isteğe bağlı evet
Konsolu bir küme içinde çalıştır deploy.sh evet Helm tarzı script

Not: kc-agent console.kubestellar.io adresindeki barındırılan demo tarafından tüketilmez. Kendi kendine barındırılan konsolu (localhost:8080 üzerinde çalışan) kubeconfig bağlamlarınız ve AI sağlayıcılarınızla birleştirir. Barındırılan UI'ın rahatlığı artı gerçek küme verilerinizi istiyorsanız, şu anda konsolu yerel olarak çalıştırmanız gerekir.

Yerel kurulum (kendi kendine barındırma)

Kendi verilerinizle çalışan bir konsola giden en hızlı yol. start.sh önceden derlenmiş konsol binary'sini ve önceden derlenmiş kc-agent indirer, her ikisini başlatır ve http://localhost:8080 açar:

curl -sSL https://raw.githubusercontent.com/kubestellar/console/main/start.sh | bash

Bunun yerine deploy.sh ile bir kümeye dağıt (--openshift, --ingress <host>, --github-oauth, --uninstall). Kümeiçi Kagenti backend ile konuşması gereken Helm grafik yüklemeleri için Kagenti'ye Bağlanma başlığına bakın.

kc-agent (kendi kendine barındırılan konsolu kümelerinize bağlayın)

kc-agent kendi kendine barındırılan konsolu konuşan küçük bir yerel HTTP/WS daemon'u (varsayılan http://127.0.0.1:8585). Tarayıcıdan kubeconfig bağlamlarınıza ve AI sağlayıcılarınıza gelen istekleri iletir. console.kubestellar.io adresindeki barındırılan demo buna ulaşamaz (#6195) — kc-agent yalnızca kendi kendine barındırdığınızda yararlıdır.

kc-agent gerekmez sadece UI / demo verilerini taramak istiyorsanız — barındırılan demoyu kullanın. start.sh zaten sizin için önceden derlenmiş bir kc-agent yüklüyor ve başlatıyor, bu nedenle çoğu kullanıcının bunu hiçbir zaman manual olarak yüklemesi gerekmez. Aşağıdaki talimatlar geliştirme derlemeleri veya Homebrew formülü olmayan platformlar içindir:

kc-agent için ön koşullar:

  • Bir veya daha fazla erişilebilir kümeye işaret eden kubeconfig (kubectl get nodes yerel olarak çalışıyor)
  • macOS, Linux veya WSL2 ile Windows (Windows bölümüne bakın)
# macOS — Homebrew formülü (önceden derlenmiş)
brew tap kubestellar/tap && brew install kc-agent

# Linux / kaynaktan — Go 1.25+ gerektirir (go.mod ile eşleşir)
mkdir -p bin
go build -o bin/kc-agent ./cmd/kc-agent && ./bin/kc-agent

kc-agent authentication (KC_AGENT_TOKEN)

kc-agent KC_AGENT_TOKEN üzerinden paylaşılan bir gizli dizi kabul eder. Ayarlandığında, agent'a tarayıcı ve WebSocket istekleri Authorization: Bearer <token> (veya gerçek bir WebSocket yükseltmesi için ?token=<token>) sunmalıdır. Bu, diğer yerel işlemlerin 127.0.0.1:8585 adresine ulaşmasına karşı ek bir koruma katmanı istediğinizde önerilir.

  • start-dev.sh ve startup-oauth.sh bir ayarlamazsanız her oturum için rastgele bir KC_AGENT_TOKEN otomatik olarak oluşturur.
  • Yeniden başlatmalar arasında kararlı bir gizli dizi istiyorsanız veya kc-agent yi manual olarak başlatırsanız KC_AGENT_TOKEN kendiniz ayarlayın.
  • openssl rand -hex 32 ile bir tane oluşturun.
export KC_AGENT_TOKEN="$(openssl rand -hex 32)"
./bin/kc-agent

Hem kendi kendine barındırılan konsol hem de kc-agent çalışırken, http://localhost:8080 açın ve yerel kümeleriniz küme seçicide görünür.

Windows (WSL2)

Konsol kurulum scriptleri ve kc-agent POSIX shell + Go, bu nedenle WSL2 içinde değişmeden çalışırlar. Native Windows (PowerShell / CMD) desteklenmez — WSL2 yükleyin Ubuntu ile ve her şeyi WSL shell'den çalıştırın:

# PowerShell'de — tek seferlik kurulum
wsl --install -d Ubuntu

Daha sonra Ubuntu/WSL shell'in içinden. start.sh yalnızca curl gerektirir — önceden derlenmiş binary'leri indirir, Go toolchain gerekmez:

# Ön koşul: sadece curl
sudo apt-get update && sudo apt-get install -y curl

# macOS / Linux ile aynı kurulum komutu
curl -sSL https://raw.githubusercontent.com/kubestellar/console/main/start.sh | bash

⚠️ Windows PowerShell curl gotcha'sı: PowerShell'de curl, gerçek curl'den tamamen farklı şekilde davranan Invoke-WebRequest için bir takma addır. PowerShell'den endpoint'leri test etmeniz gerekiyorsa (WSL dışında), her zaman curl.exe yerine curl kullanın veya yerel PowerShell cmdlet'ini kullanın:

# Seçenek 1 — curl.exe kullan (Windows 10+ ile gelen gerçek curl)
curl.exe -s http://localhost:8080/health

# Seçenek 2 — PowerShell yerel cmdlet kullan
Invoke-RestMethod http://localhost:8080/health

Kaynaktan kc-agent derlemek ayrı bir yoldur — yalnızca start.sh zaten yüklediği önceden derlenmiş binary yerine agent'ın geliştirme derlemesini istiyorsanız gereklidir. Go 1.25+ gerektirir (go.mod içinde sabitlenen sürüm) ve git. Ubuntu'nun golang-go paketi genellikle mevcut sürüm gerisinde kalır; son bir sürüm almak için resmi Go kurulumu veya longsleep/golang-backports PPA'sını kullanın:

# add-apt-repository software-properties-common'da yaşıyor — önce kur
# minimal Ubuntu/WSL görüntülerinde işletilmeyen yüklü.
sudo apt-get update && sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:longsleep/golang-backports
sudo apt-get update && sudo apt-get install -y golang-1.25 git
git clone https://github.com/kubestellar/console.git
cd console
mkdir -p bin
go build -o bin/kc-agent ./cmd/kc-agent && ./bin/kc-agent

Windows tarayıcınızda http://localhost:8080 açın — WSL2 localhost otomatik olarak iletir. #6185 tarafından izleniyor.

GitHub authentication

Konsol iki GitHub kimlik bilgisi kullanır (#6190). Çoğu kullanıcı hiçbir kullanıcıya ihtiyaç duymaz — barındırılan demo herhangi bir GitHub auth olmadan çalışır.

Kimlik bilgisi Ne yapar Ne zaman gereklidir
GitHub OAuth App (GITHUB_CLIENT_ID + GITHUB_CLIENT_SECRET) localhost:8080 adresindeki kendi kendine barındırılan konsolu için oturum açma Yalnızca konsolu kendi kendine barındırırsanız VE kullanıcı oturum açmak istiyorsanız. Barındırılan demo için atlayın.
Consolidated GitHub PAT (a.k.a. FeedbackGitHubToken) Aynı tek PAT her şeyi destekler: nightly E2E durumu, topluluk etkinliği, leaderboard widget'ları ve GitHub sorunlarını açan /issue sayfası İsteğe bağlı. Bunu olmadan, /issue 503 Issue submission is not available döndürür ve GitHub tarafından desteklenen dashboard widget'ları demo verilerine geri döner.

Başlamak için minimum: hiçbir şey — console.kubestellar.io isabet edin. Yukarıdaki her şey opt-in'dir.

Consolidated PAT'ı ayarlanma

Bu PAT'ı sağlamanın iki eşdeğer yolu var — birini seç. Her ikisi de aynı alana yazılır (pkg/api/handlers/feedback.go ve pkg/api/handlers/github_proxy.go içindeki FeedbackGitHubToken), bu nedenle her ikisini ayarlamanız gerekmez:

  1. Repo kök .env dosyası — başlangıçta ayarlanır, UI adımı gerekli değil:

    FEEDBACK_GITHUB_TOKEN=ghp_…
    
  2. Settings UI (yalnızca kendi kendine barındırılan, admin rolü gereklidir) — Ayarlar → GitHub Token'a gidin → yapıştırın. UI /api/github/token adresine POST yapar ve bu, konsol admin rolü üzerinde kapılıdır ve backend tarafından ~/.kc/settings.json adresine kalıcı hale getirilir. Yeni bir kendi kendine barındırılan kurulumda, ilk kimliği doğrulanmış kullanıcı yöneticide otomatik olarak bootstrap olur, bu nedenle yerel örnekler ayarlar dışında kilitlenmez.

Barındırılan Netlify demo PAT'ı kalıcı hale getiremez — yazılabilir yerel backend'i yoktur — bu nedenle Ayarlar UI kaydı orada çalışmaz. Kendi kendine barındırma için env-var yolunu kullanın.

GitHub OAuth'ı ayarlama (yalnızca kendi kendine barındırılan)

Konsolu kendi kendine barındırırsanız ve oturum açmak istiyorsanız:

  1. Bir GitHub OAuth App oluşturun

    • Ana Sayfa URL'si: http://localhost:8080
    • Callback URL'si: http://localhost:8080/auth/github/callback
    • Uygulamayı oluşturduktan sonra, Client ID'inizi (hemen görünür) aşağı yazın ve Client Secret oluşturun ("Yeni istemci gizli dizi oluştur"a tıklayın)
  2. Repo'yu klonla (henüz yapmadıysanız):

    git clone https://github.com/kubestellar/console.git
    cd console
    
  3. Repo kökünde bir .env dosyası oluştur (console/.env):

    # GitHub OAuth App kimlik bilgileriniz ile .env dosyası oluştur
    cat > .env << 'EOF'
    GITHUB_CLIENT_ID=your-client-id-here
    GITHUB_CLIENT_SECRET=your-client-secret-here
    EOF
    

    your-client-id-here ve your-client-secret-here öğesini GitHub OAuth App'inizden (adım 1) gerçek değerlerle değiştir.

    ⚠️ Yaygın hatalar:

    • Eksik .env dosyası: Konsol repo kökünde (.env console/.env) .env arar, ev dizininizde veya başka bir yerde değil.
    • Yanlış kimlik bilgileri: Client ID ve Client Secret tam olarak GitHub OAuth App ayarlarınızda gösterilenle eşleşmelidir. Yazım hatalarından kaçınmak için kopyala-yapıştır.
    • Süresi dolan gizli dizi: GitHub'da Client Secret'ı yeniden oluşturursan, .env öğesini yeni değerle güncellemelisin.

    OAuth hatalarını giderme:

    • "invalid client credentials".env içindeki GITHUB_CLIENT_ID ve GITHUB_CLIENT_SECRET öğesinin https://github.com/settings/developers adresindeki GitHub OAuth App'iniz ile eşleştiğini doğrula
    • "redirect_uri_mismatch" → GitHub OAuth App'inizdeki Callback URL'si tam olarak http://localhost:8080/auth/github/callback olmalıdır
  4. Konsolu başlat:

    ./startup-oauth.sh
    

http://localhost:8080 açın ve GitHub ile oturum açın. Kubernetes dağıtımları için bunun yerine deploy.sh adresine --github-oauth ilet.

Consolidated PAT kapsamları

Yukarıdaki hangi yolu kullanmış olursanız (env var veya Settings UI), Personal Access Token ya da olmalı:

  • repo kapsamı ile bir klasik PAT, ya da
  • Issues: Read & Write ve Contents: Read & Write (pkg/api/handlers/feedback.go:71 karşılaştırıldığında doğrulanan) hem de yanında bir fine-grained PAT — İçerik gereklidir, yalnızca Sorunlar değil.

AI yapılandırması

Konsol, uyarlanabilir kart önerileri ve görev yardımı için AI kullanabilir. AI isteğe bağlıdır — UI, görevler ve dashboard'lar yapılandırılan AI anahtarları olmadan çalışır (#6191).

Önemli: AI BYOK yalnızca kendi kendine barındırılan konsol üzerinde çalışır. console.kubestellar.io adresindeki barındırılan demo, LOCAL_AGENT_HTTP_URL açıkça devre dışı bırakır (web/src/lib/constants/network.ts dosyasında doğrulanmıştır), bu nedenle tarayıcı orada yerel agent'a ulaşamaz. Kendi AI anahtarlarınızı kullanmak için önce konsolu kendi kendine barındırın.

Desteklenen AI sağlayıcıları (CLI tabanlı ve yerel LLM'ler)

Konsol, küme erişimi ve tooling yetenekleri üzerinde tam kontrol sağlamak için yerel CLI sağlayıcılarını ve kendi kendine barındırılan LLM'leri kullanır. Doğrudan API-key sağlayıcıları (ham ANTHROPIC_API_KEY, OPENAI_API_KEY veya GOOGLE_API_KEY gibi) kasıtlı olarak desteklenmez çünkü küme komutlarını yürütmek için gerekli olan yerel CLI tooling modelini atlayabilirler (bkz. pkg/agent/registry.go:378 ve docs/security/SECURITY-MODEL.md).

Önerilen kurulum yolları:

  1. CLI tabanlı agent'lar (tam araç yürütme yetenekleriyle):

    # Claude Desktop veya claude CLI'yi yükle — https://claude.ai/download
    # Gemini CLI'yi yükle — resmi Google AI SDK talimatlarını izle
    # GitHub Copilot CLI'yi yükle — gh extension install github/gh-copilot
    # Diğer CLI agent'larını yükle: codex, antigravity, goose, bob
    
    # kc-agent yüklü CLI agent'larını otomatik olarak algılayacak — env var gerekmez
    ./bin/kc-agent
    
  2. Yerel/kendi kendine barındırılan LLM sunucuları (OpenAI uyumlu endpoint'ler):

    # Ollama (yerel)
    export OLLAMA_URL=http://127.0.0.1:11434
    export OLLAMA_MODEL=llama3.2
    
    # Open WebUI (kendi kendine barındırılan ağ geçidi)
    export OPEN_WEBUI_URL=https://your-openwebui.example.com
    export OPEN_WEBUI_API_KEY=your-key
    export OPEN_WEBUI_MODEL=gpt-4
    
    # Diğer desteklenenler: llama.cpp, LocalAI, vLLM, LM Studio, Red Hat AI Inference Server
    # Tam liste için docs/security/SECURITY-MODEL.md'ye bakın
    
    ./bin/kc-agent
    

Doğrudan API anahtarları neden desteklenmez? Agent kaydı, kasıtlı olarak upstream API-key sağlayıcılarını (Anthropic API, OpenAI API, Google Gemini API) hariç tutar çünkü küme komutlarını yürütemezler VE işletmecinin kontrolü olmayan belirli bir satıcı endpoint'ine trafiği yönlendirirler. Konsolun güvenlik modeli, kubectl, helm ve diğer tanılama komutlarını yerel olarak çalıştırabilen araç-yetenekli agent'lar gerektirir. pkg/agent/registry.go:378-384 adresinde mantık için bkz.

Ayarlar → API Anahtarları modalı hakkında bir not: Konsol UI, Ayarlar → API Anahtarları altında "Anahtarları Yönet" düğmesini açığa çıkarır. Bu modal, agent'ın /settings/keys endpoint'ine bağlıdır, ancak mevcut derlemede bu endpoint boş bir sağlayıcı listesi döndürür (providers := []providerDef{} pkg/agent/server_operations.go:288 içinde) çünkü API-key tabanlı agent'lar gizlidir. Modal tasarımı gereği işlevseldir. Bunun yerine yukarıdaki CLI tabanlı veya yerel LLM kurulum yollarını kullanın.

Hiçbir AI sağlayıcı yapılandırılmadığında, AI destekli özellikler belirleyici / kural tabanlı davranışa döner. Kart önerileri, görevler ve dashboard'lar tamamen kullanılabilir kalır.

Güvenlik modeli, hava geçirmez dağıtımlar ve yerel / kendi kendine barındırılan LLM'ler docs/security/SECURITY-MODEL.md dosyasında ele alınmıştır. Bu belgede tarayıcı, Go backend'i, kc-agent ve AI sağlayıcıları arasındaki veri akışı; konsolu harici AI erişimi olmadan çalıştırma; ve şu anda kc-agent'ın CLI tabanlı agent'larını kullanarak desteklenen kendi kendine barındırılan yol açıklanmaktadır.

Nasıl Çalışır

  1. Onboarding — GitHub ile oturum açın, rol sorularına cevap verin, kişiselleştirilmiş bir dashboard alın
  2. Uyarlanabilir AI — Kart etkileşimlerini izler ve odak değiştiğinde değiş tavsiyeler (Claude, OpenAI veya Gemini)
  3. MCP Bridge — Küme durumunu (kubestellar-ops ve kubestellar-deploy aracılığıyla) sorgular (pod'lar, deploymentlar, olaylar, sapma, güvenlik)
  4. Görevler — Ön uçuş kontrolleri, doğrulama, sorun giderme ve geri alma ile adım adım rehberli yüklemeler
  5. Gerçek zamanlı — WebSocket tarafından desteklenen canlı event akışı tüm bağlı kümelerden

Mimari

KubeStellar web sitesinde tam Mimari belgelerine bakın.

İlgili Depolar

  • console-kb — 250+ CNCF projesi için rehberli yükleyiciler ve ortak Kubernetes sorunlarına çözümler
  • console-marketplace — CNCF projesi başına topluluk tarafından katkıda bulunulan izleme kartları
  • kc-agent — Tarayıcıyı kubeconfig'e bağlayan yerel agent, kodlama agent'ları (Codex, Copilot, Claude CLI) ve MCP sunucuları (kubestellar-ops, kubestellar-deploy)
  • claude-plugins — Kubernetes için Claude Code marketplace eklentileri
  • homebrew-tap — KubeStellar araçları için Homebrew formülleri
  • KubeStellar — Çok kümeli yapılandırma yönetimi

Kalite Güvence

Konsol geliştirmeyi hızlandırmak için AI araçları (GitHub Copilot, Claude Code) kullanır. Kalite, her PR yazardan bağımsız olarak aynı otomatik kontrolleri tetikleyen katmanlı feedback döngüleri aracılığıyla korunur ve süregelen izleme PR kontrolleri kaçıranları yakalar.

  • Commit'ten önce: TypeScript derlemesi + Go derlemesi + 5 derleme sonrası güvenlik kontrolleri + lint
  • Birleştirmeden önce: nil-safety, ts-null-safety, array-safety, API sözleşmesi, Playwright E2E, kapsam kapısı, TTFI performansı, CodeQL, Copilot kod incelemesi, UI/UX standartları tarayıcısı, görsel regresyon
  • Görsel regresyon: Tema desteği ile Storybook hikayeler olarak belgelenen 18 UI bileşeni. Playwright, her UI bileşenlerine dokunan PR'da ekran görüntüleri yakalar ve temellerle karşılaştırır.
  • Birleştirmeden sonra: Hedeflenen Playwright testleri üretim'e karşı (console.kubestellar.io) çalışır; hatalar orijinal sorunu yeniden açar
  • Sürekli: Saatlik kapsam (12 parça), günde 4x QA, gece E2E, gece güvenlik taraması, gerçek zamanlı GA4 error tracking, UI/UX standartları gece taraması

Bir regresyon sınıfı belirlendiğinde, bir maintainer en erken olası döngüye otomatik bir kontrol ekler. docs/AI-QUALITY-ASSURANCE.md adresinde tam dökümü görün.

Lisans

Apache License 2.0 — LICENSE öğesine bakın.

Benzer MCP sunucuları

Daha fazla: Cloud Platforms →