eclipse-ankaios / ankaios

Eclipse Ankaios provides workload and container orchestration for automotive High Performance Computing (HPC) software.
https://eclipse-ankaios.github.io/ankaios/
Apache License 2.0
60 stars 22 forks source link

Ankaios dashboard #176

Closed windsource closed 2 months ago

windsource commented 8 months ago

Description

It would be nice to have a web dashboard for Ankaios that shows the Ankaios state with its workloads and the workloads state. Such dashboard can be implemented as an Ankaios workload such that it gets access to the Ankaios API.

The dashboard probably needs two parts: a server and a client component. The dashboard client runs in the web browser as a one-page application which shows the live status. The dashboard server connects to the Ankaios API and also provides stream (probably via websockets) to the client.

In a first version we can have the dashboard just showing the state of Ankaios and in an enhanced version we can allow the dashboard user to modify the state.

Suitable frameworks might be Node.js or Python combined with Vue.js and tailwindcss. The Ankaios examples can serve as a starting point.

Goals

Have an Ankaios dashboard to demonstrate Ankaios and show the Ankaios state in human friendly way.

Final result

Summary

To be filled when the final solution is sketched.

Tasks

krucod3 commented 8 months ago

We already had an issue about the user interface: #122. Maybe we can consider merging somehow.

windsource commented 8 months ago

I consider this issue here more as a lightweight solution comparable to the Kubernetes dashboard where as #122 is more on modelling which is not part of this issue here.

FelixMoelders commented 6 months ago

Hi everyone, My name is Felix and I would like to contribute to the ankaios project. As this issue is marked as a good first issue, I would offer to work on this one. Are there any further information that I should know or recommendations before starting to contribute? Best Regards

krucod3 commented 6 months ago

Hi @FelixMoelders,

I'm really happy to hear that! Welcome onboard!

From a design perspective we can divide the implementation in two parts:

I would propose to start with the backend in order to get a better picture of what is currently available at the Control Interface. We already have a couple of examples of connecting to the Control Interface here . You can choose a language that suites you and fits good to the frontend (we were thinking about Vue.js here, but you can also propose something else).

I suppose a first good step would be to get the complete state via the Control Interface and parse it into a format that can be provided later to the frontend for the visualization.

From a legal perspective, please take a look here for more information on the Eclipse Contributor Agreement: https://www.eclipse.org/legal/ECA.php

In case you have any other question, don't hesitate to ask them, we are happy to help 😃

krucod3 commented 6 months ago

Btw, you could also think about utilizing some generative AI for the frontend if you like, but that's, of course, up to you. 😉

FelixMoelders commented 6 months ago

Alright, thank you guys for the warm welcome! :) I would create the folder examples/ankaios_dashboard for the python backend plus ui. Should I fork the project for development or create a feature branch like "176_ankaios_dashboard"?

HendrikSupper commented 6 months ago

Hi @krucod3,

my name is Hendrik, I'm a colleague of @FelixMoelders, and I would like to contribute to the ankaios project as well. Currently, we are familiarizing with the project and are getting started with the examples that are available in the repo. We are making good progress on that, but have quite a few questions on how things work. Would it be possible for you to bring us up to speed in a short Teams or Zoom session?

Best regards Hendrik

krucod3 commented 6 months ago

Should I fork the project for development or create a feature branch like "176_ankaios_dashboard"?

Please fork

krucod3 commented 6 months ago

Hi @HendrikSupper,

sounds great! We are really happy about this! We'll see how we can organize a session and invite for it.

Br, Kaloyan

FelixMoelders commented 5 months ago

A brief update to that Issue. The dashboard is currently under construction and may be found here: https://github.com/FelixMoelders/ankaios-dashboard

A stable version is estimated to be available on 6th May.

windsource commented 2 months ago

The dashboard is available on https://github.com/FelixMoelders/ankaios-dashboard.