Skip to content

Commit 114fc1c

Browse files
committed
docs: update Kubed comparison
Incorporating @eshelyaron's feedback on earlier version of the comparison [here](eshelyaron/kubed#3 (reply in thread)).
1 parent a147907 commit 114fc1c

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

docs/explanations/comparisons.md

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -64,20 +64,29 @@ than [kubel].
6464

6565
## [kubed]
6666

67-
There is considerable overlap in functionality between Kele and Kubed. I highly encourage you to try
68-
both out and see which fits your workflow best!
69-
70-
[Kubed] is a Kubernetes management package that wraps `kubectl` commands and emphasizes
71-
comprehensive cluster exploration through a centralized Transient-based interface.
72-
73-
Kele differs fundamentally in its architecture and design philosophy. Rather than wrapping `kubectl`
74-
commands, Kele communicates directly with the Kubernetes API via HTTP using ephemeral proxy
75-
processes, implementing its own API client layer with baseline caching of fetched resources and
76-
metadata. This proxy-based architecture enables its universal support for custom resources from day
77-
one, treating them identically to core resources through generic implementation
78-
patterns.
79-
80-
Kele's dynamic permissions detection allows it to gracefully adapt functionality based on
67+
Like Kele, [Kubed] is a Kubernetes management package for Emacs.
68+
69+
Functionally, there is considerable overlap in functionality between Kele and [Kubed]. I highly
70+
encourage you to try both out and see which fits your workflow best! The differences between the two
71+
packages lie primarily in architecture and design.
72+
73+
One of the biggest differences between Kele and Kubed is that the latter **avoids 3rd-party
74+
dependencies**. This makes it that much more feasible to add Kubed to core Emacs in the future, if
75+
desired. In general, Kubed aims to "make the most" out of core Emacs integrations. For users that
76+
would like to minimize the number of transitive package dependencies they introduce to their
77+
workflow, this aspect of Kubed can be appealing.
78+
79+
Conversely, Kele takes considerable liberty with its use of 3rd-party packages in the name of
80+
providing extended functionality. For example, Kele leveragess
81+
[`plz.el`](https://github.com/alphapapa/plz.el/) heavily in its direct communication with the
82+
Kubernetes API via HTTP using ephemeral proxy processes. This approach differs considerably from the
83+
other packages in this list, which by and large tend to rely on invoking the `kubectl` CLI in
84+
sub-processes and parsing the resulting shell output. We believe that the HTTP-API-based approach is
85+
not only more robust, but also allows for greater flexibility in the Emacs layer as a result. For
86+
example, this proxy-based architecture enables its universal support for custom resources from day
87+
one, treating them identically to core resources through generic implementation patterns.
88+
89+
Similarly, Kele's dynamic permissions detection allows it to gracefully adapt functionality based on
8190
cluster-reported permissions, making it suitable for users with restricted cluster access while
8291
maintaining its "piecemeal" philosophy of quickly retrieving targeted information with minimal
8392
context-switching. Conversely, Kubed is based around "binding" package functionality to resources

0 commit comments

Comments
 (0)