]> git.eshelyaron.com Git - kubed.git/log
kubed.git
2 months ago; Autoload 'kubed-tramp'
Eshel Yaron [Sat, 19 Oct 2024 10:22:43 +0000 (12:22 +0200)]
; Autoload 'kubed-tramp'

Ensure that 'kubed-tramp' is loaded by the time it is
needed, to avoid "Method 'kubedv1' is not known" errors.
Ideally, we'd like to load 'kubed-tramp' on the first
occasion of handling a '/kubedv1:...' remote file name.
However, Tramp does not facilitate loading extensions just
in time.  The best we can do is to arrange for 'kubed-tramp'
to be loaded right after Tramp.  This is too early, because
Tramp is often used without 'kubed-tramp', so we move some
definitions around so that it no longer pulls in 'kubed'.

See also preceding tramp-devel discussion here:
https://lists.gnu.org/archive/html/tramp-devel/2024-10/msg00005.html

* kubed-common.el: New file.
(kubed-tramp-method, kubed-kubectl-program): Move here from
'kubed' and 'kubed-tramp', respectively.
* kubed-tramp.el: Require 'kubed-common' instead of 'kubed'.
(kubed-tramp-method): Move to 'kubed-common'.
(kubed-tramp-remote-file-name): Remove in favor of new
'kubed-remote-file-name' in 'kubed'.
(kubed-tramp-enable): New function, arrange for it to be
called after 'tramp' is loaded.
* kubed.el: Require 'kubed-common'.
(kubed-kubectl-program): Move to 'kubed-common'.
(kubed-remote-file-name): New function, replaces
'kubed-tramp-remote-file-name'.
(pod): Use it.

2 months ago; Use correct plural forms of resource types
Eshel Yaron [Fri, 4 Oct 2024 19:43:03 +0000 (21:43 +0200)]
; Use correct plural forms of resource types

* kubed.el (kubed-define-resource): Use provided plural form in
'mode-name' of generated major mode.

2 months agoNew user option 'kubed-list-mode-line-format'
Eshel Yaron [Fri, 4 Oct 2024 19:21:30 +0000 (21:21 +0200)]
New user option 'kubed-list-mode-line-format'

* kubed.el (kubed-list-mode-line-format): New user option,
extracted from...
(kubed-define-resource): ...here.  Use it in 'mode-name' of
generated major modes.  This allows users to customize the indicator
we show in the mode line when update is in progress.
* kubed.texi (Browse Resources): Document new user option.
* NEWS.org: Announce it.

2 months agoPreserve marks in list buffers also in Emacs 29
Eshel Yaron [Fri, 4 Oct 2024 19:03:26 +0000 (21:03 +0200)]
Preserve marks in list buffers also in Emacs 29

Instead of relying on
'revert-buffer-restore-functions' (introduced in Emacs 30)
for preserving marks in 'kubed-list-mode' during
'revert-buffer', use a 'revert-buffer-function' to do so.

* kubed.el (kubed-list-revert): New function.
(kubed-list-mode): Use it.

3 months ago; Highlight support for multi-cluster workflows
Eshel Yaron [Mon, 23 Sep 2024 15:49:58 +0000 (17:49 +0200)]
; Highlight support for multi-cluster workflows

Motivated by https://github.com/eshelyaron/kubed/issues/6

* README.md:
* kubed.texi (Overview): Add multi-cluster support to
highlights short-list.

3 months agoUpdate NEWS.org and bump version to 0.4.1 v0.4.1
Eshel Yaron [Mon, 23 Sep 2024 07:19:18 +0000 (09:19 +0200)]
Update NEWS.org and bump version to 0.4.1

3 months ago; * kubed.texi: More explicit alt text for images.
Eshel Yaron [Mon, 23 Sep 2024 07:12:29 +0000 (09:12 +0200)]
; * kubed.texi: More explicit alt text for images.

This helps with poorly indicated alt text, as in the HTML
version that the GNU ELPA server produces and displays.

See also Emacs bug#73425.

3 months agoNew commands for managing Kubernetes API proxies
Eshel Yaron [Sun, 22 Sep 2024 20:27:10 +0000 (22:27 +0200)]
New commands for managing Kubernetes API proxies

* kubed.el (kubed--proxy-alist): New variable.
(kubed-stop-proxy, kubed-proxy): New commands, use it.
(kubed-prefix-map, kubed-menu-map): Bind 'kubed-proxy'.
* kubed-transient.el (kubed-transient-proxy): New transient.
(kubed-transient): Bind it.
* NEWS.org: Announce new commands.

3 months ago; * kubed.texi: Add illustrative images.
Eshel Yaron [Fri, 20 Sep 2024 15:34:32 +0000 (17:34 +0200)]
; * kubed.texi: Add illustrative images.

3 months ago; * kubed.texi: Update version, fix anchors.
Eshel Yaron [Wed, 18 Sep 2024 14:58:53 +0000 (16:58 +0200)]
; * kubed.texi: Update version, fix anchors.

3 months agoNew commands 'kubed-{transient-}scale-deployment'
Eshel Yaron [Wed, 18 Sep 2024 14:48:52 +0000 (16:48 +0200)]
New commands 'kubed-{transient-}scale-deployment'

* kubed-transient.el (kubed-transient-scale-deployment):
New transient.
(kubed-transient): Bind it.
* kubed.el (kubed-scale-deployment)
(kubed-deployments-scale): New commands.
* kubed.texi (Scale Deployment): New section.
(Usage): Update menu.
* NEWS.org: Announce new commands.

4 months ago; Update NEWS.org and bump version to 0.4.0 v0.4.0
Eshel Yaron [Fri, 23 Aug 2024 15:59:29 +0000 (17:59 +0200)]
; Update NEWS.org and bump version to 0.4.0

4 months ago; * kubed.texi (Transient Menus): Add a few words.
Eshel Yaron [Fri, 23 Aug 2024 18:00:10 +0000 (20:00 +0200)]
; * kubed.texi (Transient Menus): Add a few words.

4 months ago; Don't accept empty string as default namespace
Eshel Yaron [Fri, 23 Aug 2024 15:54:44 +0000 (17:54 +0200)]
; Don't accept empty string as default namespace

* kubed.el (kubed-read-default-namespace-non-empty): New func.
(kubed-default-context-and-namespace): Use it.

4 months ago; Fix spelling of "Kubernetes" in a few places
Eshel Yaron [Fri, 23 Aug 2024 15:26:51 +0000 (17:26 +0200)]
; Fix spelling of "Kubernetes" in a few places

* NEWS.org
* kubed-transient.el
* kubed.el: Fix typos.

4 months ago; Write some NEWS in preparation for version 0.4.0
Eshel Yaron [Fri, 23 Aug 2024 12:01:08 +0000 (14:01 +0200)]
; Write some NEWS in preparation for version 0.4.0

4 months agoImprove Tramp integration
Eshel Yaron [Fri, 23 Aug 2024 11:20:41 +0000 (13:20 +0200)]
Improve Tramp integration

* kubed-tramp.el: New file.
* kubed.el (kubed--static-if): No longer used, removed.
(kubed-edit-resource): Adapt.
(kubed-pods-dired, kubed-pods-shell): Use new Tramp method.
(kubed-remote-file-name-p): New function.
(kubed-local-context, kubed-local-namespace)
(kubed-local-context-and-namespace): Use it.

4 months agoImprove handling of contexts with no configured namespace
Eshel Yaron [Fri, 23 Aug 2024 07:55:30 +0000 (09:55 +0200)]
Improve handling of contexts with no configured namespace

* kubed.el (kubed--namespace): Fallback to prompting when no
default namespace is available.
(kubed-default-context-and-namespace): Prompt for default
namespace when there is none.
(kubed-current-namespace): Clarify that this function may
return nil.
(kubed-read-resource-name): Make CONTEXT argument
non-optional.
(kubed-read-resource-type): Update accordingly.

4 months ago; Fix datetime formatting for '--since-time' argument
Eshel Yaron [Wed, 21 Aug 2024 16:46:05 +0000 (18:46 +0200)]
; Fix datetime formatting for '--since-time' argument

* kubed-transient.el
(kubed-transient-read-date): New function.
(kubed-transient-logs-for-resource)
(kubed-transient-logs): Use it.
* kubed.el (kubed-logs): Correct typo.

See https://github.com/eshelyaron/kubed/issues/5

4 months ago; * kubed.el (pod): Fix thinko in last commit
Eshel Yaron [Wed, 21 Aug 2024 10:34:26 +0000 (12:34 +0200)]
; * kubed.el (pod): Fix thinko in last commit

':pad-keys' needs to come before suffixes.

4 months ago(kubed-list-transient): Add type-specific suffixes
Eshel Yaron [Wed, 21 Aug 2024 09:09:57 +0000 (11:09 +0200)]
(kubed-list-transient): Add type-specific suffixes

* kubed-transient.el (kubed-list-transient): Tweak layout;
add type-specific suffixes.
* kubed.el (kubed-list-transient-extra-suffixes): New var.
(kubed-define-resource): Set it to value of new keyword arg
':suffixes'.
(pod, deployment): Specify new keyword arg ':suffixes'.

4 months ago; Minor cleanup for logs commands
Eshel Yaron [Wed, 21 Aug 2024 09:06:13 +0000 (11:06 +0200)]
; Minor cleanup for logs commands

* kubed.el: Declare 'kubed-transient-logs-for-*' functions;
autoload 'kubed-logs-for-*' commands.
(kubed-define-resource): DRY.

4 months ago; * kubed.texi (Browse Resources): Elaborate about "g" key.
Eshel Yaron [Tue, 20 Aug 2024 10:51:51 +0000 (12:51 +0200)]
; * kubed.texi (Browse Resources): Elaborate about "g" key.

4 months agoNew transient menu 'kubed-transient-logs'
Eshel Yaron [Tue, 20 Aug 2024 08:56:06 +0000 (10:56 +0200)]
New transient menu 'kubed-transient-logs'

* kubed-transient.el (kubed-transient): Rearrange, delete
duplicate entry, bind 'kubed-transient-logs'.
(kubed-list-transient): Add TODO comment.
* kubed.el (kubed-list-logs): New command.
(kubed-list-create): Mark as specific to 'kubed-list-mode'.
(kubed-list-mode): Tweak comment.
(kubed-define-resource): Add ':logs' keyword argument for
generating 'kubed-logs-for-RESOURCE' commands.
(kubed-logs): Extend with more optional arguments, integrate
with new transient menu.

4 months ago; * cobra.el (cobra-completion-table): Add TODO comment.
Eshel Yaron [Tue, 20 Aug 2024 07:57:52 +0000 (09:57 +0200)]
; * cobra.el (cobra-completion-table): Add TODO comment.

4 months ago; * kubed.texi (Browse Resources): Fix typo.
Eshel Yaron [Tue, 20 Aug 2024 06:29:50 +0000 (08:29 +0200)]
; * kubed.texi (Browse Resources): Fix typo.

4 months agoBind 'kubed-list-update' to "g" instead of "G"
Eshel Yaron [Mon, 19 Aug 2024 19:41:44 +0000 (21:41 +0200)]
Bind 'kubed-list-update' to "g" instead of "G"

* kubed-transient.el (kubed-transient-create-ingress)
* kubed.el (kubed-list-mode-map)
* kubed.texi (Browse Resources): Update binding of
'kubed-list-update'.

Suggested by Augusto Stoffel <arstoffel@gmail.com>

4 months agoFix default namespace selection in other contexts
Eshel Yaron [Thu, 15 Aug 2024 17:19:37 +0000 (19:19 +0200)]
Fix default namespace selection in other contexts

* kubed.el (kubed--namespace): New function.  Use it instead
of 'kubed-local-namespace' for contexts other than
'kubed-local-context'.

4 months ago; Update NEWS.org and bump version to 0.3.2 v0.3.2
Eshel Yaron [Thu, 15 Aug 2024 15:53:23 +0000 (17:53 +0200)]
; Update NEWS.org and bump version to 0.3.2

4 months agoNew user option 'kubed-default-context-and-namespace'
Eshel Yaron [Thu, 15 Aug 2024 15:06:30 +0000 (17:06 +0200)]
New user option 'kubed-default-context-and-namespace'

* kubed.el (kubed-default-context-and-namespace): New user
option and function of same name.
(kubed-default-context, kubed-default-namespace): New funcs.
(kubed-local-namespace, kubed-local-context)
(kubed-local-context-and-namespace): Use them.  Adjust
calls to 'kubed-local-namespace'.
* kubed.texi (Context and Namespace): New section.

4 months agoTeach additional commands about buffer-local contexts
Eshel Yaron [Thu, 15 Aug 2024 07:44:30 +0000 (09:44 +0200)]
Teach additional commands about buffer-local contexts

* kubed.el (kubed-set-namespace): Update docstring.
(kubed-apply, kubed-run, kubed-logs, kubed-attach)
(kubed-forward-port-to-pod, kubed-stop-port-forward): Use
buffer-local context.

4 months ago; Fix regex matching multi-hop Tramp file names
Eshel Yaron [Thu, 15 Aug 2024 07:43:03 +0000 (09:43 +0200)]
; Fix regex matching multi-hop Tramp file names

* kubed.el (kubed-local-namespace)
(kubed-local-context-and-namespace): Tweak regex.

4 months agoTeach 'kubed-exec' about buffer-local contexts
Eshel Yaron [Wed, 14 Aug 2024 19:13:36 +0000 (21:13 +0200)]
Teach 'kubed-exec' about buffer-local contexts

* kubed.el (kubed-diff): Use buffer-local context and
change handling of prefix argument.
* kubed-transient.el (kubed-transient-exec): Add
"--context=" infix argument.

4 months agoTeach 'kubed-diff' about buffer-local contexts
Eshel Yaron [Wed, 14 Aug 2024 19:13:04 +0000 (21:13 +0200)]
Teach 'kubed-diff' about buffer-local contexts

* kubed.el (kubed-diff): Use buffer-local context and
handle prefix arg.
* kubed-transient.el (kubed-transient-diff): Add
"--context=" infix argument.

4 months agoTeach 'kubed-patch' about buffer-local contexts
Eshel Yaron [Wed, 14 Aug 2024 19:10:33 +0000 (21:10 +0200)]
Teach 'kubed-patch' about buffer-local contexts

* kubed.el (kubed-patch): Use buffer-local context and
handle prefix arg.
* kubed-transient.el (kubed-transient-patch): Add
"--context=" infix argument.

4 months ago; (kubed-resource-names): Default to local context and namespace
Eshel Yaron [Wed, 14 Aug 2024 17:44:43 +0000 (19:44 +0200)]
; (kubed-resource-names): Default to local context and namespace

4 months agoTeach rollout commands about buffer-local contexts
Eshel Yaron [Wed, 14 Aug 2024 17:36:33 +0000 (19:36 +0200)]
Teach rollout commands about buffer-local contexts

* kubed-transient.el (kubed-transient-rollout): Add
"--context" infix argument.
* kubed.el (kubed-restart-deployment)
(kubed-watch-deployment-status): Use local context and
namespace.  Also add callback argument to 'watch' command.

4 months ago; Use local context as default in some prompts
Eshel Yaron [Wed, 14 Aug 2024 17:35:48 +0000 (19:35 +0200)]
; Use local context as default in some prompts

4 months ago; (kubed-current-namespace): Use buffer-local context.
Eshel Yaron [Wed, 14 Aug 2024 17:34:53 +0000 (19:34 +0200)]
; (kubed-current-namespace): Use buffer-local context.

4 months agoUse buffer-local context in 'kubed-list-*' commands
Eshel Yaron [Wed, 14 Aug 2024 17:29:11 +0000 (19:29 +0200)]
Use buffer-local context in 'kubed-list-*' commands

* kubed.el (kubed-define-resource): Use 'kubed-local-context'
instead of 'kubed-current-context' in generated 'kubed-list-*'
commands, and likewise for the namespace.

4 months ago; (kubed-list-delete-marked): Update original buffer.
Eshel Yaron [Wed, 14 Aug 2024 16:15:52 +0000 (18:15 +0200)]
; (kubed-list-delete-marked): Update original buffer.

4 months ago; Fix errors in last commit
Eshel Yaron [Wed, 14 Aug 2024 16:14:54 +0000 (18:14 +0200)]
; Fix errors in last commit

* kubed.el (kubed-create-namespace, kubed-create): Restore
'interactive'.
(kubed-create-deployment): Use 'kubed-update', not
'kubed-list-update', in case we're called from other buffer.

4 months agoTeach creation commands about buffer-local contexts
Eshel Yaron [Wed, 14 Aug 2024 15:50:35 +0000 (17:50 +0200)]
Teach creation commands about buffer-local contexts

* kubed.el (kubed-list-create): Remove obsolete comment.
(kubed-define-resource): Refine interactive spec for
generated 'kubed-create-RESOURCE' commands.
(kubed-create-namespace, kubed-create-job)
(kubed-create-job-from-cronjob, kubed-create-deployment)
(kubed-create-cronjob, kubed-create-ingress, kubed-create):
Honor buffer-local context and namespace.
* kubed-transient.el (kubed-transient-create): Bind more
commands, add "--context=" infix arg, update layout.
(kubed-transient-create-cronjob)
(kubed-transient-create-ingress)
(kubed-transient-create-deployment)
(kubed-transient-create-job): Add "--context=" infix arg.

4 months agoTeach edit commands about buffer-local contexts and namespaces
Eshel Yaron [Wed, 14 Aug 2024 14:45:41 +0000 (16:45 +0200)]
Teach edit commands about buffer-local contexts and namespaces

* kubed.el (kubed-edit-resource): Add interactive spec.
(kubed-define-resource): Refine interactive spec for
generated 'kubed-edit-RESOURCE' commands.
* kubed-transient.el (kubed-transient-edit): New transient.
(kubed-transient): Bind it.

4 months agoTeach deletion commands about buffer-local contexts and namespaces
Eshel Yaron [Wed, 14 Aug 2024 13:21:41 +0000 (15:21 +0200)]
Teach deletion commands about buffer-local contexts and namespaces

* kubed.el (kubed-delete-resources): Refine interactive spec.
(kubed-define-resource): Refine interactive spec for
generated 'kubed-delete-RESOURCES' commands.
* kubed-transient.el (kubed-transient-delete): New transient.
(kubed-transient): Bind it.

4 months ago; (kubed-display-resource): Only ask for namespace when needed.
Eshel Yaron [Wed, 14 Aug 2024 12:45:46 +0000 (14:45 +0200)]
; (kubed-display-resource): Only ask for namespace when needed.

4 months ago; Improve docstrings of resource-displaying commands
Eshel Yaron [Wed, 14 Aug 2024 12:22:36 +0000 (14:22 +0200)]
; Improve docstrings of resource-displaying commands

4 months ago; * kubed.el (kubed-define-resource): Fix typo.
Eshel Yaron [Wed, 14 Aug 2024 12:18:34 +0000 (14:18 +0200)]
; * kubed.el (kubed-define-resource): Fix typo.

4 months agoConsider buffer-local context+namespace in all display commands
Eshel Yaron [Wed, 14 Aug 2024 09:33:11 +0000 (11:33 +0200)]
Consider buffer-local context+namespace in all display commands

* kubed-transient.el (kubed-transient-infix): Remove.
(kubed-transient-read-context): New function.
(kubed-transient-read-namespace): Take into account value of
"--context=" infix argument.
(kubed-transient-display): Add "--context=" infix argument.
* kubed.el (kubed-display-resource): Update interactive spec.
(kubed--static-if): Simplify empty "else" parts.
(kubed-define-resource): Update interactive spec for
generated 'kubed-display-RESOURCE' commands.
(kubed-local-context, kubed-local-namespace)
(kubed-local-context-and-namespace): New functions.

4 months agoSupport selecting context in all 'kubed-list-*' commands
Eshel Yaron [Sat, 10 Aug 2024 15:10:08 +0000 (17:10 +0200)]
Support selecting context in all 'kubed-list-*' commands

* kubed.el (kubed-define-resource): Improve docstring and
interactive spec of generated 'kubed-list-*' commands.

4 months ago; * kubed-transient.el (kubed-list-transient): Fix typo.
Eshel Yaron [Fri, 9 Aug 2024 12:41:44 +0000 (14:41 +0200)]
; * kubed-transient.el (kubed-list-transient): Fix typo.

4 months ago; Fix typo
Eshel Yaron [Wed, 7 Aug 2024 15:59:28 +0000 (17:59 +0200)]
; Fix typo

4 months agoNew commands for editing displayed resources
Eshel Yaron [Wed, 7 Aug 2024 15:33:11 +0000 (17:33 +0200)]
New commands for editing displayed resources

* kubed.el (kubed-display-resource-diff)
(kubed-display-resource-replace): New commands.
(kubed-display-resource-mode-map): Bind them.
(kubed-display-config): Fix typo.
(kubed-diff): Learn to use a buffer as DEFINITION.
* kubed.texi (Display Resource): Document new commands.
* NEWS.org: Mention it.

4 months ago; * kubed.el (kubed-list-filter-operator-alist): Fix typo.
Eshel Yaron [Wed, 7 Aug 2024 11:52:58 +0000 (13:52 +0200)]
; * kubed.el (kubed-list-filter-operator-alist): Fix typo.

4 months agoNew list filter operators '<' and '>'
Eshel Yaron [Wed, 7 Aug 2024 09:38:36 +0000 (11:38 +0200)]
New list filter operators '<' and '>'

* kubed.el (kubed-list-filter-lt-operator)
(kubed-list-filter-gt-operator): New functions.
(kubed-list-filter-operator-alist): Add them.
* kubed.texi (List Filter): Document them.

4 months ago; * kubed.el: Update Commentary.
Eshel Yaron [Wed, 7 Aug 2024 09:38:11 +0000 (11:38 +0200)]
; * kubed.el: Update Commentary.

4 months ago; Update NEWS.org and bump version to 0.3.1 v0.3.1
Eshel Yaron [Tue, 6 Aug 2024 16:07:29 +0000 (18:07 +0200)]
; Update NEWS.org and bump version to 0.3.1

4 months agoAdd transient menu for help in resource list buffers
Eshel Yaron [Tue, 6 Aug 2024 15:47:33 +0000 (17:47 +0200)]
Add transient menu for help in resource list buffers

* kubed-transient.el (kubed-list-transient): New transient.
(kubed-list-mode-map): Bind it.
* kubed.texi (Browse Resources): Document it.

4 months ago; New command 'kubed-list-create'
Eshel Yaron [Tue, 6 Aug 2024 15:45:40 +0000 (17:45 +0200)]
; New command 'kubed-list-create'

* kubed.el (kubed-list-create): New command.
(kubed-list-mode-map): Bind it.
(kubed-define-resource): Use it to simplify generated
'kubed-create-*' commands.

4 months agoNew command 'kubed-list-fit-column-width-to-content'
Eshel Yaron [Tue, 6 Aug 2024 14:59:25 +0000 (16:59 +0200)]
New command 'kubed-list-fit-column-width-to-content'

* kubed.el (kubed-list-column-number-at-point): New function.
(kubed-list-fit-column-width-to-content): New command.
(kubed-list-mode-map): Bind it.
* kubed.texi (Browse Resources): Document it.

4 months agoUpdate installation instructions following inclusion in ELPA
Eshel Yaron [Tue, 6 Aug 2024 10:47:36 +0000 (12:47 +0200)]
Update installation instructions following inclusion in ELPA

* README.md (Getting Started)
* kubed.texi (Getting Started): Suggest installing from ELPA.

4 months ago; Exclude README.md from ELPA tarball
Eshel Yaron [Tue, 6 Aug 2024 10:16:53 +0000 (12:16 +0200)]
; Exclude README.md from ELPA tarball

4 months ago(Browse Resources): Update common commands table.
Eshel Yaron [Tue, 6 Aug 2024 06:01:22 +0000 (08:01 +0200)]
(Browse Resources): Update common commands table.

4 months ago; (kubed-display-resource-jump-to-list): Simplify.
Eshel Yaron [Tue, 6 Aug 2024 05:31:45 +0000 (07:31 +0200)]
; (kubed-display-resource-jump-to-list): Simplify.

4 months ago; Update NEWS.org and bump version to 0.3.0 v0.3.0
Eshel Yaron [Mon, 5 Aug 2024 16:40:06 +0000 (18:40 +0200)]
; Update NEWS.org and bump version to 0.3.0

4 months ago; Add .elpaignore file
Eshel Yaron [Mon, 5 Aug 2024 16:33:52 +0000 (18:33 +0200)]
; Add .elpaignore file

4 months ago; Update copyright notices for GNU ELPA
Eshel Yaron [Mon, 5 Aug 2024 16:31:56 +0000 (18:31 +0200)]
; Update copyright notices for GNU ELPA

4 months agoSupport bookmarking resource list buffers
Eshel Yaron [Mon, 5 Aug 2024 16:25:49 +0000 (18:25 +0200)]
Support bookmarking resource list buffers

* kubed.el (kubed-list-go-to-line): New function, extracted
from...
(kubed-display-resource-jump-to-list): ...here.
(kubed-list-handle-bookmark, kubed-list-make-bookmark): New
functions.
(kubed-list-mode): Set 'bookmark-make-record-function'.

4 months ago; Fix population of 'kubed--columns'
Eshel Yaron [Mon, 5 Aug 2024 14:23:04 +0000 (16:23 +0200)]
; Fix population of 'kubed--columns'

4 months agoMajor cleanup: simplify and extend resource lists
Eshel Yaron [Mon, 5 Aug 2024 10:27:27 +0000 (12:27 +0200)]
Major cleanup: simplify and extend resource lists

This is a big refactor that does the following:

- Significantly simplify 'kubed-define-resource', use common
  type-generic code in runtime instead of generating duplicate code
  for each type.

- Support multiple list buffers with per-buffer namespace
  and context.

- Drop 'kubed-all-namespaces-mode', at least for now.

4 months ago; Tweak autoloading for transients
Eshel Yaron [Sun, 4 Aug 2024 10:54:22 +0000 (12:54 +0200)]
; Tweak autoloading for transients

* kubed-transient.el (kubed-transient): Tweak autoloading
(https://github.com/eshelyaron/kubed/issues/1).

4 months agoNew manual section about displaying resources
Eshel Yaron [Sat, 3 Aug 2024 15:16:37 +0000 (17:16 +0200)]
New manual section about displaying resources

* kubed.texi (Display Resource): New section.

4 months agoNew transient menu for displaying resources
Eshel Yaron [Sat, 3 Aug 2024 15:05:27 +0000 (17:05 +0200)]
New transient menu for displaying resources

* kubed-transient.el (kubed-transient-display): New command.
(kubed-transient): Bind it.
* kubed.el (kubed-display-resource-short-description)
(kubed-namespaced-p): New functions.
(kubed-display-resource): New command, use them.
(kubed-display-resource-handle-bookmark)
(kubed-display-resource-make-bookmark): Simplify.
(kubed-define-resource): Adjust generated
'kubed-display-RESOURCE' commands to honor namespace set in
'kubed-transient-display'.  Change binding of these commands
from suffix "g" to suffix "RET".
(kubed-api-resources): Add optional arg ONLY-NAMESPACED.
(kubed-prefix-map, kubed-menu-map): Bind 'kubed-define-resource'.

4 months agoNew command 'kubed-display-resource-jump-to-list'
Eshel Yaron [Fri, 2 Aug 2024 20:55:27 +0000 (22:55 +0200)]
New command 'kubed-display-resource-jump-to-list'

* kubed.el (kubed-display-resource-jump-to-list): New command.
(kubed-display-resource-p): New function, use it as
'completion-predicate' property of new command.
(kubed-display-resource-mode-map): Bind new command.

4 months ago; Move some user option definitions together
Eshel Yaron [Fri, 2 Aug 2024 20:55:02 +0000 (22:55 +0200)]
; Move some user option definitions together

4 months agoAlways display message when done updating resources
Eshel Yaron [Fri, 2 Aug 2024 20:52:40 +0000 (22:52 +0200)]
Always display message when done updating resources

* kubed.el (kubed-define-resource): In generated
'kubed-update-RESOURCEs', emit message in process sentinel regardless
of optional argument.

4 months agoSupport bookmarking Kubernetes resource buffers
Eshel Yaron [Fri, 2 Aug 2024 20:00:28 +0000 (22:00 +0200)]
Support bookmarking Kubernetes resource buffers

* kubed.el (kubed-display-resource-info): New variable.
(kubed-display-resource-revert)
(kubed-display-resource-in-buffer)
(kubed-display-resource-handle-bookmark)
(kubed-display-resource-make-bookmark): New functions.
(kubed-display-resource-mode): New minor mode, enabled in
buffers that display resources in YAML format.
(kubed-define-resource): Use 'kubed-display-resource-in-buffer'
in definition of generated 'kubed-RESOURCE-description-buffer'.

4 months ago; Add 'kubed-list-copy-as-kill' to context menus
Eshel Yaron [Fri, 2 Aug 2024 17:35:55 +0000 (19:35 +0200)]
; Add 'kubed-list-copy-as-kill' to context menus

* kubed.el (kubed-list-copy-as-kill): Fix typo.
(kubed-list-context-menu): New function.
(kubed-list-mode): Add it to 'context-menu-functions'.
* kubed.texi (Browsing Resources): Mention
'kubed-list-copy-as-kill'.

4 months agoNew commands that run kubectl with resource at point as arg
Eshel Yaron [Fri, 2 Aug 2024 17:21:56 +0000 (19:21 +0200)]
New commands that run kubectl with resource at point as arg

* kubed.el (kubed-define-resource): Also generate
'kubed-RESOURCEs-kubectl-command' command and bind it to "!"
in resource list buffers.
(kubed-read-kubectl-command): New function, extracted from..
(kubed-kubectl-command): ...here.

4 months agoNew command 'kubed-list-copy-as-kill'
Eshel Yaron [Fri, 2 Aug 2024 17:20:45 +0000 (19:20 +0200)]
New command 'kubed-list-copy-as-kill'

* kubed.el (kubed-list-copy-as-kill): New command.
(kubed-list-mode-map): Bind it to "w".

4 months ago(cobra-read-command-line): Fix handling of cons INITIAL arg
Eshel Yaron [Fri, 2 Aug 2024 17:15:49 +0000 (19:15 +0200)]
(cobra-read-command-line): Fix handling of cons INITIAL arg

4 months agoUpdate NEWS.org and bump version to 0.2.0 v0.2.0
Eshel Yaron [Fri, 2 Aug 2024 15:12:05 +0000 (17:12 +0200)]
Update NEWS.org and bump version to 0.2.0

4 months ago(List Filter): Document 'kubed-list-filter-operator-alist'
Eshel Yaron [Fri, 2 Aug 2024 14:42:18 +0000 (16:42 +0200)]
(List Filter): Document 'kubed-list-filter-operator-alist'

4 months agoNew user option 'kubed-list-filter-operator-alist'
Eshel Yaron [Fri, 2 Aug 2024 14:33:45 +0000 (16:33 +0200)]
New user option 'kubed-list-filter-operator-alist'

* kubed.el (kubed-list-filter-operator-alist): New option.
(kubed-list-interpret-atomic-filter)
(kubed-list-validate-atomic-filter): Use it instead of hardcoding
operators "=" and "~".
(kubed-list-set-filter): Adjust docstring.

4 months ago; * kubed.texi (Browsing Resources): Tweak wording.
Eshel Yaron [Fri, 2 Aug 2024 14:33:03 +0000 (16:33 +0200)]
; * kubed.texi (Browsing Resources): Tweak wording.

4 months ago; * kubed.texi (Browsing Resources): Fix markup.
Eshel Yaron [Fri, 2 Aug 2024 08:49:52 +0000 (10:49 +0200)]
; * kubed.texi (Browsing Resources): Fix markup.

4 months agoDocument a couple more 'tabulated-list-mode' commands
Eshel Yaron [Fri, 2 Aug 2024 08:43:41 +0000 (10:43 +0200)]
Document a couple more 'tabulated-list-mode' commands

* kubed.texi (Browsing Resources): Extend.

4 months agoDocument resource lists and their filters
Eshel Yaron [Fri, 2 Aug 2024 08:34:17 +0000 (10:34 +0200)]
Document resource lists and their filters

* kubed.texi (Usage): Add anchor for 'kubed-prefix-map'.
(Browsing Resources): Populate.
(List Filter): New node.

4 months agoNew commands for table navigation
Eshel Yaron [Fri, 2 Aug 2024 07:43:08 +0000 (09:43 +0200)]
New commands for table navigation

* kubed.el (kubed-list-previous-column)
(kubed-list-next-column): New commands.
(kubed-list-mode-map): Bind them.

4 months ago(kubed-list-read-filter-map): Bind 'completion-help-at-point'.
Eshel Yaron [Fri, 2 Aug 2024 07:42:38 +0000 (09:42 +0200)]
(kubed-list-read-filter-map): Bind 'completion-help-at-point'.

4 months ago; * kubed.el (kubed-list-read-filter): Also complete operators.
Eshel Yaron [Thu, 1 Aug 2024 20:13:16 +0000 (22:13 +0200)]
; * kubed.el (kubed-list-read-filter): Also complete operators.

4 months ago; * kubed.el (kubed-list-read-filter): Fix typo.
Eshel Yaron [Thu, 1 Aug 2024 20:09:20 +0000 (22:09 +0200)]
; * kubed.el (kubed-list-read-filter): Fix typo.

4 months agoEnhance 'kubed-list-read-filter'
Eshel Yaron [Thu, 1 Aug 2024 19:03:07 +0000 (21:03 +0200)]
Enhance 'kubed-list-read-filter'

Add in-minibuffer feedback for invalid filters and completion for
column names and column values.

* kubed.el (kubed-list-validate-atomic-filter)
(kubed-list-validate-filter): Refine validation.
(kubed--list-read-filter-target-buffer): New local var.
(kubed-list-try-read-filter): New command.
(kubed-list-read-filter-map): New keymap.
(kubed-list-read-filter): Use it, add completion support.

4 months agoNew command 'kubed-list-set-filter' in list buffers
Eshel Yaron [Thu, 1 Aug 2024 15:45:06 +0000 (17:45 +0200)]
New command 'kubed-list-set-filter' in list buffers

* kubed.el: (kubed-list-filter-history-variable)
(kubed-list-filter): New buffer-local variables.
(kubed-list-interpret-atomic-filter)
(kubed-list-interpret-filter)
(kubed-list-validate-atomic-filter)
(kubed-list-validate-filter)
(kubed-list-read-filter): New functions.
(kubed-list-set-filter): New command.
(kubed-list-mode-map): Bind it.
(kubed-define-resource): Use it.

4 months agoAdd common parent mode for resource lists mode
Eshel Yaron [Thu, 1 Aug 2024 14:53:12 +0000 (16:53 +0200)]
Add common parent mode for resource lists mode

4 months agoUse multi-column layout for transient menus
Eshel Yaron [Thu, 1 Aug 2024 07:40:19 +0000 (09:40 +0200)]
Use multi-column layout for transient menus

* kubed-transient.el (kubed-transient)
(kubed-transient-attach, kubed-transient-diff)
(kubed-transient-exec, kubed-transient-run)
(kubed-transient-apply, kubed-transient-patch)
(kubed-transient-create, kubed-transient-create-cronjob)
(kubed-transient-create-ingress, kubed-transient-create-job)
(kubed-transient-create-deployment): Use multiple columns.

4 months agoEnsure SPC is self-inserting when reading kubectl command line
Eshel Yaron [Wed, 31 Jul 2024 10:21:39 +0000 (12:21 +0200)]
Ensure SPC is self-inserting when reading kubectl command line

* cobra.el (cobra-read-command-line): Ensure SPC key is
self-inserting in the minibuffer.

4 months agoNew command 'kubed-transient-rollout'
Eshel Yaron [Wed, 31 Jul 2024 06:54:52 +0000 (08:54 +0200)]
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.

4 months agoNew command 'kubed-watch-deployment-status'
Eshel Yaron [Wed, 31 Jul 2024 05:57:27 +0000 (07:57 +0200)]
New command 'kubed-watch-deployment-status'

* kubed.el (kubed-watch-deployment-status): New command.
(kubed-restart-deployment-watch-status): New use option.
(kubed-restart-deployment): Use them.
(deployment): Bind it in prefix map and in list buffer.

4 months ago; Fix 'restart' command name in deployments list buffer
Eshel Yaron [Wed, 31 Jul 2024 05:55:34 +0000 (07:55 +0200)]
; Fix 'restart' command name in deployments list buffer