-
Spike
-
Resolution: Done
-
Blocker
-
None
-
None
-
Product / Portfolio Work
-
0
-
False
-
-
False
-
-
-
-
ACM Console Train 27 - 1
-
None
Value Statement
In order to allow plugins to exploit multicluster features when installed on a hub with ACM and enable maximum code reuse between single-cluster and multicluster contexts, we need to provide an SDK that allows for seamless access to data.
The idea is to provide similar capabilities to the OpenShift console dynamic plugin SDK, but allow them to be targeted to a managed cluster of choice. Additional capabilities for content that needs to work with multiple clusters at the same time are also required, such as functions for performing search queries or multicluster observability metrics queries.
Definition of Done for Spike
- Prototype an npm package that provides:
- Common TypeScript definitions that can be shared by ACM and other plugins, including the APIs provided by the SDK and the extension definitions
- Hooks and components that can be used in place of dynamic plugin SDK equivalents
- Mechanisms to use ACM-provided implementations or fallback to dynamic plugin SDK implementations depending on whether ACM is available and on whether target is the hub or a managed cluster
- Refactor the existing prototype developed in
ACM-14379to use the new package- ACM should expose functions via an extension defined in the package
- ACM code should contain nothing kubevirt-specific
- kubevirt-plugin changes should be re-written to use the new package