Skip to content

kui-shell/kask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kask: a manager for UI-based kubectl plugins

Build Status

The goal of kask is to enrich the world of krew with graphics. Whereas krew allows users to install terminal-based extensions to kubectl, kask aims to allow users to install graphical plugins. We consider a graphical plugin to kubectl one that starts from a terminal, but, rather than responding to commands with ASCII art, responds instead with a graphical popup window.

Using kask

Coming soon

Architecture of kask

kask acts as a front-end to Kui. Kui is a project that leverages electron and webpack to deliver a graphically enhanced terminal experience. kask thusly has the following responsibilities:

  • Fetch a base Kui electron build.
  • Invoke Kui's plugin manager to provision a plugin (say "xxx") that the user has selected
  • Generate and place the kubectl-xxx stubs such that kubectl xxx works to transparently pop up an electron window that provides the graphical response to the user's command line.

Developing kask

kask is written as a Go project. As such, it has the normal development environment. TO start, you will need to have Go development environment installed on your machine; this includes setting up a GOPATH.

Clone and Contribute

cd $GOPATH && git clone git@github.com:kui-shell/kask.git kui-shell/kask
$ go get
$ go test ./...

Build and Run

$ go build
./kask version