kule policy
Tüm görevler için geçerli politikayı yazdırır ya da Kule'nin iki yerleşik politikası arasında geçiş yapar.
Kullanım
kule policy [OPTIONS] [CHOICE]
Açıklama
Politika, bir görevin yaptığı her şeyi klasörünüze ulaşmadan önce değerlendiren bir Cedar kuralları kümesidir: her dosya değişikliğini, her git değişikliğini ve her ağ bağlantısını. Her değerlendirme üç karardan biridir:
- kendiliğinden geçer:
kule commitsormadan uygular; - onay bekler:
kule commit --approveya da uygulamada Approve and commit gerekir. Onay bekleyecek bir bağlantı uygulamada size sorulur, komut satırından ise hemen reddedilir; - reddedilir: onayla bile asla geçmez.
Kule'nin kendine ait iki politikası vardır:
| Politika | Kendiliğinden geçenler | Onay bekleyenler |
|---|---|---|
balanced (varsayılan) | Sıradan dosya değişiklikleri, ileri sarma (fast-forward) dal hareketleri ve yeni dallar, HTTPS üzerinden paket kayıt depoları. | Manifest ve kilit dosyaları, CI ve editör ayarları, kod çalıştıran ya da bir ajanı yönlendiren dosyalar, bağlantılar (link), iç içe depolar, git config, geçmişi yeniden yazma, toplu silmeler. Git hook'ları reddedilir. |
careful | Yalnızca balanced'ın geçirdiği bağlantılar (paket kayıt depoları ve her ajanın çalışırken kendi host'ları). | Bir dosyaya ya da git'e yapılan her değişiklik. |
Seçim vermeden kule policy, tüm görevler için geçerli kuralları yazdırır.
kule policy balanced ve kule policy careful bunlardan birini devreye
alır. Kendi politikası olan bir gruptaki görev ise grubun
politikasına göre değerlendirilir.
Kendi politikanız
Kendi politikanızı yazmak için onu Kule'nin evine policy.cedar olarak
kaydedin (~/.kule/policy.cedar). Bu dosya tüm görevler için Kule'nin
politikasının yerine geçer ve Kule onun üzerine asla yazmaz: dosya
oradayken kule policy balanced ve careful reddedilir. Geri dönmek için
dosyayı başka yere taşıyın. Her yerleşik kural ve adım adım bir örnek için
Politika kuralları sayfasına bakın.
Bir deponun kuralları
Bir depo, kökündeki .kule/policy.cedar dosyasına forbid kuralları
ekleyebilir. Bunlar politikayı yalnızca sıkılaştırır, asla gevşetmez ve
bir ajanın düzenlediği kopyadan değil, her zaman gerçek klasörünüzden
okunur.
Argümanlar
| Argüman | Anlamı |
|---|---|
CHOICE | balanced ya da careful. Geçerli politikayı yazdırmak için boş bırakın. |
Seçenekler
| Seçenek | Değer | Varsayılan | Anlamı |
|---|---|---|---|
--home | yol | ~/.kule (ya da KULE_HOME) | Kule'nin evi. Bkz. genel seçenekler. |
-h, --help | Yardımı yazdırır. |
Örnekler
Geçerli politikayı yazdırın (balanced politikanın ilk satırları):
$ kule policy | head -3
// Kule's built-in policy. Each effect is asked twice: may it pass on its own
// (Action "auto"), and if not, may a person approve it (Action "ask").
// A forbid always wins over a permit.
Her değişikliğin sizi beklemesini sağlayın:
$ kule policy careful
policy: careful
Varsayılana geri dönün:
$ kule policy balanced
policy: balanced
Bir görevin değişikliklerinin politikadan ne karar aldığını görün:
$ kule status 1046fb30
1 file changes: +0 ~1 -0
~ Cargo.toml
policy: waits for approval
Cargo.toml · waits for approval (manifests-and-lockfiles)
Parantez içindeki sözcük kuralın @id'sidir; Politika kuralları
her birini açıklar.
Çıktı
kule policy, Cedar metninin kendisini yazdırır: Kule'nin balanced politikası, Kule'nin careful politikası (sonuna bircarefulkuralı eklenmiş balanced metni) ya da kendi dosyanız.policy: careful/policy: balancedbir geçişi onaylar.
Hatalar ve çözümler
| Mesaj | Ne yapmalı |
|---|---|
kule: strict: the policies to choose are balanced and careful | İkisinden birini kullanın. Başka bir şey için kendi policy.cedar dosyanızı yazın. |
kule: ~/.kule/policy.cedar is a policy of your own; Kule does not replace it | Kule'nin politikasını geri istiyorsanız önce kendi dosyanızı taşıyın ya da silin. |
exec, status, commit ya da run'dan kule: policy: unexpected end of input (ya da başka bir Cedar hatası) | policy.cedar dosyanız, bir grubun politikası ya da deponun .kule/policy.cedar dosyası ayrıştırılamıyor. Kule bozuk bir politikayla karar vermeyi reddeder; bu yüzden düzeltilene kadar hiçbir şey çalışmaz ve commit edilmez. |
kule: .kule/policy.cedar may only contain forbid rules: a repository can tighten the policy, never loosen it | Deponun dosyasındaki permit kurallarını kaldırın. |
Uygulamada
Settings → Policy, tüm görevler için balanced ya da careful politikayı ve her grup için bir politikayı seçer. İlk açılış ekranı da aynı seçimi sorar.
Ayrıca bakın
- Politika: kararlar nasıl işler.
- Politika kuralları: tüm yerleşik kurallar.
kule rules: Kule'ye bir daha sormamasını söyledikleriniz.kule group: bir grubun politikası.kule commit:--approveve--remember.