kubernetes CRD controller to manage theia (vscode alternative) - imagine jupyterhub.
Referenced mostly from
- Add a react UI to list, stop, and start
theia
instances - (stretch-goal) Add authentications, etc, and integrate with Kubeflow
See https://hub.docker.com/r/e2fyi/theia-controller
make generate
make manifest
kubebuilder
requires kustomize
v3.1.0+
. kubectl
is currently still on v2
, so you will need to download kustomize
binary from their site.
Deploying theia-controller
# create and deploy the basic controller
kustomize build manifest/kustomize/base > manifest/generated/theia-controller.yaml
kubectl apply -f manifest/generated/theia-controller.yaml
# create and deploy the controller with istio integration
kustomize build manifest/kustomize/istio > manifest/generated/theia-controller-istio.yaml
kubectl apply -f manifest/generated/theia-controller-istio.yaml
Creating a theia
statefulset
# deploys a theia CR
kubectl apply -f manifest/examples
If istio
is deployed in the cluster, you can access the theia
webapp via the route http://<istio-gateway-hostname>/theia/<namespace>/<cr-name>
(e.g. http://x.x.x.x/theia/default/my-theia
).