Round 364: MinIO ext, SeaweedFS ext, Ceph ext, GlusterFS ext, LongHorn ext (20 commands)

ober

b85f82b27c9d6d2fdfd29510fd349355c4a21e80

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index f154ccc..6c88370 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 364 — MinIO ext, SeaweedFS ext, Ceph ext, GlusterFS ext, LongHorn ext
+
+| Feature | Status | Notes |
+|---|---|---|
+| minio-ls | :orange_circle: | MinIO: list objects |
+| minio-cp | :orange_circle: | MinIO: copy objects |
+| minio-mb | :orange_circle: | MinIO: make bucket |
+| minio-admin | :orange_circle: | MinIO: admin info |
+| seaweedfs-master | :orange_circle: | SeaweedFS: master status |
+| seaweedfs-volume | :orange_circle: | SeaweedFS: list volumes |
+| seaweedfs-filer | :orange_circle: | SeaweedFS: filer status |
+| seaweedfs-mount | :orange_circle: | SeaweedFS: mount filesystem |
+| ceph-status | :orange_circle: | Ceph: cluster status |
+| ceph-osd | :orange_circle: | Ceph: list OSDs |
+| ceph-pool | :orange_circle: | Ceph: list pools |
+| ceph-health | :orange_circle: | Ceph: health detail |
+| glusterfs-volume | :orange_circle: | GlusterFS: list volumes |
+| glusterfs-peer | :orange_circle: | GlusterFS: list peers |
+| glusterfs-info | :orange_circle: | GlusterFS: volume info |
+| glusterfs-heal | :orange_circle: | GlusterFS: heal volume |
+| longhorn-volume | :orange_circle: | Longhorn: list volumes |
+| longhorn-backup | :orange_circle: | Longhorn: list backups |
+| longhorn-engine | :orange_circle: | Longhorn: engine status |
+| longhorn-replica | :orange_circle: | Longhorn: list replicas |
+
 ### Round 363 — Velero ext, Restic ext, Borgbackup ext, Duplicity ext, Rclone ext
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index b45e4da..99550e9 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -26189,3 +26189,49 @@
 (def (cmd-rclone-config app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Rclone: showing configuration")))
+
+;;; Round 364 — Ceph ext, GlusterFS ext, LongHorn ext (batch 2)
+
+(def (cmd-ceph-pool app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ceph: listing pools")))
+
+(def (cmd-ceph-health app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ceph: showing health detail")))
+
+(def (cmd-glusterfs-volume app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "GlusterFS: listing volumes")))
+
+(def (cmd-glusterfs-peer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "GlusterFS: listing peers")))
+
+(def (cmd-glusterfs-info app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "GlusterFS volume name: "
+      (lambda (vol)
+        (echo-message! echo (str "GlusterFS: showing info for " vol))))))
+
+(def (cmd-glusterfs-heal app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "GlusterFS heal volume: "
+      (lambda (vol)
+        (echo-message! echo (str "GlusterFS: healing " vol))))))
+
+(def (cmd-longhorn-volume app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Longhorn: listing volumes")))
+
+(def (cmd-longhorn-backup app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Longhorn: listing backups")))
+
+(def (cmd-longhorn-engine app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Longhorn: showing engine status")))
+
+(def (cmd-longhorn-replica app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Longhorn: listing replicas")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index e4b58ce..d319507 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -26942,3 +26942,53 @@
 (def (cmd-borg-list app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Borg: listing archives")))
+
+;;; Round 364 — MinIO ext, SeaweedFS ext, Ceph ext, GlusterFS ext, LongHorn ext (batch 1)
+
+(def (cmd-minio-ls app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "MinIO ls path: "
+      (lambda (path)
+        (echo-message! echo (str "MinIO: listing " path))))))
+
+(def (cmd-minio-cp app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "MinIO cp source: "
+      (lambda (src)
+        (echo-message! echo (str "MinIO: copying from " src))))))
+
+(def (cmd-minio-mb app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "MinIO make bucket: "
+      (lambda (bucket)
+        (echo-message! echo (str "MinIO: creating bucket " bucket))))))
+
+(def (cmd-minio-admin app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "MinIO: showing admin info")))
+
+(def (cmd-seaweedfs-master app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SeaweedFS: showing master status")))
+
+(def (cmd-seaweedfs-volume app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SeaweedFS: listing volumes")))
+
+(def (cmd-seaweedfs-filer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SeaweedFS: showing filer status")))
+
+(def (cmd-seaweedfs-mount app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "SeaweedFS mount point: "
+      (lambda (mnt)
+        (echo-message! echo (str "SeaweedFS: mounting at " mnt))))))
+
+(def (cmd-ceph-status app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ceph: showing cluster status")))
+
+(def (cmd-ceph-osd app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ceph: listing OSDs")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index c169226..74997fe 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -9090,4 +9090,26 @@
   (register-command! 'rclone-sync cmd-rclone-sync)
   (register-command! 'rclone-ls cmd-rclone-ls)
   (register-command! 'rclone-config cmd-rclone-config)
+
+  ;; Round 364 — MinIO ext, SeaweedFS ext, Ceph ext, GlusterFS ext, LongHorn ext
+  (register-command! 'minio-ls cmd-minio-ls)
+  (register-command! 'minio-cp cmd-minio-cp)
+  (register-command! 'minio-mb cmd-minio-mb)
+  (register-command! 'minio-admin cmd-minio-admin)
+  (register-command! 'seaweedfs-master cmd-seaweedfs-master)
+  (register-command! 'seaweedfs-volume cmd-seaweedfs-volume)
+  (register-command! 'seaweedfs-filer cmd-seaweedfs-filer)
+  (register-command! 'seaweedfs-mount cmd-seaweedfs-mount)
+  (register-command! 'ceph-status cmd-ceph-status)
+  (register-command! 'ceph-osd cmd-ceph-osd)
+  (register-command! 'ceph-pool cmd-ceph-pool)
+  (register-command! 'ceph-health cmd-ceph-health)
+  (register-command! 'glusterfs-volume cmd-glusterfs-volume)
+  (register-command! 'glusterfs-peer cmd-glusterfs-peer)
+  (register-command! 'glusterfs-info cmd-glusterfs-info)
+  (register-command! 'glusterfs-heal cmd-glusterfs-heal)
+  (register-command! 'longhorn-volume cmd-longhorn-volume)
+  (register-command! 'longhorn-backup cmd-longhorn-backup)
+  (register-command! 'longhorn-engine cmd-longhorn-engine)
+  (register-command! 'longhorn-replica cmd-longhorn-replica)
 )