yeke.io · dokümanlar

Secret sürümleri

YEKE bir Secret'ı her uyguladığında bir sürüm kaydı bırakır; kümede YEKE dışında yapılan bir değişikliği de bir sonraki YEKE yazmasında yakalar. Bu rehber Geçmiş sekmesini, geri yükleme akışını ve görünürlük/erişim ile ilişkisini anlatır.

Ne işe yarar

Bir Secret'a YEKE üzerinden yaptığınız her değişiklik otomatik olarak sürümlenir — ayrı bir yedekleme adımı gerekmez.

YEKE bir Secret'ı her uyguladığında (arayüzden, yapay zekâ aracıyla, API/kabuk yoluyla ya da bir geri alma/geri yükleme işlemiyle) o andaki içeriği şifreli bir sürüm satırı olarak kaydeder. Küme içinde YEKE dışında (kubectl, Helm, başka bir operatör…) yapılan bir değişiklik de kaybolmaz: YEKE o Secret'a bir sonraki kez yazdığında araya giren farkı "YEKE dışı" kaynağıyla sürüme ekler. Sürekli bir izleme (watch/poll) süreci YOK — tespit YEKE'nin kendi yazma anına bağlıdır (bkz. Sınırlar).

Bu özellik Secret'ın içeriğinin geçmişidir; Secret'ın RBAC'ı, kime bağlı olduğu ya da nasıl kullanıldığı bu sayfanın konusu değildir.

Geçmiş sekmesi

Secret detayındaki yeni sekme — her sürüm kim/ne zaman/nasıl sorularını tek satırda yanıtlar.

Secret detay sayfasına eklenen "Geçmiş" sekmesi, o Secret için kaydedilmiş bütün sürümleri en yeniden en eskiye listeler. Her satır rN · <tarih saat> biçiminde görünür (erişilebilirlik ağacında "Revizyon 7" gibi bir adla okunur) ve bir kaynak etiketi taşır:

EtiketNe demek
İlk kayıtYEKE bu Secret'a İLK KEZ yazmadan HEMEN ÖNCEKİ hâl — ilk değişiklik de geri alınabilsin diye ayrıca kaydedilir. YEKE'nin kendi yarattığı bir Secret'ta bu satır hiç oluşmaz; ilk satır doğrudan o yazmanın kaynağını taşır (ör. "Arayüz").
YEKE dışıBir sonraki YEKE yazmasında yakalanan, küme içinde başka bir yoldan yapılmış değişiklik.
ArayüzYEKE arayüzünden elle yapılan bir değişiklik.
Yapay zekâYapay zekâ aracının onaylanan bir planla yazdığı değişiklik.
API / kabukTarayıcı kabuğundan (kubectl, helm) ya da API üzerinden onaylanan bir planla yapılan değişiklik.
Geri almaBir onay planının geri alınmasıyla oluşan sürüm.
Geri yüklemeBu sayfadaki Geçmiş akışından, eski bir sürümün uygulanmasıyla oluşan sürüm.

Henüz YEKE üzerinden hiç yazılmamış bir Secret'ın Geçmiş sekmesi boş durumu gösterir: "Henüz sürüm yok" — "Bu Secret'a YEKE üzerinden henüz yazılmadı; geçmiş ilk YEKE yazmasıyla başlar, YEKE dışındaki değişiklikler bir sonraki YEKE yazmasında kaydedilir."

Geri yükleme ve silinmiş Secret

Listeden bir sürüm seçin; altında o sürümle şimdiki hâlin karşılaştırması açılır — hiçbir geri yükleme canlı Secret'a doğrudan yazmaz.

Geçmiş sekmesindeki bir satıra tıklandığında seçilen sürümün HEMEN ALTINDA bir karşılaştırma paneli açılır: varsayılan olarak seçili sürüm ile Secret'ın canlı, şimdiki hâli karşılaştırılır ("rN ile şimdiki hâl"). Yalnız FARKLI olan anahtarlar satır satır listelenir; aynı kalan anahtarlar "Aynı olan N anahtarı göster" düğmesinin arkasında gizlidir. Bir değerin görünürlüğü satırın kendi "Göster" düğmesiyle açılır, açıldıktan sonra aynı yerde beliren "Gizle" düğmesiyle kapanır.

Her satırın kendi "Geri yükle"/"Kaldır" aksiyonu vardır — yalnız o anahtarı seçilen eski sürümdeki değerine döndürür ya da seçilen sürümde olmayan bir anahtarı kaldırır. Ekranın üstündeki düğme Secret'ın TAMAMI için aynı işlemi tek adımda yapar: Secret kümede hâlâ varsa "Tümünü rN sürümüne döndür", kümeden silinmişse aynı düğme "rN sürümünden yeniden oluştur" olur.

İster satır satır ister toplu olsun, her geri yükleme YEKE'nin tek yazma yolundan geçer: bir plan oluşturur ve onay kartından geçtikten sonra uygulanır — Geçmiş sekmesi canlı Secret'a hiçbir zaman doğrudan yazmaz. Geri yükleme Secret'ın tipini değiştirmez, yalnız verisini yazar.

Silinmiş bir Secret'ı geri getirme

Secret listesi sayfasındaki "Silinmiş Secret'lar" görünümü, kümeden silinmiş ama geçmişi hâlâ saklama süresi içinde olan Secret'ları listeler; her satırdaki "Geçmişi aç" bağlantısı doğrudan o Secret'ın Geçmiş sekmesine götürür. Orada içeriği hâlâ saklanan istediğiniz sürümü seçip "rN sürümünden yeniden oluştur" dersiniz — bu yalnız Secret'ın TAMAMI için çalışır (tek bir anahtarla yapılamaz) ve Secret'ı YARATMA yetkisi ister; anahtar bazında erişim yetmez. Yeniden yaratılan Secret kümede yeni bir obje olarak doğar — yeni bir uid alır, eskisinin devamı değildir.

Görünürlük ve anahtar erişimi

Geçmiş, kurulum çapındaki görünürlük tavanına ve anahtar bazında erişime AYNI şekilde tabidir.

Sürüm geçmişi Secret görünürlüğü tavanıyla (YEKE_SECRET_DISPLAY) birlikte çalışır, onu atlamaz. Tavan masked ya da hidden iken diff ekranında değerler maskeli kalır — ama hangi anahtarların değiştiği, ne zaman değiştiği ve hangi anahtarın hangi eski sürüme döndürüleceği yine görünür. Bu, değeri hiç görmeden, yalnız hangi anahtarların değiştiğini bilerek yapılan bir "kör geri yükleme" imkânı verir: bir anahtarı "Geri yükle" ile eski değerine döndürmek için o değeri okumak gerekmez.

Bir yetki grubunun anahtar bazında erişimi olan bir kullanıcı için de aynı sınır geçerlidir: Geçmiş sekmesinden geri yükleme yalnız o kullanıcının zaten "Düzenler" erişimi olan, VAR OLAN bir anahtarın değerini değiştirebilir — yeni bir anahtar ekleyemez ya da bir anahtarı silemez. Yeni anahtar ekleme/silme, Secret'ın tamamına yazma yetkisi ister.

Saklama ve lisans

Varsayılan 90 gün / Secret başına 50 sürüm — ikisi de ortam değişkenleriyle özelleştirilebilir.

DeğişkenVarsayılanNe yapar
YEKE_SECRET_VERSION_RETENTION_DAYS90 Bu kadar günden eski sürüm satırları silinir (baş satır hariç — onun yalnız içeriği düşer).
YEKE_SECRET_VERSION_MAX50 Secret başına saklanan en yeni sürüm sayısı; daha eskisi (baş satır hariç) silinir.

YEKE_SECRET_VERSION_RETENTION_DAYSi aşan sürüm satırları silinir. Ama bir Secret'ın en yüksek revizyonlu baş satırı bu şekilde hiçbir zaman silinmez; süresi geçince yalnız içeriği düşer, satırın kendisi ve rN numarası kalıcıdır. YEKE_SECRET_VERSION_MAX ise Secret başına saklanan satır sayısını üstten sınırlar: en yeni N satır kalır, daha eskisi (yine baş satır hariç) silinir.

Enterprise — secret-versions (E6, "Erişim ve Secret yönetimi"nin dördüncü kalemi). secret-display, secret-keys ve effective-access'in yanına eklendi. Lisans kalkarsa yeni sürüm kaydı durur, Geçmiş sekmesinden okuma ve geri yükleme kapanır — ama var olan sürüm satırları SİLİNMEZ, yalnızca saklama süresi (varsayılan 90 gün) sonunda düşer.

Sınırlar

Secret sürümlerinin vermediği ve veremediği şeyler.

  • Anahtar rotasyonu yok. Geçmiş, mevcut zarf şifreleme mekanizmasıyla saklanır; şifreleme anahtarı değiştirilirse eski sürümler açılamaz hâle gelir.
  • Tespit tembeldir, sürekli izleme değildir. YEKE dışı bir değişiklik ancak YEKE'nin o Secret'a bir SONRAKİ yazmasında görünür hâle gelir. İki YEKE yazması arasında birden fazla dış değişiklik olduysa, geçmişe yalnız SONUNCUSU kaydedilir — aradaki ara durumlar kaybolur.
  • Geçmiş, YEKE'nin İLK yazdığı andan başlar. Hiç YEKE üzerinden yazılmamış bir Secret'ın geçmişi yoktur; ilk kayıt YEKE'nin o Secret'a attığı ilk yazmayla açılır.
  • Helm'in kendi release Secret'ları kapsam dışı. helm.sh/release.v1 etiketini taşıyan Secret'lar bu mekanizmaya girmez — Helm'in kendi sürüm mekanizması vardır, doğru araç helm rollback'tur.
  • Geri yükleme Secret'ın tipini değiştirmez. Yalnız veriyi (anahtar–değer çiftlerini) yazar; Secret'ın type alanı olduğu gibi kalır.
  • Geçmişi okumak küme bağlantısı ister. Erişim yetkisini her zaman küme söyler — geçmiş kümeden bağımsız, ayrı bir yetki kaynağı değildir.
  • Üretimdeki mevcut Enterprise lisansları bu kalemi kendiliğinden açmaz. secret-versions ayrı bir özellik anahtarıdır; eski E6 adlarından birini taşıyan bir lisans yeni E6'nın önceki üç kalemini açmış sayılır (bkz. fiyatlandırma), ama dördüncü kalem için lisansın secret-versions adıyla yeniden imzalanması gerekir.

Görünürlük tavanını ve anahtar erişimini de görün

Secret sürümleri, Secret görünürlük tavanı ve yetki gruplarının anahtar bazında erişimi üzerine kurulur — üçü birlikte okunmalı.