Skip to content

WASM Plugin Manager Page #319

@ElioNeto

Description

@ElioNeto

WASM Plugin Manager Page

Create an Angular page for uploading, managing, and monitoring WebAssembly plugins using the existing wasm_plugin infrastructure (feature-gated with wasm feature).

Backend Endpoints Needed

GET    /admin/plugins                  — List installed plugins
POST   /admin/plugins                  — Upload a new WASM plugin
GET    /admin/plugins/{id}             — Get plugin details & metadata
DELETE /admin/plugins/{id}             — Uninstall a plugin
POST   /admin/plugins/{id}/enable      — Enable a plugin
POST   /admin/plugins/{id}/disable     — Disable a plugin
GET    /admin/plugins/{id}/stats       — Plugin execution stats

UI Requirements

Plugin Catalog

  • Grid/Cards: Plugin cards with name, version, author, description
  • Status Badge: Active / Inactive / Error
  • Search: Filter by name or description
  • Sort: By name, install date, or status

Plugin Upload

  • File Upload: Drag-and-drop .wasm file
  • Metadata: Name, version, description, author fields
  • Permissions: Display what permissions the plugin requests
  • Validation: Client-side validation of WASM file size (max 10MB)

Plugin Details

  • Info: Name, version, author, permissions
  • Stats: Execution count, last execution, average execution time
  • Logs: Plugin output/error logs
  • Toggle: Enable/disable switch
  • Uninstall: Button with confirmation

Integration with Existing

  • Plugin is feature-gated behind wasm feature flag
  • Page should show disabled state when feature is not available

Acceptance Criteria

  • Plugin catalog loads and displays
  • WASM file upload with validation works
  • Plugin enable/disable toggle works
  • Plugin details show stats correctly
  • Uninstall works with confirmation
  • Disabled state shown when feature unavailable

Parent Epic

#290

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions