New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

kubebox

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kubebox

Terminal console for Kubernetes clusters

  • 0.2.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
70K
decreased by-3.27%
Maintainers
1
Weekly downloads
 
Created
Source

= Kubebox [small]#^⎈❏^# Antonin Stefanutti https://github.com/astefanutti[@astefanutti] // Meta :description: Terminal console for Kubernetes clusters // Settings :idprefix: :idseparator: - :experimental: // Aliases ifdef::env-github[] :note-caption: :information_source: :icon-edit: :pencil2: endif::[] ifndef::env-github[] :icons: font :icon-edit: icon:pencil[fw] endif::[] // URIs :uri-kubebox-download: https://github.com/astefanutti/kubebox/releases/download/v0.2.0 :uri-kube-apiserver: https://kubernetes.io/docs/admin/kube-apiserver/ :uri-ingress-controllers: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-controllers :uri-minikube: https://github.com/kubernetes/minikube :uri-minikube-kubernetes: https://github.com/kubernetes/minikube/blob/master/docs/configuring_kubernetes.md :uri-minishift: https://github.com/minishift/minishift :uri-terminal-forever: http://www.commitstrip.com/en/2016/12/22/terminal-forever/ :uri-xterm-js: https://github.com/xtermjs/xterm.js

{description}

//image::https://astefanutti.github.io/kubebox/kubebox.png[align="center"] ++++

++++

=== Try

++++

Standalone Client Executable

In-cluster Client
$ kubectl run kubebox -it --rm --image=astefanutti/kubebox --restart=Never

Docker Client
$ docker run -it --rm -v ~/.kube/:/home/node/.kube/:ro astefanutti/kubebox

Web Server
$ kubectl create -f https://raw.github.com/astefanutti/kubebox/master/kubernetes.yaml

Web Client
https://astefanutti.github.com/kubebox

++++

=== Features

[cols="2*.<a"] |=== |Done |Plan

|

  • Configuration sourcing from kubeconfig files (KUBECONFIG environment variable or $HOME/.kube)
  • Login and OAuth authentication support
  • Namespace selection
  • Pods list watching
  • Pod / container log watching
  • Container resources usage (memory, CPU, network charts) footnote:[Currently requires priviledged access / role.]
  • Container remote exec terminal |
  • CRUD configuration operations
  • Cluster and node views
  • Cluster monitoring

|===

== Run

The following alternatives are available for you to use Kubebox, depending on your preferences and constraints.

=== Executable

Download the Kubebox standalone executable for your OS:

-- [source,shell,subs=attributes+]

OSX

$ curl -Lo kubebox {uri-kubebox-download}/kubebox-macos && chmod +x kubebox

Linux

$ curl -Lo kubebox {uri-kubebox-download}/kubebox-linux && chmod +x kubebox

Windows

$ curl -Lo kubebox.exe {uri-kubebox-download}/kubebox-windows

=== Server

Kubebox can be served from a service deployed in the target Kubernetes cluster. Terminal emulation is provided by {uri-xterm-js}[Xterm.js] and the communication with the Kubernetes master API is proxied by the server.

==== Kubernetes

# Replace the ROUTE_HOSTNAME variable
$ kubectl create -f https://raw.github.com/astefanutti/kubebox/master/kubernetes.yaml

In order for the Ingress resource to work, the cluster must have an Ingress controller running. See {uri-ingress-controllers}[Ingress controllers] for more information. In case you use Minikube, this can be achieved with:

$ minikube addons enable ingress

==== OpenShift

$ oc new-app -f https://raw.github.com/astefanutti/kubebox/master/openshift.yaml

=== Docker

You can run Kubebox using Docker, e.g.:

$ docker run -it --rm astefanutti/kubebox

You may want to mount your home directory so that Kubebox can rely on the ~/.kube/config file, e.g.:

$ docker run -it --rm -v ~/.kube/:/home/node/.kube/:ro astefanutti/kubebox

=== Online

Kubebox is available online at https://astefanutti.github.com/kubebox. Note that this requires this address to match the allowed origins for CORS by the API server. This can be achived with the {uri-kube-apiserver}[Kubernetes API server CLI], e.g.:

$ kube-apiserver --cors-allowed-origins .*

In case you use {uri-minikube}[Minikube], this can be achieved with:

$ minikube start --extra-config=apiserver.GenericServerRunOptions.CorsAllowedOriginList=.*

See {uri-minikube-kubernetes}[Configuring Kubernetes] for more information.

Or if you use {uri-minishift}[Minishift]:

$ minishift openshift config set --patch '{"corsAllowedOrigins": [".*"]}'

=== NPM

Install Kubebox globally and run it:

$ npm install -g kubebox
$ kubebox

Or locally:

$ npm install kubebox
$ `npm bin`/kubebox

== Commands

[cols="1v,2v"] |=== |Keybinding |Description

2+^.e|General

|kbd:[l], kbd:[CTRL+l] |Login

|kbd:[←], kbd:[→] |Navigate screens

|kbd:[↑], kbd:[↓] |Navigate list / form / log

|kbd:[Enter] |Select item / submit form

|kbd:[ESC] |Close modal window / cancel form / rewind focus

|kbd:[q], kbd:[CTRL+c] |Exit footnoteref:[online keys, Not available in Web versions.]

2+^.e|Login

|kbd:[←], kbd:[→] |Navigate Kube configurations

2+^.e|Namespace

|kbd:[n] |Change current namespace

|kbd:[r] |Remote shell into container

|kbd:[m] |Memory usage

|kbd:[c] |CPU usage

|kbd:[t] |Network usage

2+^.e|Log

|kbd:[g], kbd:[SHIFT+g] |Move to top / bottom

|kbd:[CTRL+u], kbd:[CTRL+d] |Move one page up / down

|===

== Usage

{icon-edit}

== Development

$ git clone https://github.com/astefanutti/kubebox.git
$ cd kubebox
$ npm install
$ node index.js

== Terminal forever

//image::https://astefanutti.github.io/kubebox/terminal-forever.jpg[align="center", link={uri-terminal-forever}] ++++

++++

FAQs

Package last updated on 04 Apr 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc