From: Eshel Yaron Date: Wed, 31 Jul 2024 06:54:52 +0000 (+0200) Subject: New command 'kubed-transient-rollout' X-Git-Tag: v0.2.0~16 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=018d529c3b412df98a9e621270290024df5847fe;p=kubed.git New command 'kubed-transient-rollout' * 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. --- diff --git a/kubed-transient.el b/kubed-transient.el index 6d0bc70..b44cfa7 100644 --- a/kubed-transient.el +++ b/kubed-transient.el @@ -46,9 +46,24 @@ ("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." diff --git a/kubed.el b/kubed.el index ea2e84d..ce00719 100644 --- 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