yeke.io · dokümanlar

API ve MCP

Kişisel okuma token'ıyla betik, pano ve otomasyonlar YEKE'yi sizin yetkinizle ama yalnız okuyarak kullanır. Aynı token'la kendi Claude Code ya da Codex ajanınız YEKE'nin MCP sunucusu üzerinden cluster'ı okuyup teşhis yapar. Plan önerme token'ıyla bir dış sistem ya da ajanınız bir değişiklik planı da kurabilir; planı YEKE'de siz onaylarsınız. Bu rehber token'ı, MCP kurulumunu, plan önermeyi, sohbet bağlantısını ve sınırları anlatır.

Okuma token'ı

Hesabım sayfasından üretilir, değeri bir kez gösterilir.

Hesabım sayfasındaki açık oturumlar listesinde “Token oluştur” düğmesi var. Token'a bir ad, bir ömür (30, 90, 180 ya da 365 gün) ve bir kapsam verirsiniz: Okuma (varsayılan) ya da Plan önerme (bkz. Plan önerme). Üretim yalnız tarayıcı oturumundan ve son 10 dakika içinde yapılmış bir girişle kabul edilir; giriş daha eskiyse arayüz yeniden giriş ister. Bu yüzden SSO ile giren kullanıcı da token üretebilir.

Değer yalnız üretildiği anda gösterilir. YEKE düz hâlini saklamaz, sonradan yeniden gösteremez. Token açık oturumlarla aynı listede durur (ad, read ya da plan etiketi, bitiş, son kullanım); oradaki “Sonlandır” onu iptal eder. Kullanıcı başına en fazla 20 etkin token olabilir (iki kapsamın toplamı), adlar tekildir.

Token'ı her istekte Authorization başlığında Bearer olarak gönderin:

curl https://yeke.kurum.com/api/clusters -H "Authorization: Bearer $YEKE_READ_TOKEN"

Kurulum sahibi token ömrünün üst sınırını Sistem ayarları → Oturumlar ve erişim → "API token ömrü" ile daraltabilir; daraltma var olan token'lara da hemen uygulanır. 0 API token'larını tamamen kapatır.

REST ile okuma

Kubernetes nesneleri okuma vekilinden, metrikler YEKE'nin metrik uçlarından okunur.

Okuma vekili

GET /api/clusters/<id>/k8s/<apiserver yolu> isteği Kubernetes API'sinin yolunu olduğu gibi taşır. Okuma sizin o cluster'daki Kubernetes kimliğinizle yapılır; Kubernetes RBAC'inizin göstermediği bir şeyi token da göstermez. Yanıt gövdesi Kubernetes'in kendi yanıtıdır, YEKE değiştirmez.

curl -i https://yeke.kurum.com/api/clusters/c-1/k8s/apis/apps/v1/namespaces/odeme/deployments \
  -H "Authorization: Bearer $YEKE_READ_TOKEN"

Bearer ile gelen başarılı bir okuma yanıtı, o nesnenin ya da listenin YEKE ekranına giden bağlantıyı Link başlığında taşır (rel="alternate"). Bir pano ya da ITSM kaydı bu bağlantıyı doğrudan kullanabilir.

Metrikler

YEKE'nin kendi metrik deposu GET uçlarıyla okunur: /api/clusters/<id>/metrics/ altında status, overview, nodes, workloads, pods ve pvcs; canlı yoklama için /node-metrics ve /pod-metrics. Sunum sizin Kubernetes RBAC'inize bağlıdır. Geçmiş derinliği İzleme sayfasındakiyle aynıdır.

Token'ın kapsamı

İki kapsam var: okuma token'ı yalnız okur, plan önerme token'ı okur ve yalnız plan kurar. Sınırlar rolünüzden bağımsızdır.

  • Okuma token'ı: yalnız GET ve HEAD. Yazma istekleri, Shell, port-forward ve canlı abonelik bağlantıları ile yönetim uçları 403 alır. Token kendini çoğaltamaz ve iptal edemez.
  • Plan önerme token'ı: okuma ve tek bir yazma, plan kurma. Okuma token'ının yapabildiği her şeye ek olarak yalnız POST /api/clusters/<id>/operations ile plan kurar. Planı uygulama, onaylama, tazeleme, iptal ve geri alma; arayüze özgü plan uçları (erişim izni, yetki grubu, Secret yazma ve geri yükleme); tarama başlatma; token üretimi; Shell ve yönetim uçları 403 alır.
  • Secret değerleri en az maskeli. Kurulumun Secret görünürlük ayarı ne olursa olsun token'la okunan Secret değeri düz gelmez. Ayar daha sıkıysa o uygulanır.
  • Hız sınırı. Her token'ın dakikalık bir istek bütçesi vardır (varsayılan 600). Aşan istek 429 ve bir Retry-After başlığı alır. Plan önerme token'ının ayrıca dakikada 10 öneri sınırı vardır.
  • İptal. “Sonlandır”, kendi parolanızı değiştirmeniz ya da sıfırlatmanız ve hesabın devre dışı bırakılması token'ları iptal eder. İptal edilmiş ya da süresi dolmuş token 401 alır. İkinci faktörü kaldırmak token'ları düşürmez.
  • Boşta kalma süresi yok. Token, seçtiğiniz ömrün sonuna kadar geçerlidir.

MCP'yi açma

Sunucu varsayılan olarak kapalıdır. Açmak üç kişinin işidir: kurulum sahibi, yönetici ve kullanıcı.

YEKE'nin MCP sunucusu (/api/mcp) YEKE sohbetinin okuma araçlarını kendi ajanınıza açar: nesne, olay, log, metrik, operasyon ve denetim kaydı. Araçlar sohbettekilerle aynıdır ve aynı maskelemeden geçer. Okumalar sizin Kubernetes kimliğinizle yapılır, her okuma denetim izine düşer ve token'ın hız sınırından harcar.

  • Kurulum sahibi anahtarı açar. Sistem ayarları → Oturumlar ve erişim → “MCP sunucusu”; core'u yeniden başlatmak gerekmez. Kapalıyken uç 403 MCP_DISABLED döner. Durum Yönetim → AI sağlayıcıları ekranında da görünür. Dağıtımda YEKE_MCP_ENABLED=1 verilmişse alan arayüzde kilitli görünür.
  • Yönetici cluster'ı seçer. Yalnız AI veri çıkışına izin verilmiş cluster'lar MCP'ye açıktır (cluster ekranı → sohbet paneli → “Egress ve sağlayıcı”). Veri çıkışı kapalı ya da yalnız yerel modele açık cluster'lar MCP'den okunamaz, çünkü YEKE verinin hangi modele gideceğini bilemez.
  • Kullanıcı token üretir. MCP yalnız kapsamlı token kabul eder: okuma ya da plan önerme token'ı. Tarayıcı oturumu ve yeke login ile alınan tam yetkili token reddedilir.

MCP'den doğrudan yazma yoktur: ne cluster'a ne YEKE'nin kendi ayarlarına (uyarı kuralı, Hook, yetki grubu, kullanıcı, politika). Plan önerme token'ıyla bağlanan ajan yalnız bir plan önerebilir; planı YEKE'de siz onaylarsınız (bkz. Plan önerme). Ajan bir yönetim işinin hangi YEKE ekranında yapılacağını söyler; işi siz arayüzde yaparsınız.

Araçlar, örnek bir oturum ve sorun giderme: MCP rehberi.

Claude Code, Codex ve Cursor

Token'ı bir ortam değişkeninde tutun, dosyaya ya da depoya yazmayın.

En kısa yol hesap sayfası. MCP açıkken yeni token'ın hemen altında “MCP ile kullan” bölümü açılır: Claude Code, Claude Desktop, Codex ve Cursor sekmeleri. Her sekme tek cümlelik yönerge ve token'ı içeren tek kopyalanabilir parça verir; token istemcinin ev dizinindeki yapılandırmasına düz yazılır. Claude Desktop, YEKE'ye mcp-remote köprüsüyle bağlanır ve Node.js ister. Token'ı ortam değişkeninde tutmak isterseniz aşağıdaki biçimleri kullanın.

Claude Code

Proje kökündeki .mcp.json dosyasıyla; token ortam değişkeninden okunur:

{ "mcpServers": { "yeke": { "type": "http", "url": "https://yeke.kurum.com/api/mcp",
  "headers": { "Authorization": "Bearer ${YEKE_MCP_TOKEN}" } } } }

Ya da komutla:

claude mcp add --scope project --transport http yeke https://yeke.kurum.com/api/mcp \
  --header 'Authorization: Bearer ${YEKE_MCP_TOKEN}'

Başlık tek tırnakta kalmalı: kabuk değişkeni açmaz, Claude Code dizeyi olduğu gibi .mcp.json'a yazar ve değişken çalışma anında açılır. Çift tırnakla token Claude Code yapılandırmasına düz yazılır.

Codex CLI

~/.codex/config.toml dosyasına; Codex'te Bearer için komut bayrağı yok, token bu anahtarla ortam değişkeninden okunur. Araç onayını açık tutmanızı öneririz:

[mcp_servers.yeke]
url = "https://yeke.kurum.com/api/mcp"
bearer_token_env_var = "YEKE_MCP_TOKEN"
default_tools_approval_mode = "prompt"

Kurum içi CA

YEKE kurumun kendi CA'sıyla imzalı bir sertifika kullanıyorsa yeke mcp rölesini kullanın (YEKE CLI 0.5.0 ve sonrası). Röle, yeke login --ca-file ile kaydedilmiş CA'ya güvenir (bkz. Kurum içi CA) ve token'ı yalnız YEKE_MCP_TOKEN ortam değişkeninden okur; CLI'ın kendi tam yetkili token'ını MCP için hiç kullanmaz.

claude mcp add --env YEKE_MCP_TOKEN=<token> --transport stdio yeke -- yeke mcp
[mcp_servers.yeke]
command = "yeke"
args = ["mcp"]
env_vars = ["YEKE_MCP_TOKEN"]

Süresi dolmuş ya da iptal edilmiş token'la MCP 401 döner; yenisi Hesabım sayfasından üretilir.

Plan önerme

Dış sistem ya da kendi ajanınız planı kurar; uygulamayı YEKE'de siz onaylarsınız.

Plan önerme token'ı, Hesabım sayfasında token oluştururken Plan önerme kapsamı seçilerek üretilir; üretim kuralları, ömür ve iptal okuma token'ıyla aynıdır. Bu token'la bir betik, bir ITSM akışı ya da kendi AI ajanınız bir değişikliği önerir: YEKE planı arayüzdeki ve sohbetteki planlarla aynı zincirden geçirir (doğrulama, dry-run, politikalar) ve bir onay kartı kurar. Token planı uygulayamaz. Plan sizin adınıza kurulur; kartı kendi oturumunuzla açıp inceler, onaylar ya da reddedersiniz.

REST ile

Gövde arayüzün kullandığı ham HTTP niyetidir. note alanı kartta “İstemcinin notu” olarak görünür; intent alanı bu yolda kabul edilmez (o alan YEKE'de sizin yazdığınız cümledir).

curl -X POST https://yeke.kurum.com/api/clusters/c-1/operations \
  -H "Authorization: Bearer $YEKE_PLAN_TOKEN" -H 'content-type: application/json' \
  -d '{"request":{"method":"PATCH","path":"/apis/apps/v1/namespaces/odeme/deployments/web",
       "contentType":"application/merge-patch+json","body":{"spec":{"replicas":3}}},
       "note":"gece ölçeklemesi"}'

Yanıt planın kendisidir ve onay kartının göreli bağlantısını href alanında taşır (/clusters/<id>/operations?op=<id>). Aynı token'la …/apply çağrısı 403 alır.

MCP ile

Token plan önerme kapsamlıysa ajanın araç listesinde sohbetin öneri aracı propose_operation da görünür; okuma token'ına görünmez. Araç değişikliği uygulamaz, bir onay kartı kurar ve kartın bağlantısını döndürür. YEKE'nin dış adresi (Sistem ayarları → Adres ve sertifika) tanımlı değilse bağlantı göreli yol olarak döner. Araç değer döndürmez: planın durumunu, onay düzeyini, fiilleri, politika kodlarını ve değişen alanların yollarını döndürür. Ajanın özeti kartta “Modelin özeti” olarak görünür. İstemci bağlantıyı koparsa plan yine kurulur.

Onay kartı

  • Kökeni söyler. Kart planın hangi token'la ve API mi MCP mi üzerinden önerildiğini yazar. Token adı kartta donar; token sonradan silinse de kart adı gösterir.
  • Notu ayırır. İstemcinin ya da modelin notu etiketli, ayrı bir satırda görünür.
  • Onay sizindir. Planı tazeleme ve uygulama token'ın sahibine aittir ve token'ın kendisine kapalıdır; kartı kendi YEKE oturumunuzla onaylarsınız.

Yerine geçme ve hız sınırı

  • Yeni öneri eskisinin yerine geçer. Aynı token aynı cluster'a yeni ve onaylanabilir bir plan önerdiğinde, o token'ın aynı cluster'da bekleyen eski kartı iptal olur. REST ve MCP önerileri birbirinin yerine geçer. Reddedilen ya da engellenen bir öneri eski kartı iptal etmez. Paralel değişiklikler için ayrı adlı iki token kullanın.
  • Dakikada 10 öneri. Sınır token başınadır ve REST ile MCP aynı bütçeyi paylaşır. Aşan istek 429 ve Retry-After alır. Okuma bütçesi ayrıca sayılır.

Politika: ops.nl-strict

Yerleşik ops.nl-strict şablonu açıldığında sohbetten gelen yazmalarla birlikte plan önerme token'ıyla önerilen her yazma da (REST ya da MCP) yükseltilmiş onay ister. Kendi kurallarınızda kökeni op.origin ile okuyabilirsiniz; bkz. Politikalar.

Sohbet bağlantısı

Bir uyarı ya da ITSM kaydı, cluster'ın sohbetini metin yazılmış olarak açabilir.

https://yeke.kurum.com/clusters/<id>?chat=<url-kodlu metin>
  • Asla kendisi göndermez. Metin sohbet kutusuna yazılır; göndermek sizin jestinizdir.
  • Sizin metninizin üzerine yazmaz. Kutuda yazdığınız bir metin varsa bağlantıdaki metinle değiştirmeyi siz seçersiniz.
  • Kaynağı söyler. Kutunun üstünde metnin bir bağlantıdan geldiğini söyleyen bir etiket görünür. Parametre okununca adresten silinir; sayfayı yenilemek metni yeniden yazmaz.
  • Bağlantıyı herkes kurabilir. Metnin kim tarafından yazıldığı bilinemez; göndermeden önce okuyun. Sohbetin her yazması yine onay kartından geçer.

Nesne ve operasyon bağlantıları (/clusters/<id>/r/…, /clusters/<id>/operations?op=…) için 0.69.4 sürüm notuna bakın.

Beyanlı sınırlar

Token'ın ve MCP'nin vermediği güvenceler.

  • MCP bir veri kaybı önleme (DLP) sınırı değildir. MCP çıktısı sohbetle aynı mahremiyet kapısından geçer ve Secret değerleri maskelidir. Ama aynı token okuma vekilinden ham nesneyi alabilir, log satırları hiç maskelenemez. Kapı kullanıcının ekranda zaten gördüğü veriyi kendi modeline taşımasını engellemez; varsayılan yolu güvenli tutar ve her okumayı izde gösterir.
  • Veri sizin seçtiğiniz modele gider. AI veri çıkışına izin verilmiş bir cluster, kurumun sözleşmeli sağlayıcısı ile kişisel abonelik arasında ayrım yapmaz. Anahtarı açmak izin verilmiş bütün cluster'lara uygulanır.
  • Ajanın diğer araçları. Ajan makinenizde kabuk, dosya ve web araçlarıyla birlikte çalışır. Bir pod log'una gömülmüş talimat onu okuduğu veriyi dışarı çıkarmaya ikna edebilir; bu istemcinin güven sınırıdır. İstemcide araç onayını açık tutun.
  • Yerel tam yetkili token. yeke login'in tam yetkili token'ı makinenizdeki CLI yapılandırmasında durur ve aynı ajan onu dosya sisteminden okuyabilir. MCP bu riski doğurmaz da azaltmaz da.
  • Tarayıcıyı süren ajan. Ajanınız tarayıcıyı da sürüyorsa YEKE arayüzündeki “Onayla”ya kendisi basabilir; YEKE bunu insandan ayıramaz. Tarayıcısını bir ajana veren kullanıcı onay jestini de devretmiş olur.
  • Yönetim işlemleri MCP'den yapılamaz. Ajan yalnız hangi ekranda yapılacağını söyler.
  • Planın 30 dakikalık ömrü. Önerilen plan 30 dakika içinde onaylanmazsa süresi dolar; bu süre değiştirilemez. Geç açılan bağlantı süresi dolmuş kartı gösterir, yol yeniden önermektir.
  • Eşzamanlı öneri. Aynı token'dan aynı anda gelen iki öneri iki bekleyen kart bırakabilir; yerine geçme sıralı önerilerde çalışır.
  • Öneri sınırı replika başınadır. Dakikada 10 öneri sınırı her core sürecinde ayrı sayılır; birden çok replikalı kurulumda toplam sınır replika sayısıyla çarpılır.
  • Kimlik sağlayıcısından kaldırılan kullanıcı. LDAP ya da OIDC'de kaldırılan bir kullanıcının token'ı, süresi dolana ya da kullanıcı YEKE'de devre dışı bırakılana dek geçerli kalır.

Kurum içi CA ve izleme

MCP rölesinin güvendiği CA ve metrik uçlarının okuduğu veri bu iki sayfada.