Round 341: Pulumi ext, Packer ext, Boundary ext, Consul ext, Nomad ext (20 commands)

ober

87decdf79d5457ac225c31ffe39ae65dc1477d58

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index b3d9425..21ea9c0 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 341 — Pulumi ext, Packer ext, Boundary ext, Consul ext, Nomad ext
+
+| Feature | Status | Notes |
+|---|---|---|
+| pulumi-up | :orange_circle: | Pulumi: deploy stack |
+| pulumi-preview | :orange_circle: | Pulumi: preview changes |
+| pulumi-destroy | :orange_circle: | Pulumi: destroy stack |
+| pulumi-stack | :orange_circle: | Pulumi: show stack info |
+| packer-build | :orange_circle: | Packer: build image |
+| packer-validate | :orange_circle: | Packer: validate template |
+| packer-inspect | :orange_circle: | Packer: inspect template |
+| packer-fmt | :orange_circle: | Packer: format templates |
+| boundary-connect | :orange_circle: | Boundary: connect to target |
+| boundary-authenticate | :orange_circle: | Boundary: authenticate |
+| boundary-targets | :orange_circle: | Boundary: list targets |
+| boundary-sessions | :orange_circle: | Boundary: list sessions |
+| consul-members | :orange_circle: | Consul: list cluster members |
+| consul-services | :orange_circle: | Consul: list services |
+| consul-kv-get | :orange_circle: | Consul: get KV value |
+| consul-kv-put | :orange_circle: | Consul: put KV value |
+| nomad-status | :orange_circle: | Nomad: cluster status |
+| nomad-job-run | :orange_circle: | Nomad: run a job |
+| nomad-job-stop | :orange_circle: | Nomad: stop a job |
+| nomad-alloc | :orange_circle: | Nomad: show allocation |
+
 ### Round 340 — Helm ext, Kubectl ext, Minikube ext, Kind ext, K3s ext
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 87d3ea2..3cf0ac5 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -25095,3 +25095,55 @@
     (echo-read-string echo "K3s kubectl command: "
       (lambda (cmd)
         (echo-message! echo (str "K3s: kubectl " cmd))))))
+
+;;; Round 341 — Boundary ext, Consul ext, Nomad ext (batch 2)
+
+(def (cmd-boundary-targets app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Boundary: listing targets")))
+
+(def (cmd-boundary-sessions app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Boundary: listing sessions")))
+
+(def (cmd-consul-members app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Consul: listing cluster members")))
+
+(def (cmd-consul-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Consul: listing registered services")))
+
+(def (cmd-consul-kv-get app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Consul KV key: "
+      (lambda (key)
+        (echo-message! echo (str "Consul: getting key " key))))))
+
+(def (cmd-consul-kv-put app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Consul KV key: "
+      (lambda (key)
+        (echo-message! echo (str "Consul: putting key " key))))))
+
+(def (cmd-nomad-status app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Nomad: showing cluster status")))
+
+(def (cmd-nomad-job-run app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Nomad job file: "
+      (lambda (file)
+        (echo-message! echo (str "Nomad: running job " file))))))
+
+(def (cmd-nomad-job-stop app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Nomad stop job: "
+      (lambda (job)
+        (echo-message! echo (str "Nomad: stopping job " job))))))
+
+(def (cmd-nomad-alloc app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Nomad alloc ID: "
+      (lambda (id)
+        (echo-message! echo (str "Nomad: showing alloc " id))))))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 85500e9..31e743c 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -25800,3 +25800,53 @@
 (def (cmd-minikube-stop app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Minikube: stopping cluster")))
+
+;;; Round 341 — Pulumi ext, Packer ext, Boundary ext, Consul ext, Nomad ext (batch 1)
+
+(def (cmd-pulumi-up app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Pulumi: deploying stack")))
+
+(def (cmd-pulumi-preview app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Pulumi: previewing changes")))
+
+(def (cmd-pulumi-destroy app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Pulumi: destroying stack")))
+
+(def (cmd-pulumi-stack app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Pulumi: showing stack info")))
+
+(def (cmd-packer-build app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Packer template: "
+      (lambda (tpl)
+        (echo-message! echo (str "Packer: building " tpl))))))
+
+(def (cmd-packer-validate app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Packer template: "
+      (lambda (tpl)
+        (echo-message! echo (str "Packer: validating " tpl))))))
+
+(def (cmd-packer-inspect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Packer template: "
+      (lambda (tpl)
+        (echo-message! echo (str "Packer: inspecting " tpl))))))
+
+(def (cmd-packer-fmt app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Packer: formatting templates")))
+
+(def (cmd-boundary-connect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Boundary target ID: "
+      (lambda (id)
+        (echo-message! echo (str "Boundary: connecting to " id))))))
+
+(def (cmd-boundary-authenticate app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Boundary: authenticating")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index ec97afe..27cc9a9 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -8584,4 +8584,26 @@
   (register-command! 'k3s-stop cmd-k3s-stop)
   (register-command! 'k3s-status cmd-k3s-status)
   (register-command! 'k3s-kubectl cmd-k3s-kubectl)
+
+  ;; Round 341 — Pulumi ext, Packer ext, Boundary ext, Consul ext, Nomad ext
+  (register-command! 'pulumi-up cmd-pulumi-up)
+  (register-command! 'pulumi-preview cmd-pulumi-preview)
+  (register-command! 'pulumi-destroy cmd-pulumi-destroy)
+  (register-command! 'pulumi-stack cmd-pulumi-stack)
+  (register-command! 'packer-build cmd-packer-build)
+  (register-command! 'packer-validate cmd-packer-validate)
+  (register-command! 'packer-inspect cmd-packer-inspect)
+  (register-command! 'packer-fmt cmd-packer-fmt)
+  (register-command! 'boundary-connect cmd-boundary-connect)
+  (register-command! 'boundary-authenticate cmd-boundary-authenticate)
+  (register-command! 'boundary-targets cmd-boundary-targets)
+  (register-command! 'boundary-sessions cmd-boundary-sessions)
+  (register-command! 'consul-members cmd-consul-members)
+  (register-command! 'consul-services cmd-consul-services)
+  (register-command! 'consul-kv-get cmd-consul-kv-get)
+  (register-command! 'consul-kv-put cmd-consul-kv-put)
+  (register-command! 'nomad-status cmd-nomad-status)
+  (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)
 )