This service simulates real-world vehicle sensors for demonstration purposes only. In a real-world scenario, you would connect directly to actual vehicle sensors rather than using this simulation service.
- Created for demonstration purposes due to lack of access to real vehicle sensors
- In production, this service would be replaced with direct integration to actual vehicle telemetry systems
- This demo uses embedded private keys for simplicity
- These keys could be exposed publicly, creating security risks
helm repo add camunda https://helm.camunda.io
helm repo updateStart a Minikube cluster with sufficient resources. You may adjust the values based on your machine/driver:
minikube start --memory=8192 --cpus=4 --driver=dockerInstall Camunda into the camunda namespace (or another of your choice) using your custom configuration file:
helm install camunda camunda/camunda-platform \
-n proving-system --create-namespace \
-f camunda-platform/camunda-platform-core-kind-values.yamlNotes:
- If you do not use the default namespace, you must always include -n camunda (or your chosen namespace) in kubectl commands.
- The YAML configuration file should be available locally or from your cloud storage. Adjust the path if needed.
Sidenote: to uninstall use
helm uninstall camunda -n proving-systemWait a few minutes for all services to initialize. Then check the status:
kubectl get pods -n proving-systemYou should see multiple Camunda components like camunda-zeebe, camunda-operate, and others showing STATUS: Running.
If some show Pending or ContainerCreating, wait until they are fully up.
To connect the Camunda Modeler to Zeebe, forward the gateway port:
kubectl port-forward svc/camunda-zeebe-gateway 26500:26500 -n proving-systemKeep this terminal open while deploying models from the Camunda Modeler.
In the Camunda Modeler:
-
Open your BPMN file.
-
Select Camunda 8 → Self-Managed.
-
Use the following connection settings:
-
Zeebe Gateway Address: localhost:26500
-
Authentication: None
-
Click Deploy Current Diagram.
-
Start process instances (only after you deployed the other Microservices to the Cluster).
To view and manage process instances, forward the Camunda Operate service:
kubectl port-forward svc/camunda-operate 8081:80 -n proving-systemThen open your browser at: http://localhost:8081
Before deploying, make sure to build your images inside Minikube's Docker context (we don't need to upload to DockerHub with Minikube, we keep the images local):
Kubernetes does not run source code directly, it runs containers that are created from Docker images. That means every time you create a new service or want to deploy one, you first need to build its Docker image.
Make sure that the commands have to be executed in the right folder of the dedicated repository.
If you use a Macbook that is based on an ARM64 architecture ((M1, M2, M3, M4) make sure to add --platform=linux/amd64 to build your proving-service Dockerfile (see below). The Risc Zero Toolchain doesn't support linux/aarch64 but only can installed on linux/amd64 platforms.
eval $(minikube docker-env)
docker build -t sensor-data-service:latest .
docker build -t camunda-service:latest .
docker build --platform=linux/amd64 -t proving-service:latest .Then apply your Kubernetes YAML files (you might need to switch folders):
kubectl apply -f sensor-deployment.yaml -n proving-system
kubectl apply -f camunda-service-deployment.yaml -n proving-system
kubectl apply -f proving-service.yaml -n proving-systemAlways use -n proving-system (or the name that you chose) if you are working outside the default namespace.
kubectl get pods -n proving-system
kubectl logs deployment/camunda-service -n proving-system
kubectl logs deployment/sensor-data-service -n proving-system
kubectl logs deployment/proving-service -n proving-systemIf you change the code in one of your services (e.g., the Camunda worker or sensor service), you must rebuild the corresponding Docker image.
Kubernetes uses the image specified in your deployment YAML, so the container will not reflect your code changes unless the image has been updated.
- Re-enter the Minikube Docker context:
eval $(minikube docker-env)
- Rebuild your image(s), for example:
docker build -t camunda-service:latest ./camunda-service
- Restart the deployment to use the updated image:
kubectl rollout restart deployment camunda-service -n proving-system
kubectl delete deployment proving-service -n proving-system
kubectl delete service proving-service -n proving-system