Round 342: Ansible ext, Salt ext, Chef ext, Puppet ext, CFEngine ext (20 commands)

ober

f82e76d170d28f9d56efc3b2c9c2100e94ea0fed

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 21ea9c0..53888c7 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 342 — Ansible ext, Salt ext, Chef ext, Puppet ext, CFEngine ext
+
+| Feature | Status | Notes |
+|---|---|---|
+| ansible-config | :orange_circle: | Ansible: show configuration |
+| ansible-inventory | :orange_circle: | Ansible: load inventory |
+| ansible-galaxy | :orange_circle: | Ansible: install Galaxy role |
+| ansible-vault | :orange_circle: | Ansible: edit vault file |
+| salt-call | :orange_circle: | Salt: call a function |
+| salt-key | :orange_circle: | Salt: list minion keys |
+| salt-master | :orange_circle: | Salt: master status |
+| salt-minion | :orange_circle: | Salt: minion status |
+| chef-run | :orange_circle: | Chef: run a recipe |
+| chef-generate | :orange_circle: | Chef: generate cookbook/recipe |
+| chef-show-policy | :orange_circle: | Chef: show policy group |
+| chef-search | :orange_circle: | Chef: search index |
+| puppet-module | :orange_circle: | Puppet: install module |
+| puppet-resource | :orange_circle: | Puppet: show resource |
+| puppet-facts | :orange_circle: | Puppet: show system facts |
+| puppet-catalog | :orange_circle: | Puppet: compile catalog |
+| cfengine-run | :orange_circle: | CFEngine: run agent |
+| cfengine-promises | :orange_circle: | CFEngine: check promises |
+| cfengine-report | :orange_circle: | CFEngine: compliance report |
+| cfengine-hub | :orange_circle: | CFEngine: hub status |
+
 ### Round 341 — Pulumi ext, Packer ext, Boundary ext, Consul ext, Nomad ext
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 3cf0ac5..ea63cf2 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -25147,3 +25147,51 @@
     (echo-read-string echo "Nomad alloc ID: "
       (lambda (id)
         (echo-message! echo (str "Nomad: showing alloc " id))))))
+
+;;; Round 342 — Chef ext, Puppet ext, CFEngine ext (batch 2)
+
+(def (cmd-chef-show-policy app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Chef: showing policy group")))
+
+(def (cmd-chef-search app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Chef search index: "
+      (lambda (idx)
+        (echo-message! echo (str "Chef: searching " idx))))))
+
+(def (cmd-puppet-module app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Puppet module: "
+      (lambda (mod)
+        (echo-message! echo (str "Puppet: installing module " mod))))))
+
+(def (cmd-puppet-resource app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Puppet resource type: "
+      (lambda (type)
+        (echo-message! echo (str "Puppet: showing resource " type))))))
+
+(def (cmd-puppet-facts app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Puppet: showing system facts")))
+
+(def (cmd-puppet-catalog app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Puppet: compiling catalog")))
+
+(def (cmd-cfengine-run app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "CFEngine: running agent")))
+
+(def (cmd-cfengine-promises app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "CFEngine: checking promises")))
+
+(def (cmd-cfengine-report app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "CFEngine: showing compliance report")))
+
+(def (cmd-cfengine-hub app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "CFEngine: hub status")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 31e743c..67d4e82 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -25850,3 +25850,57 @@
 (def (cmd-boundary-authenticate app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Boundary: authenticating")))
+
+;;; Round 342 — Ansible ext, Salt ext, Chef ext, Puppet ext, CFEngine ext (batch 1)
+
+(def (cmd-ansible-config app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ansible: showing configuration")))
+
+(def (cmd-ansible-inventory app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Ansible inventory file: "
+      (lambda (file)
+        (echo-message! echo (str "Ansible: loading inventory " file))))))
+
+(def (cmd-ansible-galaxy app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Ansible Galaxy role: "
+      (lambda (role)
+        (echo-message! echo (str "Ansible: installing role " role))))))
+
+(def (cmd-ansible-vault app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Ansible Vault file: "
+      (lambda (file)
+        (echo-message! echo (str "Ansible: editing vault " file))))))
+
+(def (cmd-salt-call app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Salt function: "
+      (lambda (fn)
+        (echo-message! echo (str "Salt: calling " fn))))))
+
+(def (cmd-salt-key app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Salt: listing minion keys")))
+
+(def (cmd-salt-master app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Salt: showing master status")))
+
+(def (cmd-salt-minion app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Salt: showing minion status")))
+
+(def (cmd-chef-run app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Chef recipe: "
+      (lambda (recipe)
+        (echo-message! echo (str "Chef: running recipe " recipe))))))
+
+(def (cmd-chef-generate app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Chef generate type (cookbook/recipe): "
+      (lambda (type)
+        (echo-message! echo (str "Chef: generating " type))))))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 27cc9a9..de894ca 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -8606,4 +8606,26 @@
   (register-command! 'nomad-job-run cmd-nomad-job-run)
   (register-command! 'nomad-job-stop cmd-nomad-job-stop)
   (register-command! 'nomad-alloc cmd-nomad-alloc)
+
+  ;; Round 342 — Ansible ext, Salt ext, Chef ext, Puppet ext, CFEngine ext
+  (register-command! 'ansible-config cmd-ansible-config)
+  (register-command! 'ansible-inventory cmd-ansible-inventory)
+  (register-command! 'ansible-galaxy cmd-ansible-galaxy)
+  (register-command! 'ansible-vault cmd-ansible-vault)
+  (register-command! 'salt-call cmd-salt-call)
+  (register-command! 'salt-key cmd-salt-key)
+  (register-command! 'salt-master cmd-salt-master)
+  (register-command! 'salt-minion cmd-salt-minion)
+  (register-command! 'chef-run cmd-chef-run)
+  (register-command! 'chef-generate cmd-chef-generate)
+  (register-command! 'chef-show-policy cmd-chef-show-policy)
+  (register-command! 'chef-search cmd-chef-search)
+  (register-command! 'puppet-module cmd-puppet-module)
+  (register-command! 'puppet-resource cmd-puppet-resource)
+  (register-command! 'puppet-facts cmd-puppet-facts)
+  (register-command! 'puppet-catalog cmd-puppet-catalog)
+  (register-command! 'cfengine-run cmd-cfengine-run)
+  (register-command! 'cfengine-promises cmd-cfengine-promises)
+  (register-command! 'cfengine-report cmd-cfengine-report)
+  (register-command! 'cfengine-hub cmd-cfengine-hub)
 )