From 7c85ac573f837032d8f6038b09ad54e78d5527fa Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Mon, 26 Aug 2024 14:53:33 +0200 Subject: [PATCH] updated kubel Signed-off-by: Andreas Gerler --- .../kubel-autoloads.el | 19 +------ .../kubel-pkg.el | 10 +--- .../kubel.el | 56 +++++++++++++++---- 3 files changed, 49 insertions(+), 36 deletions(-) rename elpa/{kubel-20240419.1521 => kubel-20240822.1507}/kubel-autoloads.el (68%) rename elpa/{kubel-20240419.1521 => kubel-20240822.1507}/kubel-pkg.el (52%) rename elpa/{kubel-20240419.1521 => kubel-20240822.1507}/kubel.el (97%) diff --git a/elpa/kubel-20240419.1521/kubel-autoloads.el b/elpa/kubel-20240822.1507/kubel-autoloads.el similarity index 68% rename from elpa/kubel-20240419.1521/kubel-autoloads.el rename to elpa/kubel-20240822.1507/kubel-autoloads.el index 375a4561..36e78041 100644 --- a/elpa/kubel-20240419.1521/kubel-autoloads.el +++ b/elpa/kubel-20240822.1507/kubel-autoloads.el @@ -14,24 +14,11 @@ (autoload 'kubel-yaml-editing-mode "kubel" "\ Kubel Yaml editing mode. -Use C-c C-c to kubectl apply the current yaml buffer. +Allows simple apply of the changes made. -This is a minor mode. If called interactively, toggle the -`Kubel-Yaml-Editing mode' mode. If the prefix argument is -positive, enable the mode, and if it is zero or negative, disable -the mode. +\\{kubel-yaml-editing-mode-map} -If called from Lisp, toggle the mode if ARG is `toggle'. Enable -the mode if ARG is nil, omitted, or is a positive number. -Disable the mode if ARG is a negative number. - -To check whether the minor mode is enabled in the current buffer, -evaluate `kubel-yaml-editing-mode'. - -The mode's hook is called both when the mode is enabled and when -it is disabled. - -(fn &optional ARG)" t) +(fn)" t) (autoload 'kubel-vterm-setup "kubel" "\ Adds a vterm enty to the KUBEL-EXEC-POP.") (autoload 'kubel-refresh "kubel" "\ diff --git a/elpa/kubel-20240419.1521/kubel-pkg.el b/elpa/kubel-20240822.1507/kubel-pkg.el similarity index 52% rename from elpa/kubel-20240419.1521/kubel-pkg.el rename to elpa/kubel-20240822.1507/kubel-pkg.el index 03c1fce7..4aa63181 100644 --- a/elpa/kubel-20240419.1521/kubel-pkg.el +++ b/elpa/kubel-20240822.1507/kubel-pkg.el @@ -1,16 +1,10 @@ -(define-package "kubel" "20240419.1521" "Control Kubernetes with limited permissions" +(define-package "kubel" "20240822.1507" "Control Kubernetes with limited permissions" '((transient "0.1.0") (emacs "25.3") (dash "2.12.0") (s "1.2.0") (yaml-mode "0.0.14")) - :commit "eb41a6420d20142e5cd33cd34e17654294c99c86" :authors - '(("Adrien Brochard")) - :maintainers - '(("Adrien Brochard")) - :maintainer - '("Adrien Brochard") - :keywords + :commit "e124c555d1a889055ddb1426163d24652cc281b4" :keywords '("kubernetes" "k8s" "tools" "processes") :url "https://github.com/abrochard/kubel") ;; Local Variables: diff --git a/elpa/kubel-20240419.1521/kubel.el b/elpa/kubel-20240822.1507/kubel.el similarity index 97% rename from elpa/kubel-20240419.1521/kubel.el rename to elpa/kubel-20240822.1507/kubel.el index 6b89be4e..94476765 100644 --- a/elpa/kubel-20240419.1521/kubel.el +++ b/elpa/kubel-20240822.1507/kubel.el @@ -226,6 +226,15 @@ :type 'integer :group 'kubel) +(defcustom kubel-list-wide nil + "Control whether list views show additional colums. + +true - use '-o wide' for list views to show additional columns +false - do not use '-o wide' for list views, hiding additional columns" + :type 'boolean + :group 'kubel) + + (defcustom kubel-use-namespace-list 'auto "Control behavior for namespace completion. @@ -253,6 +262,12 @@ with information about the shell's connection. The following :type 'string :group 'kubel) +(defcustom kubel-kill-buffer-query t + "Non-nil means that killing a modified resource buffer has to be confirmed. +This is used by `kubel-kill-buffer'." + :type 'boolean + :group 'kubel) + (defun kubel--append-to-process-buffer (str) "Append string STR to the process buffer." (with-current-buffer (get-buffer-create kubel--process-buffer) @@ -330,7 +345,7 @@ CMD is the command string to run." (defun kubel--populate-list () "Return a list with a tabulated list format and \"tabulated-list-entries\"." - (let* ((body (kubel--exec-to-string (concat (kubel--get-command-prefix) " get " kubel-resource))) + (let* ((body (kubel--exec-to-string (concat (kubel--get-command-prefix) " get " kubel-resource (if kubel-list-wide " -o wide" "")))) (entrylist (kubel--parse-body body))) (when (string-prefix-p "No resources found" body) (message "No resources found")) ;; TODO exception here @@ -590,12 +605,13 @@ NAME is the string name of the resource to decribe. DESCRIBE is boolean to describe instead of get resource details" (let* ((resource (kubel--select-resource name)) (process-name (format "kubel - %s - %s" name resource)) - (callback (lambda () (goto-char (point-min))))) + (callback (lambda () + (set-buffer-modified-p nil) + (goto-char (point-min))))) (if describe (kubel--exec process-name (list "describe" name resource) nil callback) (kubel--exec process-name (list "get" name "-o" kubel-output resource) nil callback)) (when (string-equal kubel-output "yaml") - (yaml-mode) (kubel-yaml-editing-mode)))) (defun kubel--show-rollout-revision (type name) @@ -640,15 +656,29 @@ TYPENAME is the resource type/name." (-contains? '("ReplicaSets" "replicasets" "replicasets.apps") kubel-resource) (-contains? '("StatefulSets" "statefulsets" "statefulsets.apps") kubel-resource))) +(defun kubel-kill-buffer () + "Kill the current buffer." + (interactive) + (when (or (not (buffer-modified-p)) + (not kubel-kill-buffer-query) + (yes-or-no-p "Resource modified; kill anyway? ")) + (kill-buffer (current-buffer)))) + +(defvar kubel-yaml-editing-mode-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "C-c C-c") #'kubel-apply) + (define-key map (kbd "C-c C-k") #'kubel-kill-buffer) + map) + "Keymap used in `kubel-yaml-editing-mode' buffers.") + ;; interactive ;;;###autoload -(define-minor-mode kubel-yaml-editing-mode +(define-derived-mode kubel-yaml-editing-mode yaml-mode "kubel/e" "Kubel Yaml editing mode. -Use C-c C-c to kubectl apply the current yaml buffer." - :init-value nil - :keymap (let ((map (make-sparse-keymap))) - (define-key map (kbd "C-c C-c") #'kubel-apply) - map)) + +Allows simple apply of the changes made. + +\\{kubel-yaml-editing-mode-map}") (defun kubel-apply () "Save the current buffer to a temp file and try to kubectl apply it." @@ -659,7 +689,8 @@ Use C-c C-c to kubectl apply the current yaml buffer." (format "/%s%s:%s@%s:" (or hop "") method user host))) "")) (let* ((filename-without-tramp-prefix (format "/tmp/kubel/%s-%s.yaml" - (replace-regexp-in-string "\*\\| " "" (buffer-name)) + (replace-regexp-in-string "/" "_" + (replace-regexp-in-string "\*\\| " "" (buffer-name))) (floor (float-time)))) (filename (format "%s%s" dir-prefix filename-without-tramp-prefix))) (when (y-or-n-p "Apply the changes? ") @@ -678,12 +709,13 @@ Use C-c C-c to kubectl apply the current yaml buffer." (ns kubel-namespace) (res kubel-resource) (process-name (format "kubel - %s - %s" kubel-resource resource)) - (callback (lambda () (goto-char (point-min))))) + (callback (lambda () + (set-buffer-modified-p nil) + (goto-char (point-min))))) (if describe (kubel--exec process-name (list "describe" kubel-resource (kubel--get-resource-under-cursor)) nil callback) (kubel--exec process-name (list "get" kubel-resource (kubel--get-resource-under-cursor) "-o" kubel-output) nil callback)) (when (or (string-equal kubel-output "yaml") (transient-args 'kubel-describe-popup)) - (yaml-mode) (kubel-yaml-editing-mode) (setq kubel-context ctx) (setq kubel-namespace ns) -- 2.47.3