]> git.eshelyaron.com Git - kubed.git/commitdiff
New command 'kubed-transient-rollout'
authorEshel Yaron <me@eshelyaron.com>
Wed, 31 Jul 2024 06:54:52 +0000 (08:54 +0200)
committerEshel Yaron <me@eshelyaron.com>
Wed, 31 Jul 2024 06:54:52 +0000 (08:54 +0200)
* kubed-transient.el (kubed-transient-rollout): New command.
(kubed-transient): Bind it.
* kubed.el (kubed-watch-deployment-status)
(kubed-restart-deployment): Use namespace argument from
transient when specified.

kubed-transient.el
kubed.el

index 6d0bc70912f9600300b3877a0a705f2ee8d7439f..b44cfa7ee40d527335a4b695254ee790acca9d12 100644 (file)
    ("d" "Diff"    kubed-transient-diff)
    ("e" "Exec"    kubed-transient-exec)
    ("P" "Patch"   kubed-transient-patch)
+   ("R" "Rollout" kubed-transient-rollout)
    ("E" "Explain" kubed-explain)
    ("!" "Command line" kubed-kubectl-command)])
 
+;;;###autoload
+(transient-define-prefix kubed-transient-rollout ()
+  "Manage Kubernetes deployments."
+  ["Options"
+   ("-n" "Namespace" "--namespace="
+    :prompt "Namespace" :reader kubed-transient-read-namespace)]
+  ["Actions"
+   ("W" "Watch"   kubed-watch-deployment-status)
+   ("R" "Restart" kubed-restart-deployment)
+   ("!" "Command line" kubed-kubectl-command)]
+  (interactive)
+  (transient-setup 'kubed-transient-rollout nil nil
+                   :scope '("rollout")))
+
 ;;;###autoload
 (transient-define-prefix kubed-transient-attach ()
   "Attach to running process in container in Kubernetes pod."
index ea2e84d72827b710386ae38f16baed9d44211d8e..ce00719b1495ac257eca236553417901dd50fceb 100644 (file)
--- a/kubed.el
+++ b/kubed.el
@@ -1163,7 +1163,13 @@ defaulting to the current namespace."
 Optional argument NAMESPACE is the namespace of DEP, defaulting to the
 current namespace."
   (interactive
-   (list (kubed-read-deployment "Watch deployment status")))
+   (let ((namespace (seq-some
+                     (lambda (arg)
+                       (when (string-match "--namespace=\\(.+\\)" arg)
+                         (match-string 1 arg)))
+                     (kubed-transient-args 'kubed-transient-rollout))))
+     (list (kubed-read-deployment "Watch deployment status" nil nil namespace)
+           namespace)))
   (let ((buf (get-buffer-create "*kubed-deployment-status*")))
     (with-current-buffer buf (erase-buffer))
     (make-process
@@ -1187,7 +1193,13 @@ current namespace."
   "Restart Kubernetes deployment DEP in namespace NAMESPACE.
 If NAMESPACE is nil or omitted, it defaults to the current namespace."
   (interactive
-   (list (kubed-read-deployment "Restart deployment")))
+   (let ((namespace (seq-some
+                     (lambda (arg)
+                       (when (string-match "--namespace=\\(.+\\)" arg)
+                         (match-string 1 arg)))
+                     (kubed-transient-args 'kubed-transient-rollout))))
+     (list (kubed-read-deployment "Restart deployment" nil nil namespace)
+           namespace)))
   (unless (zerop
            (apply #'call-process
                   kubed-kubectl-program nil nil nil