This page documents the design and requirements for providing console access to running stack services.

"Exec" and terminal emulators

Docker and Kubernetes both support the "exec" command, which supports running arbitrary commands in a running container. The "exec" command includes options for creating an interactive session and allocating a pseudo-terminal (pty) to enable interactive access with system commands, such as shells.

In most cases, users are running the "exec" command from the command line and therefore from a terminal emulator (i.e., xterm, terminal, iTerm, etc). The terminal emulators support specific features of older hardware-based terminals.  A variety of terminal emulators are available, including Javascript.

Requirements:

Epic: User can access console of running service via GUI and CLI

Story: User can access console of running service via GUI

 

Story: User can access console of running service via CLI

Prototype:

A prototype has been provided using term.js with a simple go server:

cd $GOPATH/src/github.com

git clone https://github.com/craig-willis/terminal-test

cd terminal-test/server

go build

./server

Open index.html in browser:

References