Fancy working with your shell in a browser? Read on!

Setting up a Go backend for Xterm.js to get a shell over the browser

I swear it’s preTTY cool

8 min readMay 14, 2021


Ever wished you could access some CLI tools over a browser instead of over the terminal? Well I did, and here’s how that wish went.

I use a tool called k9s (shoutout to Fernand Galiana for the awesome tool) to communicate with/debug a Kubernetes (k8s from here on) cluster. It’s a great dashboard for k8s clusters navigable using a curses-based interface (read: entirely with keyboard), and more importantly I could view collated logs from multiple pods from the same workload.

k9s also has a read-only mode and I wondered if I could expose this (imo) better k8s dashboard to other team members without needing to setup access rights for everyone manually.

So Cloudshell was born. The following is kind of a documentation for myself of what went down and also for anyone who wants to try out making one for themselves.

TL;DR/Shameless Plug

Here’s a short clip of what Cloudshell can do

If you think this tool could be useful for you, the code can be found in the link below. Contributions/ideas/feedback are welcome(:



Joseph Matthias Goh

I write about my learnings in technology, software engineering, DevOoops [sic], growing people, and more recently Web3/DeFi