Ana içeriğe geç

kule rules

Hatırlanan kuralları, yani Kule'ye bir daha sormamasını söylediklerinizi listeler, ekler ve unutturur.

Kullanım​

kule rules [OPTIONS] [COMMAND]
Alt komutNe yapar
listKuralları listeler (varsayılan).
allowBir bağlantıyı ya da tek bir dosyadaki değişiklikleri sormadan geçirir.
forgetBir kuralın geçirdiği şey için yeniden sorulmasını sağlar.

Açıklama​

Politika bir şeyi size sorduğunda, bir kez ve kalıcı olarak yanıtlayabilirsiniz. Hatırlanan bir kural iki türden biridir:

  • Bir bağlantı: HOST:PORT, örneğin api.example.com:443. Bir Cedar permit kuralına dönüşür; böylece oraya yapılan bağlantılar kendiliğinden geçer.
  • Bir dosya: klasöre göre bir yol, örneğin package.json, ve o dosya hakkında soran kural. O tek dosya için o kurala dar bir istisna olur.

Her biri tek bir klasör (varsayılan: geçerli dizin) ya da tüm klasörler (--everywhere) için geçerlidir.

Bazı şeyler asla hatırlanmaz:

  • politikanın reddettikleri (örneğin yeni bir git hook'u);
  • bir dosyanın adından başka bir nedenle bekleyenler: toplu silme, geçmişi yeniden yazma, bir bağlantı (link), git config. Yalnızca manifests-and-lockfiles, project-files ve automation kuralları kalıcı olarak yanıtlanabilir;
  • bir deponun kendi kurallarını tuttuğu .kule/ altındaki her şey.

careful politikada her dosya değişikliği ayrıca hatırlanamayan careful kuralını da bekler; bu yüzden orada hatırlanan bir dosya geçmez.

Hatırlanan kurallar Kule'nin evinde (remembered.json) durur; bunu hiçbir sandbox göremez. Politikası ne olursa olsun her grupta geçerlidirler.

Tüm alt komutlar --home alır (bkz. genel seçenekler).

kule rules list​

kule rules list [OPTIONS]
$ kule rules
1 connections to example.com:443 · ~/code/app
3 connections to api.github.com:443 · every folder

Hiçbir şey saklanmamışsa: nothing remembered: every question is asked.

kule rules allow​

kule rules allow [OPTIONS] <WHAT>
Argüman / seçenekDeğerVarsayılanAnlamı
WHATHOST:PORT ya da PATHBir bağlantı (küçük harfli bir host adı ve bir port, joker karakter yok) ya da klasöre göre bir dosya yolu (.. yok).
--rulekural kimliğimanifests-and-lockfilesBir dosya için: o dosya hakkında soran kural. manifests-and-lockfiles, project-files, automation'dan biri.
--folderyolgeçerli dizinKuralın geçerli olduğu klasör.
--everywhereTüm klasörler için geçerli olur.
--yesKuralı saklar. --yes olmadan hiçbir şey saklanmaz.

allow önce kuralın geçmiş görevlerinizde şimdiye kadar neleri geçireceğini gösterir: bekleyen ya da reddedilen bağlantılar ve dosyaya dokunan commit'ler ile commit edilmemiş değişiklikler. Kuralı yalnızca --yes saklar. Böylece karar vermeden önce bakabilirsiniz:

$ cd ~/code/app
$ kule rules allow example.com:443
connections to example.com:443 · ~/code/app
would have let through so far: 1 connections, 0 changes, in 1 tasks
not kept: rerun with --yes to keep it
$ kule rules allow example.com:443 --yes
connections to example.com:443 · ~/code/app
would have let through so far: 1 connections, 0 changes, in 1 tasks
kept as 1

Bu klasörde package.json değişikliklerini geçirin:

$ kule rules allow package.json --yes
changes to package.json (manifests-and-lockfiles) · ~/code/app
would have let through so far: 0 connections, 0 changes, in 0 tasks
kept as 2

automation kuralının sorduğu bir dosya, örneğin bir CI workflow'u:

$ kule rules allow .github/workflows/ci.yml --rule automation --yes

Tüm klasörler için bir host:

$ kule rules allow api.github.com:443 --everywhere --yes
connections to api.github.com:443 · every folder
would have let through so far: 0 connections, 0 changes, in 0 tasks
kept as 3
uyarı

Bir bağlantı kuralı, o görevlerdeki yalnızca ajanın değil, her komutun o host'a ulaşmasına izin verir. Git host'ları sık görülen bir örnektir: TLS içinde bir push, bir fetch ile aynı görünür.

kule rules forget​

kule rules forget [OPTIONS] <ID>
$ kule rules forget 2
forgot 2: asked again from now on
$ kule rules forget 9
nothing remembered as 9

Hatalar ve çözümler​

MesajNe yapmalı
HOST:PORT: a lowercase host name and a port, without a wildcardapi.example.com:443 gibi tek ve tam bir host yazın.
PATH: a path relative to the folder, without ..Yolu klasörün içindeki haliyle verin.
PATH: the repository's own rules are always put to a person.kule/ altındaki dosyalar hatırlanamaz.
RULE: only a rule that asks about a file by its name can be answered for good--rule, manifests-and-lockfiles, project-files ya da automation alır.

Uygulamada​

Bekleyen bir bağlantıda Approve and remember (onayla ve hatırla), görevin klasörü için bir bağlantı kuralı saklar. Review'da bekletilen bir dosyadaki Don't ask again in this folder (bu klasörde bir daha sorma) önce neleri geçireceğini gösterir, sonra bir dosya kuralı saklar. Settings → Rules hepsini, her birinin yanında Forget ile listeler. Komut satırından kule commit --approve --remember, onaylanan dosyalar için dosya kuralları saklar.

Ayrıca bakın​