The goal of Theia.cloud is to simplify the deployment of Theia-based (and similar) products on Kubernetes. We follow a convention over configuration approach allowing users to get started fast. At the same time, we aim for extensibility allowing developers to customize certain aspects of the kubernetes deployment if required.
Theia.cloud consists of the following components.
Theia.cloud brings simple custom resource definitions (CRDs) that allow to specify the required conifugration, like the docker image of the Theia-based product.
A Java-based operator will listen for the creation, modification, and deletion of custom resources based on those CRDs and will manage the application.
See Architecture.md for more information on the architecture.
This REST Service acts as the API for creating and stopping Theia-based products for an authenticated user as well as providing additional information.
The Theia.cloud service creates, modifies, and deletes the custom resources the operator listens to.
The UI components communicating with the REST service.
All components are deployed as docker images and may be built with docker. See Building.md for more information. We offer prebuilt images ready to use.
We offer a helm chart under helm/theia.cloud
which may be used to install Theia.cloud. Please check our getting started guides below as well, which will explain the possible values in more detail.
helm install theia-cloud ./helm/theia.cloud --namespace theiacloud --create-namespace
# Optional: switch to the newly created namespace
kubectl config set-context --current --namespace=theiacloud
# Uninstall
helm uninstall theia-cloud -n theiacloud