{"id":20535734,"url":"https://github.com/e2fyi/theia-controller","last_synced_at":"2025-03-06T03:26:32.221Z","repository":{"id":64303521,"uuid":"259255610","full_name":"e2fyi/theia-controller","owner":"e2fyi","description":"kubernetes CRD controller to manage theias (vscode alternative) - imagine jupyterhub.","archived":false,"fork":false,"pushed_at":"2020-04-28T15:27:51.000Z","size":17102,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-16T13:55:40.275Z","etag":null,"topics":["controller-manager","kubeflow","kubernetes","theia"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/e2fyi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-27T08:42:07.000Z","updated_at":"2023-05-17T00:40:04.000Z","dependencies_parsed_at":"2023-01-15T10:01:03.884Z","dependency_job_id":null,"html_url":"https://github.com/e2fyi/theia-controller","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e2fyi%2Ftheia-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e2fyi%2Ftheia-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e2fyi%2Ftheia-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e2fyi%2Ftheia-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/e2fyi","download_url":"https://codeload.github.com/e2fyi/theia-controller/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242140775,"owners_count":20078394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["controller-manager","kubeflow","kubernetes","theia"],"created_at":"2024-11-16T00:33:43.125Z","updated_at":"2025-03-06T03:26:32.196Z","avatar_url":"https://github.com/e2fyi.png","language":"Go","readme":"# theia-controller\n\nkubernetes CRD controller to manage theia (vscode alternative) - imagine jupyterhub.\n\n\u003e Referenced mostly from\n\u003e\n\u003e - https://book.kubebuilder.io\n\u003e - https://github.com/kubeflow/kubeflow/tree/master/components/notebook-controller\n\n## TODOs\n\n- Add a react UI to list, stop, and start `theia` instances\n- (stretch-goal) Add authentications, etc, and integrate with Kubeflow\n\n## Docker\n\nSee https://hub.docker.com/r/e2fyi/theia-controller\n\n## Developer notes\n\n### Generate/update codes and CRD manifest\n\n```bash\nmake generate\nmake manifest\n```\n\n### Kustomize\n\n`kubebuilder` requires `kustomize` `v3.1.0+`. `kubectl` is currently still on `v2`, so you will need to download `kustomize` binary from their site.\n\nDeploying `theia-controller`\n\n```bash\n# create and deploy the basic controller\nkustomize build manifest/kustomize/base \u003e manifest/generated/theia-controller.yaml\nkubectl apply -f manifest/generated/theia-controller.yaml\n\n# create and deploy the controller with istio integration\nkustomize build manifest/kustomize/istio \u003e manifest/generated/theia-controller-istio.yaml\nkubectl apply -f manifest/generated/theia-controller-istio.yaml\n```\n\nCreating a `theia` statefulset\n\n```bash\n# deploys a theia CR\nkubectl apply -f manifest/examples\n```\n\nIf `istio` is deployed in the cluster, you can access the `theia` webapp via the route `http://\u003cistio-gateway-hostname\u003e/theia/\u003cnamespace\u003e/\u003ccr-name\u003e` (e.g. `http://x.x.x.x/theia/default/my-theia`).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe2fyi%2Ftheia-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fe2fyi%2Ftheia-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe2fyi%2Ftheia-controller/lists"}