vmware-labs / wasm-workers-server

🚀 Develop and run serverless applications on WebAssembly

Home Page:https://workers.wasmlabs.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Local panel to manage the current project

Angelmmiguel opened this issue · comments

Is your feature request related to a problem? Please describe.

After running wws, the only information you get is the output from the CLI. This information is limited to the loaded workers and you lose track of how they run over time. For example, you need to rely on workers configuration to identify if a worker has an associated K/V store or not.

In the future, wws will include more and more services making it difficult to track this information. Adding more data to the CLI output is possible, although it may end up being confusing. For this reason, a read-only local panel could be a great addition to visualize the information properly.

Looking towards v2.0.0, wws should improve the process of deploying your projects into production. This read-only local panel is the seed for a more complete panel + API to deploy services from your local machine to a self-hosted wws service.

Architecture

This is a high level architecture about how this feature works. wws exposes a management API that will be consumed by both panel and new CLI commands

---
title: Wasm Workers Server
---
flowchart TD
    api(Management API)
    panel(Panel)
    
    wws -- exposes --- api
    wws -- exposes --- panel
    panel -- uses --> api

    CLI -- uses --> api

Initial version

This task, we will scope the panel to a read-only one. It will be disabled by default, so you can enable it via --enable-panel flag.

Describe the solution you'd like

Provide a local panel in which I can get information about the running workers as well as required features. In the future, it will include more information such stats.

Regarding the management API, it only exposes the required information. In the future, we will add more features and a full read/write API for managing projects locally and in a remote wws deployment.

Tasks

  • Create the management API (via #154)
  • Add a basic administration panel

Describe alternatives you've considered

No response

Additional context

No response