🚀 New Features
Summary
- Feature complete digital twin automation component
- Distributed and scalable execution of digital twins
- Secure installation of platform services
- New git integration into the library microservice
- Quick check on the website configuration
- Complete migration of installation setup to docker compose
- Better developer onboarding
In Detail
The Digital Twin as a Service (DTaaS) has three major components. The first is Common Services which includes third-party open source software that fulfill communication, storage and dashboard requirements. The second is Private Desktop Environment / User Workspace which provides lightweight desktop environment for users to develop their digital twins (DTs). The third component is DT Automation that provides automated Compose, Configuration and Execution for DTs on top of Gitlab DevOps infrastructure.
The DT automation features got a new boost with implementation of Compose interface that helps with browsing through available DT components and creating DTs from them. The features related to reconfiguration and execution of DTs have been refactored into for better stability. The execution logs of DT execution had control characters in the previous release. This release fixes them to have cleaner logs.
We are working on improving the code quality of the automation features further and hence, these features have been kept in the preview mode for now. These DT automation features are available via links on the Workbench page.
This release adds help and docker compose files for easy installation of integrated Gitlab and its runners. With this integration, the execution of DTs is no longer limited to the server on which the DTaaS is installed and is truly scalable now. It is even possible to integrate your containerized DTs having many microservices.
Previously, we have used Javascript files to install the platform services - InfluxDB, MongoDB, Grafana, RabbitMQ and MQTT services. They are replaced by a single docker compose file for installing all the platform services. The dedicated MQTT service has been substituted by the MQTT plugin of the RabbitMQ server thereby enhancing the security footprint and management hassle of an extra docker container. More importantly, all the security services have a default TLS mode enabled so that you can just add your TLS certificates to make the services secure. In addition, two new python scripts have been added to aid with user account creation in InfluxDB and RabbitMQ brokers.
The documentation has been updated to reflect the new features. In addition, the video recordings on DTaaS specifically targeted at non-technical and technical users, developers and administrators have been updated as well.
A new configuration validation feature has been developed for the client web interface. The administrators and users can now check for potential configuration issues with the react client website. There are also library package upgrades to reduce the security vulnerabilities in the client, library microservice and runner packages.
The library microservice has previously served files from local directory of the DTaaS installation server. Now there is a new git mode which enables cloning of Gitlab repositories into user workspaces. The long-term goal is to have seamless integration of the user workspace and DT automation components of the DTaaS software. The git mode of the library microservice adds the necessary features to reduce the gap.
There have been conscious effort to reduce the onboarding threshold for new developers. The new dev container environments can be used to perform all the software development in the DTaaS project. The Github workflows and developer's docker compose files have been improved to fix problems with the react script compilation issues. The defunct codeclimate code quality integration has been replaced with qlty and sonarcube.
All in all, this release overtakes the previous release in terms of the additional features and better security.
What's Changed
- Add Create tab into Digital Twins page preview by @VanessaScherma in #1005
- Increments version of client package by @prasadtalasila in #1060
- Fixes the stalling container by @atomicgamedeveloper in #1063
- Libms git mode by @nichlaes in #1047
- Fix Libms readme and include dependabot upgrades by @prasadtalasila in #1092
- Add Library page preview by @VanessaScherma in #1081
- 1093 bug wrong docker files for library microservice by @nichlaes in #1102
- Dependency upgrades for libms and runner by @prasadtalasila in #1112
- Updates to PR-1082 by @prasadtalasila in #1115
- Improves installation scripts by @prasadtalasila in #1157
- Preview code migration of constants by @atomicgamedeveloper in #1161
- Fix codecov config by @prasadtalasila in #1185
- Validates client config reopen by @atomicgamedeveloper in #1181
- Fix client website publish step by @prasadtalasila in #1186
- Improve services using docker compose by @prasadtalasila in #1209
- feature: Optimized devContainer develop- and build times by @Microchesst in #1202
- Minor improvements over PR 1163 by @prasadtalasila in #1220
- Adds qlty config by @prasadtalasila in #1254
New Contributors
- @Microchesst made their first contribution in #1202
Full Changelog: v0.6.0...v0.7