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:
| Etiket | Ne demek |
|---|---|
| İlk kayıt | YEKE 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üz | YEKE 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 / kabuk | Tarayıcı kabuğundan (kubectl,
helm) ya da API üzerinden onaylanan bir planla yapılan değişiklik. |
| Geri alma | Bir onay planının geri alınmasıyla oluşan sürüm. |
| Geri yükleme | Bu 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şken | Varsayılan | Ne yapar |
|---|---|---|
YEKE_SECRET_VERSION_RETENTION_DAYS | 90 | 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_MAX | 50 | 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.v1etiketini 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
typealanı 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-versionsayrı 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ınsecret-versionsadı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ı.