-
Notifications
You must be signed in to change notification settings - Fork 57
Long term Themes
Prasad Talasila edited this page Sep 30, 2024
·
36 revisions
- Gitlab DevOps mode - execute, manage and create modes
- Integrate gitlab runner into installation setup
- Runner
- Only permitted commands
- Make runner package cross-platform (see issue #637)[https://github.com/INTO-CPS-Association/DTaaS/issues/637]
- JWT-based authentication
- Integrate nanomq
- Async execution and reporting
- Clean up all the child processes
- Integrate Gitlab and Github modes for library microservice. See discussion #951.
- Keep support for relative paths in DTs. This means that all of user assets need to be cloned when a DT is executed in DevOps pipeline.
-
OAuth protection for all components in complete DTaaS installation.(done) -
docker compose for both developers and users.(done) -
Ten examples of different application domains.(done)
- Config generation and validation from dtaas pip package.
- Fully functional runner client package (use MQTT).
- Feature complete CLI for admin tasks. Tasks to be taken care of are: install, uninstall, backup and update. Python frameworks to be used for the CLI.
- Kasm Ubuntu-based docker container with five services: terminal, file server (cloudcmd), VSCode server, Jupyter Lab, and VNC. These are to be used as user workspaces.
- Complete code coverage for tests. Feature tests at the top-level of the application.
- Feature complete DT Lifecycle manager and DT Configuration Validator microservices.
- Gitlab compliant GraphQL API for library microservice
- Kubernetes based execution manager. The execution manager should be able to manage DTs running inside docker containers.
- Keep support for relative paths in DTs. This means that all of user assets need to be cloned when a DT is executed in DevOps pipeline.
- Rebuild the docker image using the latest forks so that
- the library are updated
- use the slim version of ML workspace images to see if the problems are less
- to only include Terminal, VS Code, Jupyter Lab, Jupyter Notebook (with required libraries, kernels reinstalled)
- Problems seen so far (only with ml-workspace but not with ml-workspace-minimal):
- the docker container loses network connectivity after three days (this is not the case on vagrant machines)
- the terminal tool doesn't seem to have the ability to refresh itself. If there is an issue, the only solution is to close and reopen the terminal from "open tools" drop down of notebook
- terminal app does not show at all after some time: terminal always comes if it is open from drop-down menu of Jupyter Notebook, but not as a direct link.
- ml-workspace-minimal only slows down after ten days or so.
- The completed processes within docker containers become zombies (defunct state). This is because of the absence of init service within docker containers which usually cleans up the zombie process.
- Tools that must run in the new container are: Prosys OPC-UA server, GNU Octave 8.4
- Add Jupyter debuggers and most useful VSCode server extensions in the docker image
- Build docker stacks for different workspace container images needed by the users
- The logout on gitlab does not effect the logged in status on the react app. Gitlab does not have the capability to make a webhook call to oauth end points for logging them out.
- Two concurrent sessions at different instances of DTaaS do not work properly with OAuth. The OAuth for the instance launched next takes the OAuth configuration from the first application.
- Secure folders for all user folders. Generate security keys and use them to encrypt user folders on the server. Only users with their keys can see the files but no one else can.
- Provide SSH access to user workspaces. Users can complete the development on their desktops and then push assets to user workspace (use TCP proxy servers - HA Proxy or Traefik)
- Use port access feature of ml-workspace to provide access to different DT Runners running in user workspace.
- Create skeleton OAuth server (using authentik) for setting up authentication server to be used for 1) tests and 2) simpler local installation scenarios
- The markdown to html is good, but not markdown to html to pdf. The mathematical expressions are missing from the pdf documentation. The notices/warnings/tips etc. are not rendered correctly as well.
- Complete application released as
- docker compose
- Kubernetes Helm Chart
- All installation managed through the python package
- Integrate Thingsboard and thingsboard-gateway into the DTaaS. Prefer these two over Eclipse Ditto / Hono.