kubeapps
kubeapps copied to clipboard
Refactor/Rewrite frontend handling of global namespaces across plugins
Summary Rework the frontend code related to global namespaces, specially related to package repositories. For example, when retrieving the summary of repositories, the "Helm global" namespace is used (the one used until now). But that operation must return the repositories related to Carvel too. And it currently does return all, but the frontend code managing all is confusing, as it is based in a pre-plugins era assumption.
Background and rationale
Until now it was assumed that there was just one global namespace. With the plugins in the mix, that is not true anymore.
Carvel has its own global namespace (kapp-controller-packaging-global
), whereas Flux does not have such concept and Helm plugin can have a customized name for namespace.
Description
Unify or make more logical the use of globalReposNamespace
and carvelGlobalNamespace
. Those are part of the config.json
endpoint as separate, unrelated fields.
It might be necessary to, for example, turn them into a map of Plugin -> global namespace.
Acceptance criteria Frontend code is well refactored and organized to reflect the right setup for global namespaces across all plugins
Additional context Related to #5200 and #5121