kui-shell / kask

A manager for UI plugins to kubectl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

A manager for UI plugins to kubectl


Languages

Language:Go 100.0%