vmware-archive / octant

Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
https://octant.dev
Apache License 2.0
6.28k stars 486 forks source link

Injecting custom CSS/JS at a plugin level #2622

Open liamrathke opened 3 years ago

liamrathke commented 3 years ago

Describe the problem/challenge you have Right now, customization options for Octant plugins are limited. There aren't always easy ways to edit the styling or behavior of individual components for a plugin. Adding additional capabilities will help the Octant plugin ecosystem, and by extension Octant itself, grow.

Describe the solution you'd like By allowing plugin developers to inject their own styling and behavior code into their own plugin specifically, Octant could now support any UIs or features that could be implemented in a browser.

Regardless of whether Module Federation for plugins is implemented, this will provide significantly more options for plugin developers in the short and long terms, this feature and could theoretically coexist alongside microfrontend-based plugins.

Prioritization CSS can be scoped to the plugin's wrapping component (Using Angular's view encapsulation), so plugin-sandboxed CSS should be relatively straightforward to implement and could be tackled first.

wwitzel3 commented 3 years ago

We will look at using module federation to achieve this based off the work @mklanjsek did for the innovation sprint.

wwitzel3 commented 3 years ago

Please use this as tracking issue and add checklist / todo items / comments. cc: @mklanjsek @lenriquez