canonical / kubeflow-dashboard-operator

Operator for Kubeflow Dashboard
Apache License 2.0
1 stars 1 forks source link

Make customizable components available #44

Open camille-rodriguez opened 2 years ago

camille-rodriguez commented 2 years ago

Upstream kubeflow allows for adding custom apps to the kubeflow dashboard. This is a feature request to add this component to our charmed distribution of kubeflow. https://www.kubeflow.org/docs/components/central-dash/customizing-menu/

ca-scribner commented 2 years ago

@misohu atm is working on a dynamic sidebar, where the links in that sidebar will depend on relations (eg: if you don't have a notebooks app related to dashboard, then the notebooks links do not show up). That feature wont be ready for 1.6, but should be available soon after

but @misohu's current scope only helps if someone wants to add a link that originates from another charm that relates to our dashboard in Juju. We could add another very similar task that accepts additional links via config (maybe as JSON passed in via config?) that get appended to the sidebar. That, or we could create an integrator charm that accepts additional links and relates to dashboard to pass them along

DomFleischmann commented 2 years ago

For now, adding items to the sidebar that are not charmed is clearly out of scope in the currently developed feature. If there is clear customer demand an integrator charm could be created. I don't believe we should open up the sidebar to any customization through config.

camille-rodriguez commented 2 years ago

" I don't believe we should open up the sidebar to any customization through config."

Why not, though ? It is a feature available upstream, we would only own the part of code that lets the user add a sidebar item. The user would own that 3rd-party application that is being exposed in the sidebar. Limiting our charms to only allow for other charms to relate to is too limiting for quick wins like this. It should be a fairly easy feature to open up for users.

ca-scribner commented 2 years ago

I don't believe we should open up the sidebar to any customization through config.

Yeah I'm with @camille-rodriguez on this one. Right now charmed kubeflow removes this feature from plain kubeflow, and it is a helpful feature that gets used regularly (eg: add a link to your company's feature store or code repo, etc). The same is true for the main landing page (the links visible in the main dashboard homepage) - if I deploy kubeflow for my org, I probably want my own quick links and tutorials there.

Adding user customization to the sidebar would be easy to make, too (<2 days work, mostly designing how it should work)

ca-scribner commented 2 years ago

fwiw I'm not against implementing via an integrator charm either, but it feels a bit heavy just to let the users paste some yaml. Even then, the interface will be the same (users still must give the integrator charm their custom links via a config option)

camille-rodriguez commented 2 years ago

@DomFleischmann can you review again @ca-scribner 's comment and mine ? We will be doing a deployment very soon and it would be great if this feature would be available, even in beta.

DomFleischmann commented 2 years ago

@camille-rodriguez We had further conversations around this, if we do this it would be through a integrator charm. Right now considering that we are getting closer to the end of our roadmap we can't really prioritize this feature. But we could work on it once the next one starts.

camille-rodriguez commented 2 years ago

@DomFleischmann noted, thank you for the update