kubernetes CRD controller to manage theia (vscode alternative) - imagine jupyterhub.
Referenced mostly from
- Add a react UI to list, stop, and start
theiainstances - (stretch-goal) Add authentications, etc, and integrate with Kubeflow
See https://hub.docker.com/r/e2fyi/theia-controller
make generate
make manifestkubebuilder 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.yamlCreating a theia statefulset
# deploys a theia CR
kubectl apply -f manifest/examplesIf 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).