Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/e2fyi/theia-controller

kubernetes CRD controller to manage theias (vscode alternative) - imagine jupyterhub.
https://github.com/e2fyi/theia-controller

controller-manager kubeflow kubernetes theia

Last synced: about 4 hours ago
JSON representation

kubernetes CRD controller to manage theias (vscode alternative) - imagine jupyterhub.

Awesome Lists containing this project

README

        

# theia-controller

kubernetes CRD controller to manage theia (vscode alternative) - imagine jupyterhub.

> Referenced mostly from
>
> - https://book.kubebuilder.io
> - https://github.com/kubeflow/kubeflow/tree/master/components/notebook-controller

## TODOs

- Add a react UI to list, stop, and start `theia` instances
- (stretch-goal) Add authentications, etc, and integrate with Kubeflow

## Docker

See https://hub.docker.com/r/e2fyi/theia-controller

## Developer notes

### Generate/update codes and CRD manifest

```bash
make generate
make manifest
```

### Kustomize

`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`

```bash
# 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

```bash
# 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:///theia//` (e.g. `http://x.x.x.x/theia/default/my-theia`).