A Kubernates Cloud-Shell (Web Terminal) Operator.

English | Simplified_Chinese

Why cloudtty ?

Existing project ttyd already provides great feature to share terminal over the web. But Kubernetes cloud native enviroment requires a way to run web-tty via kubernetes way ( running as pod, and generated by CRD). So you can try cloudtty.

SPECIAL THANKS

This project is based on https://github.com/tsl0922/ttyd. Many thanks to tsl0922 yudai and the community. The frontend UI code was originated from ttyd project, and the ttyd binary inside the container also comes from ttyd project.

screenshot_png

screenshot_gif

Usage Guide

Step 1: Install Operator and CRD

helm repo add daocloud  https://release.daocloud.io/chartrepo/cloudshell
helm install --version 0.0.2 daocloud/cloudshell --generate-name

Step 2: Create kube.conf configmap for target cluster (This step will be refined, when the target cluster is the same one this operators runs on)

kubectl create configmap my-kubeconfig --from-file=/root/.kube/config

# Be careful to ensure the /root/.kube/config:
#  1. contains the base64 encoded certs/secrets instead of local files.
#  2. the k8s api-server endpoint is reachable(host IP or cluster IP) instead of localhost

Step 3: Create a cloud-tty instance by applying CR, then monitor its status

kubectl apply -f ./config/samples/webtty_v1alpha1_cloudshell.yaml  && kubectl get cloudshell -w

More will be coming Soon.

Developer Guide

GitHub

View Github