Releases: mhausenblas/kubed-sh
0.6
Changelog
18799ae removes obsolete planning doc
0bc28b7 moves to GoReleaser
0ea3313 inits GH Action based release
d51922e cleans up old docs
7d4486d fixes docs again
b60f95a fixes docs
8ce9098 moves custom domain into place for MkDocs
9eddb46 inits MkDocs
7a3c5a5 fixes prompt, namespace display bug
361e4cc moves to Go mod
5cfb707 Merge pull request #26 from jjangga0214/node/version/12-alpine/0
4d5270b image(node): upgrade node:9.4-alpine to node:12-alpine
131fd69 docs(readme): fix broken link (#25)
1d04198 docs(readme): fix broken link
0605862 removes unecessary flag in launcher script
b7d55e0 adds a dummy default context to online
b759b36 fixes perms for online and updates docs
e3c9067 fixes online docs
50a53a4 adds launch script for containerized version
a27c557 inits containerized version docs
df08eb5 fixes kubectl env passing in container image
fe741fd updates ignore file
Container release
This is really the same as release 0.5.1
, just adding a container image definition in online/
. Run like so:
$ kubectl create ns kd
$ kubectl -n kd run kubedsh --image=quay.io/mhausenblas/kubed-sh:0.5.2
Bug fixes release for 0.5
This release is essentially the same as the 0.5 release (that is, no new features) just with many things fixed:
43a841d fixes launch Step 3 (copying)
569576a fixes launch re output of single-shot
7d0e9a6 fixes nasty pod shadowing issue
6fc67a2 simplifies and uniforms launch of dprocs
fb919a0 improves UX for long-running foreground dprocs
6f965a3 fixes #22
a1f4bfe improves interactive mode
2b350d1 improves GC, #22
004b9d8 adds GC for orphaned terminating dprocs, #22
79c1a50 adds dproc type labels on launch, towards #22
4578469 inits work on #22
cb4415a fixes hot-reload bug
a225192 completes first e2e test case (long-running dproc)
65b31e8 inits e2e test suite #21
c48e29e adds binary TC to ignore
96566ca re-orgs test cases
041ea90 undoes the interactivity hack
2b0e318 fixes interactivity
02804ec updates link to Katacoda scenario
14745a3 Merge pull request #20 from marekjelen/master
3fce77d Ruby example
dd33eba fixes #19 for real
f218c1a fixes #19
1c38af7 updates to dos
ccb043d updates usage docs
30028f8 updates docs on built-in commands
b38dd48 updates docs to 0.5
Environments & scripting
Besides fixing bugs, the major changes in this release are: environments and scripting. In addition, the overview docs have been improved. Thanks for all your feedback!
Environments
See the design as well as #6 for what environments are and how to work with them. In a nutshell, there are now four new sub-commands (env list
, env create ENVNAME
, env select ENVNAME
, and env delete ENVNAME
) that allow you to manage environments. Those envs are represented by labels on the resources and when deleted, they are reaped and go back into the global scope.
Scripting
It is now possible to not only interactively use kubed-sh
but also via a script, see also #9 for details. Example:
$ cat test.kbdsh
#!/usr/bin/env kubed-sh
use minikube
# This line is a comment that will be ignored
node ../thescript.js &
ps
$ chmod 755 test.kbdsh
$ ./test.kbdsh
Change log summary:
a68817c closes #10 re pre-pull
4eed68f adds the (local) sleep command
5d0b8ed implements the delete env command properly
945dcfa improves autocomplete around env and ps
6f65c4f completes work on envs, closes #6
2f1826b adds cluster object env labelling
b22eb31 adds env list command
dd0d022 inits work on #6 (env management)
e44711c fixes remove svc in kill command
bc342b8 adds help suggestion on start-up
1a323ef fixes #17
1b28706 fixes prompt set at context switch
08767d4 improves scripting testing
922cb59 completes #9 that is adds scripting support
2fa5e90 improves readability of user docs
58785e7 improves intro and UC docs
d89e46f adds debug info to use built-in cmd
eba2bc2 adds debug indicator
Improved hot-reload
This is the current 0.4 release with a couple of fixes and improvements over the original one. It supports an experimental hot-reload feature (for scripts) using the HOTRELOAD=true
env variable. See also this demo for details. In a nutshell the hot-reload feature works as follows:
-
In
kubed-sh
enable the feature:[minikube::default]$ HOTRELOAD=true
-
Once enabled, a watch in the current directory (where you launched
kubed-sh
) is actively monitoring changes to script files. When you modify a script file—for example by changing the content in your editor—kubed-sh
will detect the change and update the process in the cluster.
Change log summary:
0e00a0a improves ps
0556aa6 adds support for user-defined service name
34ee017 refactors cmds and improves help
ec19f3f adds support for comments
a6ae611 completes experimental support for #12
8406b99 changes debug env var
47875f9 adds cd command
6a7d41a fixes startup and updates planning
12dfee2 fixes missing service port env set
Custom kubectl binary and improved prompt
With this release you can now specify a custom kubectl binary rather than letting kubed-sh
auto-detect it. Use the $KUBECTL_BINARY
env variable for this, for example:
$ KUBECTL_BINARY=$(which oc) kubed-sh
Further, the prompt has been improved, it now includes the active namespace, for example:
[minikube::default]$
Change log summary:
c9ab90a completes prompt improvements
c66158e adds support for custom kubectl, fixes #2
27860b8 adds long-running Python test case
f523c4d adds interactive script test case
ca55444 fixes error handling of raw mode
75747aa adds curl as built-in command
Pre-pull images release
This is a minor improvement over the 0.1 release but since it fixes #3 it is recommended that you use this one over the 0.1 release.
By default, the supported images are pre-pulled via DaemonSets
. This is a one-time operation, only necessary the first time when kubed-sh
starts up. If you are in an environment that doesn't allow you to create DaemonSets
(you will notice at start-up time) then set the environment variable KUBEDSH_NOPREPULL=true
at or before launching kubed-sh
.
Initial release
This is the first release. Currently only macOS and Linux binaries are available with Windows planned (see also #1 for details). The following features are currently available in kubed-sh
:
- You can launch any (Linux ELF) binary or (Node.js/Python/Ruby) script either in a one-shot manner or in the background, as a long-running process, appending a
&
as you would in a local shell. - You can get a list of the long-running processes with
ps
. - You can stop and remove a long-running process using
kill
. - You can list and switch between available Kubernetes contexts using
contexts
anduse
, respectively. - To execute
kubectl
commands directly, prepend them with a`
, so for example if you enter`
get pods thenkubed-sh
executes akubectl get pods
command and prints the result. - To list defined environment variables, use
env
, to print their value useecho
. For example, to show the value of the default container image used for Python scripts, enterecho $PYTHON_IMAGE
.