Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/e2fyi/theia-controller
- Owner: e2fyi
- License: apache-2.0
- Created: 2020-04-27T08:42:07.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-04-28T15:27:51.000Z (over 4 years ago)
- Last Synced: 2024-06-20T16:50:52.552Z (5 months ago)
- Topics: controller-manager, kubeflow, kubernetes, theia
- Language: Go
- Size: 16.3 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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`).