unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* New library kubed.el for interacting with Kubernetes
@ 2024-07-23 12:18 Eshel Yaron
  2024-07-28 16:34 ` Eshel Yaron
  0 siblings, 1 reply; 2+ messages in thread
From: Eshel Yaron @ 2024-07-23 12:18 UTC (permalink / raw)
  To: emacs-devel

Hi all,

I'd like to propose my library kubed.el for inclusion in Emacs core or
GNU ELPA.  Emacs already has support for Kubernetes in Tramp, which lets
you work "in" containers in Kubernetes pods.  kubed.el adds the ability
to work "on" Kubernetes resources.  Namely, it lets you list, edit,
create, display, and delete various Kubernetes resources.

kubed.el uses an elaborate macro kubed-define-resource to define common
commands for supported Kubernetes resources types.  This allows kubed.el
to remain concise while providing support for many kinds of resources.
Like Tramp's Kubernetes integration, kubed.el uses the kubectl command
to communicate with Kubernetes.  No external Lisp packages are required.

You can find the library here:

https://git.sr.ht/~eshel/emacs/tree/main/item/lisp/net/kubed.el

Here's an excerpt from the Commentary section:

;; This library defines commands for interacting with Kubernetes
;; resources, such as Kuberenetes pods, services, deployments, and more.
;;
;; Use `kubed-display-pod' to display a Kuberenetes pod,
;; `kubed-edit-pod' to edit it, `kubed-delete-pods' to delete it, and
;; `kubed-list-pods' to see a menu of all pods.  You can create new pods
;; from YAML or JSON files with `kubed-create-pod'.  To update the list
;; of current pods, use `kubed-update-pods' or `kubed-update-all'.
;;
;; Similar commands are defined for other types of resources as well.
;;
;; This library interacts with Kuberenetes via `kubectl', and uses the
;; current `kubectl' context and namespace.  To change your current
;; Kuberenetes context or namespace, use `kubed-use-context' and
;; `kubed-set-namespace'; all resource lists are updated automatically
;; after you do so.  In addition, you can use the minor mode
;; `kubed-all-namespaces-mode' to see resources from all namespaces.
;;
;; If you want to work with more or different types of Kubernetes
;; resources, use the macro `kubed-define-resource'.  This macro defines
;; some common functions and commands that'll get you started with ease.


Comments, thoughts and suggestions would be most welcome, thanks,

Eshel



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: New library kubed.el for interacting with Kubernetes
  2024-07-23 12:18 New library kubed.el for interacting with Kubernetes Eshel Yaron
@ 2024-07-28 16:34 ` Eshel Yaron
  0 siblings, 0 replies; 2+ messages in thread
From: Eshel Yaron @ 2024-07-28 16:34 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1434 bytes --]

Eshel Yaron <me@eshelyaron.com> writes:

> I'd like to propose my library kubed.el for inclusion in Emacs core or
> GNU ELPA.  Emacs already has support for Kubernetes in Tramp, which lets
> you work "in" containers in Kubernetes pods.  kubed.el adds the ability
> to work "on" Kubernetes resources.  Namely, it lets you list, edit,
> create, display, and delete various Kubernetes resources.
>
> kubed.el uses an elaborate macro kubed-define-resource to define common
> commands for supported Kubernetes resources types.  This allows kubed.el
> to remain concise while providing support for many kinds of resources.
> Like Tramp's Kubernetes integration, kubed.el uses the kubectl command
> to communicate with Kubernetes.  No external Lisp packages are required.
>
> You can find the library here:

FYI I've moved Kubed to a dedicated Git repository:

https://git.sr.ht/~eshel/kubed

[ Also mirrored to https://github.com/eshelyaron/kubed.git and
  git://git.eshelyaron.com/kubed.git ]

I plan to develop this package out of core for the time being, and
publish it on GNU ELPA (see elpa.git patch below).

Besides various docstrings and the Commentary section, I've added a
texinfo document with some information for people that want to give
this package a try.  It's still a bit sparse for a manual, but it
points to the main entry points to get you started.  If you give it a
try I'd love to hear your thoughts!


Cheers,

Eshel


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-elpa-packages-kubed-New-package.patch --]
[-- Type: text/x-patch, Size: 699 bytes --]

From 7f515b7431f8cae2fb2db2a0c6928ffc6a0c434b Mon Sep 17 00:00:00 2001
From: Eshel Yaron <me@eshelyaron.com>
Date: Sun, 28 Jul 2024 18:00:37 +0200
Subject: [PATCH] * elpa-packages (kubed): New package

---
 elpa-packages | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/elpa-packages b/elpa-packages
index 509c2eba4f..08cc2073d0 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -434,6 +434,8 @@
  ;;  :ignored-files ("LICENSE")
  ;;  :readme "README")
  (kmb			:url nil)
+ (kubed			:url "https://git.sr.ht/~eshel/kubed"
+  :doc "kubed.texi")
  (landmark		:url nil)
  (latex-table-wizard    :url "https://github.com/enricoflor/latex-table-wizard"
   :doc "latex-table-wizard.texi")
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-07-28 16:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-23 12:18 New library kubed.el for interacting with Kubernetes Eshel Yaron
2024-07-28 16:34 ` Eshel Yaron

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).