Skip to main content

Releases

If you have a Kubernetes installation running you can install and upgrade releases. The only mandatory components are the Mongo database, the server and the web application. Other components such as for web crawling and for connecting to external services are optional and can be added in a later stage. The installation is automated via helm charts.

Helm

Helm is a package manager for Kubernetes. Check if helm is installed:

helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
spacetime default 3 2025-01-28 16:34:38.899921893 +0100 CET deployed core-1.3.3 latest
tuya default 2 2025-01-10 11:36:18.441962258 +0100 CET deployed tuya-1.3.1 latest

If helm is not installed run the following command.

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

Install

Add the helm repository with information about the spacetime helm charts:

helm repo add spacetime https://charts.spacetime.engineer

You can now view the available releases in the repository:

helm search repo spacetime
NAME CHART VERSION APP VERSION DESCRIPTION
spacetime/core 1.3.1 latest Digital Twin as a service
spacetime/forms 1.3.1 latest Inspection and device control
spacetime/modeler 1.3.1 latest Solid modeler for 3D-T visualization
spacetime/mongo 4.4.0 4.4 3d-t mongo database standalone
spacetime/portal 1.3.1 latest Portal for 3D-T apps
spacetime/server 1.3.1 latest Server back-end
spacetime/tuya 0.1.1 latest Tuya API

To install the core spacetime modules:

helm install spacetime spacetime/core

You can check the deployment by the following Kubernetes command:

kubectl get pods
NAME READY STATUS RESTARTS AGE
forms-9bd7dd556-8v9js 1/1 Running 0 4m53s
modeler-cf7b9794f-s5nfc 1/1 Running 0 4m53s
mongo-0 1/1 Running 0 25m
portal-5b8b8899c5-sxthg 1/1 Running 0 4m53s
server-54675c8865-xr7jl 1/1 Running 0 4m52s

Wait until all services are running and then check if the services are deployed:

kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
forms LoadBalancer 10.43.8.171 192.168.0.176 3002:30338/TCP 101s
kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 3d1h
modeler LoadBalancer 10.43.55.161 192.168.0.176 3005:31719/TCP 101s
mongo ClusterIP 10.43.206.235 <none> 27017/TCP 101s
portal LoadBalancer 10.43.107.54 192.168.0.176 3000:30620/TCP 101s
server LoadBalancer 10.43.241.189 192.168.0.176 8010:30971/TCP 101s

Open a web browser to the portal service:

http://localhost:3000 // If kubernetes is running on your local system
http://<HOSTNAME>:3000 // If kubernetes is running on another host

After testing the local setup you can expose the spacetime environment externally using a secure connection as explained in the next section.

Note: Google Chrome does not allow unsecure connections over http to another server on your internal network. You can add a trusted site in the chrome settings or use another browser.

Upgrade

Before you upgrade to a new release make sure you update the repository with helm charts so that you are working with the latest version of the charts.

helm repo update
helm upgrade spacetime spacetime/core

This completes the minimal installation. You can proceed with optional additional configuration or login and start the Registration section of the tutorial.

Rollback

To rollback, first list the installed versions:

helm history spacetime
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
1 Tue Jan 28 14:51:59 2025 superseded core-1.3.3 latest Install complete
2 Tue Jan 28 15:06:03 2025 superseded core-1.3.3 latest Upgrade complete
3 Tue Jan 28 16:34:38 2025 deployed core-1.3.3 latest Upgrade complete

You can now rollback by entering the revision number:

helm rollback <REVISION>

Uninstall

If you want to install from scratch you can remove the current installation.

helm uninstall spacetime 

This does not automatically delete the database. To delete the database:

kubectl delete pvc data-mongo-0