Releases: INTO-CPS-Association/DTaaS
DTaaS v0.6.0
🚀 New Features
- Tighter integration of Gitlab with the DTaaS
- An experimental integration of Gitlab DevOps with ability to perform automated execution of digital twins.
- Both HTTP and HTTPS installation possibilities
- Update to runner package for limiting the execution to permitted commands (as specified in the configuration)
- New recorded videos showcasing the capabilities of DTaaS for general, and technical users. There is also a dedicated video on showcasing the examples.
- Updates to documentation as per the new release files
- Library microservice previously had problems working on Windows. That bug is fixed.
- Improved code quality by refactoring and better testing. The end-to-end tests on client website are now functional
- Updates to all the third-party library package used in the software
🪡 What's Changed
- Update Account tabs and add group list by @atomicgamedeveloper in #838
- Logging out of Gitlab and clearing session storage by @atomicgamedeveloper in #793
- Improves installation and docs by @prasadtalasila in #855
- Adds integration tests to client website by @atomicgamedeveloper in #863
- Adds gitlab API into client codebase by @prasadtalasila in #894
- 676 libms commander error on windows by @nichlaes in #888
- Developer documentation updates by @hkirk in #908
- Playwright e2e reconfiguration by @atomicgamedeveloper in #871
- Updates documentation by @prasadtalasila in #927
- only publish docker image if version is not yet published by @nichlaes in #926
- Add 'Execute' tab to Digital Twins page preview by @VanessaScherma in #903
- 887 upgrade dependencies of libms by @nichlaes in #943
- Adds integrated gitlab to DTaaS installation by @prasadtalasila in #961
- Adds issue and pull request templates by @prasadtalasila in #967
- Publish docker images to DockerHub by @aryanpingle in #958
- Fix and Refactor Github Workflows by @aryanpingle in #970
- Add 'Manage' tab to Digital Twins page preview by @VanessaScherma in #957
- Fixes #986: Converts repository owner name to lowercase by @aryanpingle in #987
- 952 include configuration for git mode in libms by @nichlaes in #965
- Runner limit permitted commands by @prasadtalasila in #1016
- Update runner dependencies by @prasadtalasila in #1017
- Improves Docker Installation Files (on top of #988) by @prasadtalasila in #1019
- Github Action publish to npm for libms by @nichlaes in #1024
- 893 upgrade client dependencies reopened by @atomicgamedeveloper in #1028
- Updates Pr 1037 by @prasadtalasila in #1039
- Fix runner version and upgrade runner dependencies by @prasadtalasila in #1042
- Fix 983 documentation by @prasadtalasila in #1057
New Contributors
- @atomicgamedeveloper made their first contribution in #838
- @hkirk made their first contribution in #908
- @aryanpingle made their first contribution in #958
Full Changelog: v0.5.0...v0.6.0-pre-release
DTaaS v0.5.0
🚀 New Features
- Docker version of the application
- Available for installation on your laptop/desktop (localhost ) and servers
- A pip package named dtaas to support user addition and deletion to running DTaaS platform
- OAuth authorization for backend
- A new runner package to create REST API interface to digital twins
- Release of independent packages that are reusable outside of DTaaS platform
- react client application
- Library npm package and docker image
- Runner npm package
- Adds file browser capability to library microservice
- Six new examples demonstrating a) composition of digital twins and b) run-time monitoring of digital twins
- Incubator
- Firefighters in Emergency Environments
- Mass Spring Damper with NuRV Runtime Monitor
- Incubator with NuRV Runtime Monitor
- Incubator with NuRV Runtime Monitor Service
- Water Tank Fault Injection with NuRV Runtime Monitor
- Updates to documentation
⚒️ Missing Features
- TLS (https) installation of the application.
- Multiple installations of DTaaS on one server.
🪡 What's Changed
- Updates example docs by @prasadtalasila in #600
- Upgrade runner dependencies by @prasadtalasila in #601
- Add powershell scripts and new example by @prasadtalasila in #634
- Cleans up the code in Account react component (updates PR #632) by @prasadtalasila in #657
- Improves docker compose files by @astitva1905 in #660
- Fix github actions and upgrade dependencies by @prasadtalasila in #677
- Fix github actions by @prasadtalasila in #678
- Upgrade eslint plugin jest of libms microservice by @prasadtalasila in #679
- Runner config with execution by @prasadtalasila in #614
- Runner deps fix by @prasadtalasila in #698
- DTaaS CLI: Base structure and User add/Delete for Compose by @astitva1905 in #578
- Implements CLI options for runner and adds devContainer config by @prasadtalasila in #732
- Git and help icon buttons by @VanessaScherma in #731
- Refactor docker installation and docs by @prasadtalasila in #764
- Fixes github actions and minor docs issues by @prasadtalasila in #780
- Removes the redundant ssl codebase by @prasadtalasila in #781
- Fixes the mistake in config of libms in docker compose files by @prasadtalasila in #784
- Fix Dockerfiles and npm package READMEs by @prasadtalasila in #802
- Adds new documentation by @prasadtalasila in #803
New Contributors
- @VanessaScherma made their first contribution in #731
Full Changelog: v0.4.0...v0.5.0
DTaaS v0.4.0
The documentation for this release is available online.
Improvements in this release:
For users:
- Available for localhost installation. You can experience the DTaaS software right on your computer without the need for a web server.
- The pre-installed packages in user workspaces have been reduced. The net result is improved execution speed of programs in user workspaces.
- The landing page for different library assets has been same in the previous releases. The latest release customizes the library page to show only the relevant assets.
- This release comes with three new examples. They are:
- The industrial PLCs use OPC UA protocol extensively. Water treatment plant with OPC-UA example showcases the use of OPC-UA protocol for a digital twin running inside DTaaS.
- The composition of DT assets is a powerful idea leading to building more complex twins. The three water tank example showcases the use of Maestro co-simulation tool to build new tools and use them in new digital twins. This example uses DTManager framework also demonstrates the possibility of using third-party DT frameworks inside DTaaS.
- The flex cell example also uses DTManager to create a digital twin of two collaborative robots. The example demonstrates use of configuration, save and analyze lifecycle phases.
For Administrators:
- Simplified trial and production installation. The installation time is significantly reduced.
- The library microservices is now available as a dedicated npm package. You can install and use the same as a standalone software package. You can run multiple instances of library microservice on a single server. (NOTE: The gitlab mode of library microservice has become non-functional due to changes in the API of the upstream Gitlab. The problem has not been fixed as of this release date. Hence, the gitlab mode of library microservice has been removed in this release.)
- Updates the third-party software dependencies used in the DTaaS software. These updates have removed twenty high and medium risk security vulnerabilities identified by the code analyzers.
- The virtual machine installation using vagrant has been improved to include recent software updates.
- Adds MongoDB as a new platform service.
For Developers:
- Adds pre-commit framework to improve git hooks.
- Makes the yarn commands cross-platform so that developers can work on Windows and Linux Operating Systems .
- Publishes library microservice directly from the github actions
Ongoing Development
The ongoing development activities present an opportunity for collaboration in research and software development spheres. The currently active areas of work are:
- Secure digital twin platforms
- A dedicated microservice named digital twin runner (DT Runner) for providing API interface to digital twins. This software component has the potential to turn a DT into a dedicated set of services.
- Development of run-time monitoring enabled digital twins in DTaaS.
- Integrate execution of digital twins on the DevOps infrastructure of Gitlab.
- Fully functional-installation of DTaaS in docker and kubernetes environments.
Contributors
This release has been made possible by contributions from:
Astitva Sehgal, Caroline Lei, Cesar Vela, Emre Temel, Huiqi Zhou, Mads Kelberg, Linda Nguyen, Nichlaes Sørensen, Nicklas Pedersen, Oliver Geneser, Ramon Bendinger, Santiago Gil Arboleda and Yohan Unver.
Legal Stuff
The DTaaS software is released under The INTO-CPS Association License. There are multiple third-party software integrated into the DTaaS. The list of third-party software and their licenses are available online.
DTaaS v0.3.0
Features
Single Sign On
This release of DTaaS supports third-party OAuth single sign on for the frontend React website. The default installation setup suggests a standalone Gitlab instance to provide OAuth. However, any OAuth provider supporting PKCE authentication flow can be integrated into the React website to provide the necessary user authentication.
Library microservice
Some improvements in this release are:
- Commandline Interface (CLI): The library microservice has an intuitive CLI with an option to specify the configuration file. It is possible to save the configuration file in a private location and provide the file location at run-time to the microservice.
- The code is more thoroughly tested in this release.
- Updates all the libraries to latest versions in order to avoid any potential security vulnerabilities
The new release is API compliant with the previous release.
Documentation
The documentation has been expanded based on the feedback from the existing users, developers and external collaborators. The updated documentation is available online for this release. The new release comes with three well-documented digital twin examples.
Examples
There is now documentation for examples. There is also a script to download examples into your user workspace. All these examples are self-contained and require neither external nor internal services to work.
Installation
Some significant improvements are:
- Updates the docker containers to latest releases of dependencies. The versions of Traefik, and platform services have been brought inline with the latest releases.
- Adds MQTT broker as new platform service.
- Simplifies installation of the DTaaS platform services, namely RabbitMQ and MQTT brokers, Grafana and InfluxDB services. Adds a single installation script to install all the platform services.
- Updates to the installation documentation for admins. Adds graphical illustrations to admin documentation setup to provide better insights into the installation setup.
Complete DTaaS Software
Similar to previous release, a single step install script is part of this release. This script installs DTaaS software with default credentials and users on a Ubuntu server OS. You can use it to check a test installation of DTaaS.
wget https://raw.githubusercontent.com/INTO-CPS-Association/DTaaS/release-v0.3/deploy/single-script-install.sh
bash single-script-install.sh
Select Components
The DTaaS software architecture, design and implementation follows microservices pattern. It is possible to install and use react client and library microservice separately.
Software Development
Major highlights are:
- Adds code to publish the library microservice as an npm package.
- Improve the software quality and document the development process.
- Add documentation on the development process followed in the prohject to help the new developers participate in the software development.
What's Changed
- Fix linting and test coverage errors in lib microservice by @prasadtalasila in #89
- Improves code quality configuration by @prasadtalasila in #92
- Feature/distributed demo - Updating documentation and scripts by @astitva1905 in #101
- Updates github actions and documentation by @prasadtalasila in #102
- Resolve Documentation issues by @astitva1905 in #103
- Updates to library microservice HTTP documentation by @lindot11 and @prasadtalasila in #115
- Updates documentation (Improves #114) by @prasadtalasila in #117
- Fix broken links by @prasadtalasila in #120
- Updates npm packages of lib microservice by @OliverGeneser in #112
- Set Documentation style (mdlrc), Resolve Issues by @astitva1905 in #122
- Updates dependabot configuration by @prasadtalasila in #139
- Updates install scripts by @prasadtalasila in #150
- Refactor shell scripts to reduce duplication by @prasadtalasila in #170
- Fix services script by @prasadtalasila in #173
- Updates to admin and example documentation by @prasadtalasila in #190
- Package library microservice by @lindot11 and @prasadtalasila in #195
- Update npm dependencies for runner by @prasadtalasila in #211
- Update examples documentation by @prasadtalasila in #212
- Updates docs by @prasadtalasila in #215
- Update services installation by @prasadtalasila in #240
New Contributors
- @astitva1905 made their first contribution in #101
- @OliverGeneser made their first contribution in #112
- @lindot11 and @MadsKelberg made their first contribution in #195
Contributors
@astitva1905 @OliverGeneser @lindot11 @MadsKelberg @Omarley7 @SyntaxXeror @DaloonOfDoom @ravvnen @KarstenMalle @Artin13 @prasadtalasila
DTaaS v0.2.0
Features
Multiuser support
The second release of DTaaS supports multiple users. Now all the users are presented with a landing page asking for their username. The client website is configured based on the username. All the tools at the disposal of users are presented in a new Workbench page.
Library microservice
This release also brings a new microservice for serving reusable assets from file system. The files can either be on local computer or exist on a remote gitlab instance. The microservice can provide listing of files or allow the users to download a file. The microservice API is GraphQL compliant.
Documentation
The much desired documentation is available online for this release. The documentation is mostly directed towards users but there is some information for the DTaaS software administrators as well.
Installation
There is also a simpler installation setup vis-a-vis v0.1.0-alpha release.
It is now possible to install DTaaS in either a Linux machine or on vagrant virtual machines. A single step install script is part of this release. This script installs DTaaS software with default credentials and users on a Ubuntu server OS. You can use it to check a test installation of DTaaS.
wget https://github.com/INTO-CPS-Association/DTaaS/releases/download/v0.2.0/single-script-install.sh
bash single-script-install.sh
Software Development
The developers have put in a lot of effort to improve the software quality and test coverage. There is now redux-based state management in the client website. This should enable client-side persistence and all the goodies it brings to the users.
What's Changed
- Creation of Lib service by @ravvnen in #9
- Code climate issues - Client side by @Omarley7 in #27
- First part of merge, private routes by @Artin13 in #40
- WebApp update - Code quality by @Omarley7 in #37
- Removed all unused routes (#50) by @Omarley7 in #44
- Added links to workbench by @SyntaxXeror in #46
- User specific iframe routes in Library and DT… by @Omarley7 in #51
- Server integrable LIB MS by @ravvnen in #54
- Sign page reduced + rearranged docs by @Omarley7 in #57
- fix testing by @ravvnen in #62
- Adds more documentation and updates github workflow for docs by @prasadtalasila in #81
- Completes the documentation by @prasadtalasila in #82
Contributors
@Omarley7 @SyntaxXeror @DaloonOfDoom @ravvnen @KarstenMalle @Artin13 @prasadtalasila
DTaaS - Digital Twin as a Service
This first release of the software helps with the replication of DTaaS on their machines. You need to have VirtualBox and Vagrant installed on Ubuntu 20.04 to continue with the setup.
The DTaaS-vagrant.zip helps you with creation of vagrant virtual machine.
It is our intent to release reusable components from this codebase. To support that goal, we are also releasing a configurable web client (DTaaS-client.zip) for the software.
All the feedback is welcome. We appreciate the efforts of current collaborators and welcome new contributors.
New Contributors
- @apetriceanu made their first contribution in #1
- @prasadtalasila made their first contribution in #4
- @Omarley7 made their first contribution in #7
- @SyntaxXeror made their first contribution in #20
- @ravvnen made their first contribution in #9
Full Changelog: https://github.com/INTO-CPS-Association/DTaaS/commits/v0.1.0-alpha