Extended Reality is transforming how industrial organisations train workers, support complex procedures and manage operational knowledge. In sectors such as manufacturing, aerospace, energy, maintenance and assembly, XR can make training more immersive, assistance more contextual and operational workflows easier to understand.
However, building effective XR solutions is not only about creating immersive content. It also requires a reliable digital platform capable of managing assets, coordinating tools, authenticating users, integrating services and supporting continuous improvements over time.
This is where the MOTIVATE XR platform plays a central role.
MOTIVATE XR is designed as a collaborative environment for authoring, publishing and experiencing XR content. The platform brings together web services, XR tools, AI-enabled modules, data storage, identity management and integration mechanisms so that different stakeholders can work within a shared ecosystem.
For industrial XR to be adopted in real operational contexts, the platform must be stable, secure, scalable and maintainable. It must also be able to evolve continuously as new components, tools and services become available throughout the project.
The current beta platform represents an important step in this direction. It shows how MOTIVATE XR is moving from concept and architecture toward a working technical foundation that can support industrial XR training and assistance.
Why Continuous Integration Matters
MOTIVATE XR is not a single isolated application. It is a distributed platform composed of multiple services and tools developed by different partners. The platform must support a web-based user interface, a backend orchestrator, identity and access management, storage services, databases, graph-based components, AI services and external XR applications.
In this context, continuous integration and continuous deployment are essential. They help reduce technical risk and ensure that updates can be introduced in a controlled and repeatable way.
Each change to the platform must be built, tested, packaged and deployed without compromising system stability. This is particularly important for an industrial XR platform, where reliability, traceability and security are key requirements.
By standardising how updates move from source code to deployment, MOTIVATE XR can maintain a clearer connection between development work, container images and the services running on the platform. This makes it easier to track versions, identify issues and restore stable configurations when needed.
A Beta Platform Deployed on Kubernetes
The MOTIVATE XR beta platform is currently deployed on a Kubernetes-based infrastructure. This provides a flexible and scalable foundation for running the different services that make up the platform.
The Kubernetes cluster is managed with RKE2 and includes both standard computing capacity and GPU-enabled resources to support AI workloads. This configuration allows MOTIVATE XR to run web services, APIs, identity services, databases and AI-enabled modules within the same controlled infrastructure.
The platform also includes persistent storage, object storage through MinIO, containerised services stored in a private Docker registry and Kubernetes manifests used to define the deployment. These manifests describe the services, deployments, stateful components, ingress resources, volumes, secrets and configuration needed to operate the platform.
External access is handled through an NGINX Ingress Controller, while encrypted communication is supported through TLS certificate management. This allows users and connected tools to access the platform through secure public endpoints.
This deployment approach avoids a monolithic architecture. Instead, MOTIVATE XR is composed of modular services that can be maintained, updated and scaled independently.
Development, Staging and Production Environments
To support reliable development and deployment, MOTIVATE XR follows a multi-environment approach. The platform uses local development, staging and production environments, each serving a different purpose.
The local environment allows developers to build, test and refine components on their own machines before sharing them with the wider team. This supports rapid experimentation and helps detect issues early.
The staging environment is used for integration validation and collaborative testing. It provides a protected space where changes to the user interface, backend and other services can be checked together before they reach the public-facing platform.
The production environment hosts the stable beta version of MOTIVATE XR. This environment is managed with stricter control over changes, stability expectations and operational procedures.
The separation between staging and production is especially important. It allows the team to test new functionality without interfering with the stable version of the platform. It also supports a clearer promotion flow, where development work can be validated before being considered ready for production use.
A Modular Platform Architecture
The MOTIVATE XR platform architecture is built around several core components.
At the centre of the platform is a backend and orchestrator implemented with FastAPI. This service exposes the platform API and coordinates communication between internal modules and connected tools. It acts as the main integration hub for platform functionality.
The user-facing interface is implemented as a separate React and Next.js service. This separation between frontend and backend allows both parts of the platform to evolve independently. It also makes it easier to scale services according to their specific needs.
Identity and access management are provided by Keycloak. This supports authentication, user management and access control for the platform and selected external applications.
The platform also combines several data and runtime services. MongoDB supports metadata and document-oriented persistence. MinIO provides object storage for files and XR assets. Redis supports short-term storage and queue-related processes. Neo4j enables graph-based representation and querying. AI-enabled capabilities are supported through services such as Ollama with Mistral 7B, as well as a dedicated Vision Module for computer-vision functionality.
Together, these components create a platform capable of supporting content management, XR tool integration, AI processing, identity management and scalable service deployment.
Connecting Tools and Services Securely
One of the strengths of MOTIVATE XR is its ability to support different integration patterns. Not every tool needs to connect to the platform in the same way, so the architecture allows several controlled access models.
Some services run internally within the Kubernetes environment. These internal modules communicate through the private cluster network and are not exposed directly to the outside. This reduces the external attack surface and keeps service-to-service communication protected.
Other applications connect through Keycloak-based authentication. This is useful when user identity, authorisation and traceability are required. External tools can authenticate users through the identity provider and then access platform functionality through REST APIs.
Some machine-to-machine integrations use API keys for tightly scoped operations. This approach is suitable when a service only needs controlled access to a limited set of actions.
The project also supports isolated platform deployments where stronger separation is needed. This can be useful for specific industrial scenarios where confidentiality, operational requirements or pilot constraints require an independent runtime environment.
This flexible integration model allows MOTIVATE XR to support different tools and use cases while maintaining clear security boundaries.
From Code Changes to Deployment
The platform’s CI/CD workflow is implemented with GitLab CI and a self-hosted runner. The pipeline follows four main stages: test, build, push and deploy.
The process begins with automated testing. The test stage starts the required services in a containerised environment and executes backend tests using pytest. Running tests before deployment helps detect issues early and prevents faulty changes from moving further through the release process.
If the tests pass, the pipeline builds a container image for the platform service. Each image is tagged using the Git commit short SHA, creating a direct link between the running version and the source code revision that produced it. This improves traceability and supports debugging or rollback decisions.
The image is then pushed to a private Docker registry. From there, the Kubernetes cluster can pull the required image during deployment.
The deployment stage updates the running Kubernetes service using kubectl. Instead of reapplying the full platform configuration every time, the pipeline updates the container image of the existing deployment and waits for the rollout to complete. This provides immediate feedback on whether the new version has been deployed successfully.
Sensitive information, such as Docker registry credentials and Kubernetes access configuration, is managed through GitLab CI variables. This keeps secrets out of the source code repository while still enabling automated deployment.
Testing and Quality Controls
Automated testing is a key part of the platform’s release process. The current testing approach includes backend unit tests executed with pytest, providing baseline regression protection for core platform functionality.
The platform also includes user interface testing, with additional end-to-end testing planned to strengthen quality assurance across the full user journey. End-to-end tests are particularly valuable because they validate how the frontend, backend and supporting services behave together from a user perspective.
As the platform matures, the testing strategy can be expanded with additional quality controls. These may include coverage reporting, linting, static analysis and security-oriented checks. The goal is to progressively increase confidence in each release while keeping the development workflow efficient.
Operations and Roadmap to Final Release
With the beta platform deployed, the focus now moves toward hardening, resilience and readiness for the final release.
One of the next priorities is centralised monitoring and observability. MOTIVATE XR plans to introduce a monitoring stack based on Prometheus and Grafana. This will make it easier to track service health, resource usage, performance trends and critical conditions that may affect platform availability.
Backup and restore procedures are also a key priority. Since the platform includes stateful services such as MongoDB, Neo4j and MinIO, the final operational baseline must define what data is backed up, how often backups are created, how long they are retained and how restoration is validated.
Rollback and recovery procedures are also part of the operational approach. If a deployment does not behave as expected, the platform can revert to a previously running state or redeploy a known-good container image. This provides a practical mechanism for restoring service stability when problems occur.
The roadmap toward the final release also includes platform migration planning. The production platform is expected to move to a larger hosting environment while preserving the current service composition. This approach reduces migration risk by keeping the platform architecture consistent while adapting the infrastructure to final release requirements.
The migration plan includes hosting requirements, GPU capacity, identity transition, DNS and TLS cutover, CI/CD adjustments, validation, downtime planning, rollback measures and operational handover.
Building a Stronger Foundation for Industrial XR
The MOTIVATE XR beta platform demonstrates significant progress toward a robust technical ecosystem for industrial XR. The project now has a Kubernetes-based infrastructure, a modular platform architecture, defined integration patterns, automated deployment processes and a clear roadmap for final-release hardening.
This foundation is essential for the long-term success of the platform. Industrial XR solutions must be trustworthy, maintainable and ready to evolve as user needs, pilots and technical capabilities develop.
By developing continuous integration, testing, deployment and operations, MOTIVATE XR is building the technical basis required to support scalable, secure and collaborative XR training and assistance.
As the project advances toward its final release, the focus will continue to move toward resilience, monitoring, backup and restore, expanded end-to-end testing and production-grade migration. These actions will help ensure that MOTIVATE XR evolves from a beta platform into a reliable ecosystem for industrial XR innovation.
Author

Universidad Politecnica de Madrid
Francisco Moreno García earned a B.Sc. in Computer Engineering from the Polytechnic University of Madrid in 2008, including a research stay at Roskilde University, Denmark. After working as a Full-Stack Developer in Spain and the UK, he joined UPM in 2015 as a researcher and has been an Assistant Professor since 2026.



