UNPKG

@openshift-console/dynamic-plugin-sdk

Version:

Based on the concept of [webpack module federation](https://webpack.js.org/concepts/module-federation/), dynamic plugins are loaded and interpreted from remote sources at runtime. The standard way to deliver and expose dynamic plugins to Console is throug

1,085 lines (716 loc) 41.7 kB
# OpenShift Console Extension Types 1. [`console.action/filter`](#console.action/filter) 2. [`console.action/group`](#console.action/group) 3. [`console.action/provider`](#console.action/provider) 4. [`console.action/resource-provider`](#console.action/resource-provider) 5. [`console.alert-action`](#console.alert-action) 6. [`console.catalog/item-filter`](#console.catalog/item-filter) 7. [`console.catalog/item-provider`](#console.catalog/item-provider) 8. [`console.catalog/item-type`](#console.catalog/item-type) 9. [`console.context-provider`](#console.context-provider) 10. [`console.dashboards/card`](#console.dashboards/card) 11. [`console.dashboards/overview/activity/resource`](#console.dashboards/overview/activity/resource) 12. [`console.dashboards/overview/health/operator`](#console.dashboards/overview/health/operator) 13. [`console.dashboards/overview/health/prometheus`](#console.dashboards/overview/health/prometheus) 14. [`console.dashboards/overview/health/resource`](#console.dashboards/overview/health/resource) 15. [`console.dashboards/overview/health/url`](#console.dashboards/overview/health/url) 16. [`console.dashboards/overview/inventory/item`](#console.dashboards/overview/inventory/item) 17. [`console.dashboards/overview/inventory/item/group`](#console.dashboards/overview/inventory/item/group) 18. [`console.dashboards/tab`](#console.dashboards/tab) 19. [`console.file-upload`](#console.file-upload) 20. [`console.flag`](#console.flag) 21. [`console.flag/model`](#console.flag/model) 22. [`console.global-config`](#console.global-config) 23. [`console.navigation/href`](#console.navigation/href) 24. [`console.navigation/resource-cluster`](#console.navigation/resource-cluster) 25. [`console.navigation/resource-ns`](#console.navigation/resource-ns) 26. [`console.navigation/section`](#console.navigation/section) 27. [`console.navigation/separator`](#console.navigation/separator) 28. [`console.page/resource/details`](#console.page/resource/details) 29. [`console.page/resource/list`](#console.page/resource/list) 30. [`console.page/resource/tab`](#console.page/resource/tab) 31. [`console.page/route`](#console.page/route) 32. [`console.page/route/standalone`](#console.page/route/standalone) 33. [`console.perspective`](#console.perspective) 34. [`console.pvc/alert`](#console.pvc/alert) 35. [`console.pvc/create-prop`](#console.pvc/create-prop) 36. [`console.pvc/delete`](#console.pvc/delete) 37. [`console.pvc/status`](#console.pvc/status) 38. [`console.redux-reducer`](#console.redux-reducer) 39. [`console.resource-metadata`](#console.resource-metadata) 40. [`console.resource/create`](#console.resource/create) 41. [`console.storage-provider`](#console.storage-provider) 42. [`console.tab/horizontalNav`](#console.tab/horizontalNav) 43. [`console.telemetry/listener`](#console.telemetry/listener) 44. [`console.topology/adapter/build`](#console.topology/adapter/build) 45. [`console.topology/adapter/network`](#console.topology/adapter/network) 46. [`console.topology/adapter/pod`](#console.topology/adapter/pod) 47. [`console.topology/component/factory`](#console.topology/component/factory) 48. [`console.topology/create/connector`](#console.topology/create/connector) 49. [`console.topology/data/factory`](#console.topology/data/factory) 50. [`console.topology/decorator/provider`](#console.topology/decorator/provider) 51. [`console.topology/details/resource-alert`](#console.topology/details/resource-alert) 52. [`console.topology/details/resource-link`](#console.topology/details/resource-link) 53. [`console.topology/details/tab`](#console.topology/details/tab) 54. [`console.topology/details/tab-section`](#console.topology/details/tab-section) 55. [`console.topology/display/filters`](#console.topology/display/filters) 56. [`console.topology/relationship/provider`](#console.topology/relationship/provider) 57. [`console.user-preference/group`](#console.user-preference/group) 58. [`console.user-preference/item`](#console.user-preference/item) 59. [`console.yaml-template`](#console.yaml-template) 60. [`dev-console.add/action`](#dev-console.add/action) 61. [`dev-console.add/action-group`](#dev-console.add/action-group) --- ## `console.action/filter` ### Summary ActionFilter can be used to filter an action ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `contextId` | `string` | no | The context ID helps to narrow the scope of contributed actions to a particular area of the application. Ex - topology, helm | | `filter` | `CodeRef<(scope: any, action: Action) => boolean>` | no | A function which will filter actions based on some conditions.<br/>scope: The scope in which actions should be provided for.<br/>Note: hook may be required if we want to remove the ModifyCount action from a deployment with HPA | --- ## `console.action/group` ### Summary ActionGroup contributes an action group that can also be a submenu ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | ID used to identify the action section. | | `label` | `string` | yes | The label to display in the UI.<br/>Required for submenus. | | `submenu` | `boolean` | yes | Whether this group should be displayed as submenu | | `insertBefore` | `string \| string[]` | yes | Insert this item before the item referenced here.<br/>For arrays, the first one found in order is used. | | `insertAfter` | `string \| string[]` | yes | Insert this item after the item referenced here.<br/>For arrays, the first one found in order is used.<br/>insertBefore takes precedence. | --- ## `console.action/provider` ### Summary ActionProvider contributes a hook that returns list of actions for specific context ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `contextId` | `string` | no | The context ID helps to narrow the scope of contributed actions to a particular area of the application. Ex - topology, helm | | `provider` | `CodeRef<ExtensionHook<Action[], any>>` | no | A react hook which returns actions for the given scope.<br/>If contextId = `resource` then the scope will always be a K8s resource object | --- ## `console.action/resource-provider` ### Summary ResourceActionProvider contributes a hook that returns list of actions for specific resource model ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `ExtensionK8sKindVersionModel` | no | The model for which this provider provides actions for. | | `provider` | `CodeRef<ExtensionHook<Action[], any>>` | no | A react hook which returns actions for the given resource model | --- ## `console.alert-action` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `alert` | `string` | no | | | `text` | `string` | no | | | `action` | `CodeRef<(alert: any) => void>` | no | | --- ## `console.catalog/item-filter` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `catalogId` | `string \| string[]` | no | The unique identifier for the catalog this provider contributes to. | | `type` | `string` | no | Type ID for the catalog item type. | | `filter` | `CodeRef<(item: CatalogItem) => boolean>` | no | Filters items of a specific type. Value is a function that takes CatalogItem[] and returns a subset based on the filter criteria. | --- ## `console.catalog/item-provider` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `catalogId` | `string \| string[]` | no | The unique identifier for the catalog this provider contributes to. | | `type` | `string` | no | Type ID for the catalog item type. | | `provider` | `CodeRef<ExtensionHook<CatalogItem<any>[], CatalogExtensionHookOptions>>` | no | Fetch items and normalize it for the catalog. Value is a react effect hook. | | `priority` | `number` | yes | Priority for this provider. Defaults to 0. Higher priority providers may override catalog<br/>items provided by other providers. | --- ## `console.catalog/item-type` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `type` | `string` | no | Type for the catalog item. | | `title` | `string` | no | Title for the catalog item. | | `catalogDescription` | `string` | yes | Description for the type specific catalog. | | `typeDescription` | `string` | yes | Description for the catalog item type. | | `filters` | `CatalogItemAttribute[]` | yes | Custom filters specific to the catalog item. | | `groupings` | `CatalogItemAttribute[]` | yes | Custom groupings specific to the catalog item. | --- ## `console.context-provider` ### Summary Adds new React context provider to Console application root. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `provider` | `CodeRef<Provider<T>>` | no | Context Provider component. | | `useValueHook` | `CodeRef<() => T>` | no | Hook for the Context value. | --- ## `console.dashboards/card` ### Summary Adds a new dashboard card. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `tab` | `string` | no | The id of the dashboard tab to which the card will be added. | | `position` | `'LEFT' \| 'RIGHT' \| 'MAIN'` | no | The grid position of the card on the dashboard. | | `component` | `CodeRef<React.ComponentType<{}>>` | no | Dashboard card component. | | `span` | `DashboardCardSpan` | yes | Card's vertical span in the column. Ignored for small screens, defaults to 12. | --- ## `console.dashboards/overview/activity/resource` ### Summary Adds an activity to the Activity Card of Overview Dashboard where the triggering of activity is based on watching a K8s resource. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `k8sResource` | `CodeRef<FirehoseResource & { isList: true; }>` | no | The utilization item to be replaced. | | `component` | `CodeRef<React.ComponentType<K8sActivityProps<T>>>` | no | The action component. | | `isActivity` | `CodeRef<(resource: T) => boolean>` | yes | Function which determines if the given resource represents the action. If not defined, every resource represents activity. | | `getTimestamp` | `CodeRef<(resource: T) => Date>` | yes | Timestamp for the given action, which will be used for ordering. | --- ## `console.dashboards/overview/health/operator` ### Summary Adds a health subsystem to the status card of Overview dashboard where the source of status is a K8s REST API. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `title` | `string` | no | Title of operators section in the popup. | | `resources` | `CodeRef<FirehoseResource[]>` | no | Kubernetes resources which will be fetched and passed to `healthHandler`. | | `getOperatorsWithStatuses` | `CodeRef<GetOperatorsWithStatuses<T>>` | yes | Resolves status for the operators. | | `operatorRowLoader` | `CodeRef<React.ComponentType<OperatorRowProps<T>>>` | yes | Loader for popup row component. | | `viewAllLink` | `string` | yes | Links to all resources page. If not provided then a list page of the first resource from resources prop is used. | --- ## `console.dashboards/overview/health/prometheus` ### Summary Adds a health subsystem to the status card of Overview dashboard where the source of status is Prometheus. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `title` | `string` | no | The display name of the subsystem. | | `queries` | `string[]` | no | The Prometheus queries | | `healthHandler` | `CodeRef<PrometheusHealthHandler>` | no | Resolve the subsystem's health. | | `additionalResource` | `CodeRef<FirehoseResource>` | yes | Additional resource which will be fetched and passed to `healthHandler`. | | `popupComponent` | `CodeRef<React.ComponentType<PrometheusHealthPopupProps>>` | yes | Loader for popup content. If defined, a health item will be represented as a link which opens popup with given content. | | `popupTitle` | `string` | yes | The title of the popover. | | `disallowedProviders` | `string[]` | yes | Cloud providers which for which the subsystem should be hidden. | --- ## `console.dashboards/overview/health/resource` ### Summary Adds a health subsystem to the status card of Overview dashboard where the source of status is a K8s Resource. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `title` | `string` | no | The display name of the subsystem. | | `resources` | `CodeRef<WatchK8sResources<T>>` | no | Kubernetes resources which will be fetched and passed to `healthHandler`. | | `healthHandler` | `CodeRef<ResourceHealthHandler<T>>` | no | Resolve the subsystem's health. | | `popupComponent` | `CodeRef<WatchK8sResults<T>>` | yes | Loader for popup content. If defined, a health item will be represented as a link which opens popup with given content. | | `popupTitle` | `string` | yes | The title of the popover. | --- ## `console.dashboards/overview/health/url` ### Summary Adds a health subsystem to the status card of Overview dashboard where the source of status is a K8s REST API. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `title` | `string` | no | The display name of the subsystem. | | `url` | `string` | no | The URL to fetch data from. It will be prefixed with base k8s URL. | | `healthHandler` | `CodeRef<URLHealthHandler<T, K8sResourceCommon \| K8sResourceCommon[]>>` | no | Resolve the subsystem's health. | | `additionalResource` | `CodeRef<FirehoseResource>` | yes | Additional resource which will be fetched and passed to `healthHandler`. | | `popupComponent` | `CodeRef<React.ComponentType<{ healthResult?: T; healthResultError?: any; k8sResult?: FirehoseResult<R>; }>>` | yes | Loader for popup content. If defined, a health item will be represented as a link which opens popup with given content. | | `popupTitle` | `string` | yes | The title of the popover. | --- ## `console.dashboards/overview/inventory/item` ### Summary Adds a resource tile to the overview inventory card. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `CodeRef<T>` | no | The model for `resource` which will be fetched. Used to get the model's `label` or `abbr`. | | `mapper` | `CodeRef<StatusGroupMapper<T, R>>` | yes | Function which maps various statuses to groups. | | `additionalResources` | `CodeRef<WatchK8sResources<R>>` | yes | Additional resources which will be fetched and passed to the `mapper` function. | --- ## `console.dashboards/overview/inventory/item/group` ### Summary Adds an inventory status group. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | The id of the status group. | | `icon` | `CodeRef<React.ReactElement<any, string \| React.JSXElementConstructor<any>>>` | no | React component representing the status group icon. | --- ## `console.dashboards/tab` ### Summary Adds a new dashboard tab, placed after the Overview tab. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | A unique tab identifier, used as tab link `href` and when adding cards to this tab. | | `navSection` | `'home' \| 'storage'` | no | NavSection to which the tab belongs to | | `title` | `string` | no | The title of the tab. | --- ## `console.file-upload` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `fileExtensions` | `string[]` | no | Supported file extensions. | | `handler` | `CodeRef<FileUploadHandler>` | no | Function which handles the file drop action. | --- ## `console.flag` ### Summary Gives full control over Console feature flags. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `handler` | `CodeRef<(callback: SetFeatureFlag) => void>` | no | Used to set/unset arbitrary feature flags. | --- ## `console.flag/model` ### Summary Adds new Console feature flag driven by the presence of a CRD on the cluster. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `flag` | `string` | no | The name of the flag to set once the CRD is detected. | | `model` | `ExtensionK8sModel` | no | The model which refers to a `CustomResourceDefinition`. | --- ## `console.global-config` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | Unique identifier for the cluster config resource instance. | | `name` | `string` | no | The name of the cluster config resource instance. | | `model` | `ExtensionK8sModel` | no | The model which refers to a cluster config resource. | | `namespace` | `string` | no | The namespace of the cluster config resource instance. | --- ## `console.navigation/href` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | A unique identifier for this item. | | `name` | `string` | no | The name of this item. | | `href` | `string` | no | The link href value. | | `perspective` | `string` | yes | The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. | | `section` | `string` | yes | Navigation section to which this item belongs to. If not specified, render this item as a top level link. | | `dataAttributes` | `{ [key: string]: string; }` | yes | Adds data attributes to the DOM. | | `startsWith` | `string[]` | yes | Mark this item as active when the URL starts with one of these paths. | | `insertBefore` | `string \| string[]` | yes | Insert this item before the item referenced here. For arrays, the first one found in order is used. | | `insertAfter` | `string \| string[]` | yes | Insert this item after the item referenced here. For arrays, the first one found in order is used. `insertBefore` takes precedence. | | `namespaced` | `boolean` | yes | if true, adds /ns/active-namespace to the end | | `prefixNamespaced` | `boolean` | yes | if true, adds /k8s/ns/active-namespace to the begining | --- ## `console.navigation/resource-cluster` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | A unique identifier for this item. | | `model` | `ExtensionK8sModel` | no | The model for which this nav item links to. | | `perspective` | `string` | yes | The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. | | `section` | `string` | yes | Navigation section to which this item belongs to. If not specified, render this item as a top level link. | | `dataAttributes` | `{ [key: string]: string; }` | yes | Adds data attributes to the DOM. | | `startsWith` | `string[]` | yes | Mark this item as active when the URL starts with one of these paths. | | `insertBefore` | `string \| string[]` | yes | Insert this item before the item referenced here. For arrays, the first one found in order is used. | | `insertAfter` | `string \| string[]` | yes | Insert this item after the item referenced here. For arrays, the first one found in order is used. `insertBefore` takes precedence. | | `name` | `string` | yes | Overrides the default name. If not supplied the name of the link will equal the plural value of the model. | --- ## `console.navigation/resource-ns` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | A unique identifier for this item. | | `model` | `ExtensionK8sModel` | no | The model for which this nav item links to. | | `perspective` | `string` | yes | The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. | | `section` | `string` | yes | Navigation section to which this item belongs to. If not specified, render this item as a top level link. | | `dataAttributes` | `{ [key: string]: string; }` | yes | Adds data attributes to the DOM. | | `startsWith` | `string[]` | yes | Mark this item as active when the URL starts with one of these paths. | | `insertBefore` | `string \| string[]` | yes | Insert this item before the item referenced here. For arrays, the first one found in order is used. | | `insertAfter` | `string \| string[]` | yes | Insert this item after the item referenced here. For arrays, the first one found in order is used. `insertBefore` takes precedence. | | `name` | `string` | yes | Overrides the default name. If not supplied the name of the link will equal the plural value of the model. | --- ## `console.navigation/section` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | A unique identifier for this item. | | `perspective` | `string` | yes | The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. | | `dataAttributes` | `{ [key: string]: string; }` | yes | Adds data attributes to the DOM. | | `insertBefore` | `string \| string[]` | yes | Insert this item before the item referenced here. For arrays, the first one found in order is used. | | `insertAfter` | `string \| string[]` | yes | Insert this item after the item referenced here. For arrays, the first one found in order is used. `insertBefore` takes precedence. | | `name` | `string` | yes | Name of this section. If not supplied, only a separator will be shown above the section. | --- ## `console.navigation/separator` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | A unique identifier for this item. | | `perspective` | `string` | yes | The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. | | `section` | `string` | yes | Navigation section to which this item belongs to. If not specified, render this item as a top level link. | | `dataAttributes` | `{ [key: string]: string; }` | yes | Adds data attributes to the DOM. | | `insertBefore` | `string \| string[]` | yes | Insert this item before the item referenced here. For arrays, the first one found in order is used. | | `insertAfter` | `string \| string[]` | yes | Insert this item after the item referenced here. For arrays, the first one found in order is used. `insertBefore` takes precedence. | --- ## `console.page/resource/details` ### Summary Adds new resource details page to Console router. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `ExtensionK8sGroupKindModel` | no | The model for which this resource page links to. | | `component` | `CodeRef<React.ComponentType<{ match: match<{}>; namespace: string; model: ExtensionK8sModel; }>>` | no | The component to be rendered when the route matches. | --- ## `console.page/resource/list` ### Summary Adds new resource list page to Console router. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `ExtensionK8sGroupKindModel` | no | The model for which this resource page links to. | | `component` | `CodeRef<React.ComponentType<{ match: match<{}>; namespace: string; model: ExtensionK8sModel; }>>` | no | The component to be rendered when the route matches. | --- ## `console.page/resource/tab` ### Summary Adds new resource tab page to Console router. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `ExtensionK8sGroupKindModel` | no | The model for which this resource page links to. | | `component` | `CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>` | no | The component to be rendered when the route matches. | | `name` | `string` | no | The name of the tab. | | `href` | `string` | yes | The optional href for the tab link. If not provided, the first `path` is used. | | `exact` | `boolean` | yes | When true, will only match if the path matches the `location.pathname` exactly. | --- ## `console.page/route` ### Summary Adds new page to Console router. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `component` | `CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>` | no | The component to be rendered when the route matches. | | `path` | `string \| string[]` | no | Valid URL path or array of paths that `path-to-regexp@^1.7.0` understands. | | `perspective` | `string` | yes | The perspective to which this page belongs to. If not specified, contributes to all perspectives. | | `exact` | `boolean` | yes | When true, will only match if the path matches the `location.pathname` exactly. | --- ## `console.page/route/standalone` ### Summary Adds new standalone page (rendered outside the common page layout) to Console router. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `component` | `CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>` | no | The component to be rendered when the route matches. | | `path` | `string \| string[]` | no | Valid URL path or array of paths that `path-to-regexp@^1.7.0` understands. | | `exact` | `boolean` | yes | When true, will only match if the path matches the `location.pathname` exactly. | --- ## `console.perspective` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | The perspective identifier. | | `name` | `string` | no | The perspective display name. | | `icon` | `CodeRef<LazyComponent>` | no | The perspective display icon. | | `landingPageURL` | `CodeRef<(flags: { [key: string]: boolean; }, isFirstVisit: boolean) => string>` | no | The function to get perspective landing page URL. | | `importRedirectURL` | `CodeRef<(namespace: string) => string>` | no | The function to get redirect URL for import flow. | | `default` | `boolean` | yes | Whether the perspective is the default. There can only be one default. | | `defaultPins` | `ExtensionK8sModel[]` | yes | Default pinned resources on the nav | | `usePerspectiveDetection` | `CodeRef<() => [boolean, boolean]>` | yes | The hook to detect default perspective | --- ## `console.pvc/alert` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `alert` | `CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>` | no | The alert component. | --- ## `console.pvc/create-prop` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `label` | `string` | no | Label for the create prop action. | | `path` | `string` | no | Path for the create prop action. | --- ## `console.pvc/delete` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `predicate` | `CodeRef<(pvc: K8sResourceCommon) => boolean>` | no | Predicate that tells whether to use the extension or not. | | `onPVCKill` | `CodeRef<(pvc: K8sResourceCommon) => Promise<void>>` | no | Method for the PVC delete operation. | | `alert` | `CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>` | no | Alert component to show additional information. | --- ## `console.pvc/status` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `priority` | `number` | no | Priority for the status component. Bigger value means higher priority. | | `status` | `CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>` | no | The status component. | | `predicate` | `CodeRef<(pvc: K8sResourceCommon) => boolean>` | no | Predicate that tells whether to render the status component or not. | --- ## `console.redux-reducer` ### Summary Adds new reducer to Console Redux store which operates on `plugins.<scope>` substate. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `scope` | `string` | no | The key to represent the reducer-managed substate within the Redux state object. | | `reducer` | `CodeRef<Reducer<any, AnyAction>>` | no | The reducer function, operating on the reducer-managed substate. | --- ## `console.resource-metadata` ### Summary Customize the display of models by overriding values retrieved and generated through API discovery. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `ExtensionK8sGroupModel` | no | The model to customize. May specify only a group, or optional version and kind. | | `badge` | `'tech' \| 'dev'` | yes | Whether to consider this model reference as tech preview or dev preview. | | `color` | `string` | yes | The color to associate to this model. | | `label` | `string` | yes | Override the label. Requires `kind` be provided. | | `labelPlural` | `string` | yes | Override the plural label. Requires `kind` be provided. | | `abbr` | `string` | yes | Customize the abbreviation. Defaults to All uppercase chars in the kind up to 4 characters long. Requires `kind` be provided. | --- ## `console.resource/create` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `ExtensionK8sModel` | no | The model for which this create resource page will be rendered. | | `component` | `CodeRef<React.ComponentType<CreateResourceComponentProps>>` | no | The component to be rendered when the model matches | --- ## `console.storage-provider` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `name` | `string` | no | | | `Component` | `CodeRef<React.ComponentType<Partial<RouteComponentProps<{}, StaticContext, any>>>>` | no | | --- ## `console.tab/horizontalNav` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `ExtensionK8sKindVersionModel` | no | The model for which this provider show tab. | | `page` | `{ name: string; href: string; }` | no | The page to be show in horizontal tab. It takes tab name as name and href of the tab | | `component` | `CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>>` | no | The component to be rendered when the route matches. | --- ## `console.telemetry/listener` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `listener` | `CodeRef<TelemetryEventListener>` | no | Listen for telemetry events | --- ## `console.topology/adapter/build` ### Summary BuildAdapter contributes an adapter to adapt element to data that can be used by Build component ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `adapt` | `CodeRef<(element: GraphElement) => AdapterDataType<BuildConfigData> \| undefined>` | no | | --- ## `console.topology/adapter/network` ### Summary NetworkAdpater contributes an adapter to adapt element to data that can be used by Networking component ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `adapt` | `CodeRef<(element: GraphElement) => NetworkAdapterType \| undefined>` | no | | --- ## `console.topology/adapter/pod` ### Summary PodAdapter contributes an adapter to adapt element to data that can be used by Pod component ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `adapt` | `CodeRef<(element: GraphElement) => AdapterDataType<PodsAdapterDataType> \| undefined>` | no | | --- ## `console.topology/component/factory` ### Summary Getter for a ViewComponentFactory ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `getFactory` | `CodeRef<ViewComponentFactory>` | no | Getter for a ViewComponentFactory | --- ## `console.topology/create/connector` ### Summary Getter for the create connector function ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `getCreateConnector` | `CodeRef<CreateConnectionGetter>` | no | Getter for the create connector function | --- ## `console.topology/data/factory` ### Summary Topology Data Model Factory Extension ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | Unique ID for the factory. | | `priority` | `number` | no | Priority for the factory | | `resources` | `WatchK8sResourcesGeneric` | yes | Resources to be fetched from useK8sWatchResources hook. | | `workloadKeys` | `string[]` | yes | Keys in resources containing workloads. | | `getDataModel` | `CodeRef<TopologyDataModelGetter>` | yes | Getter for the data model factory | | `isResourceDepicted` | `CodeRef<TopologyDataModelDepicted>` | yes | Getter for function to determine if a resource is depicted by this model factory | | `getDataModelReconciler` | `CodeRef<TopologyDataModelReconciler>` | yes | Getter for function to reconcile data model after all extensions' models have loaded | --- ## `console.topology/decorator/provider` ### Summary Topology Decorator Provider Extension ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | | | `priority` | `number` | no | | | `quadrant` | `TopologyDecoratorQuadrant` | no | | | `decorator` | `CodeRef<TopologyDecoratorGetter>` | no | | --- ## `console.topology/details/resource-alert` ### Summary DetailsResourceAlert contributes an alert for specific topology context or graph element. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | The ID of this alert. Used to save state if the alert shouldn't be shown after dismissed. | | `contentProvider` | `CodeRef<(element: GraphElement) => DetailsResourceAlertContent \| null>` | no | Hook to return the contents of the Alert. | --- ## `console.topology/details/resource-link` ### Summary DetailsResourceLink contributes a link for specific topology context or graph element. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `link` | `CodeRef<(element: GraphElement) => React.Component \| undefined>` | no | Return the resource link if provided, otherwise undefined.<br/>Use ResourceIcon and ResourceLink for styles. | | `priority` | `number` | yes | A higher priority factory will get the first chance to create the link. | --- ## `console.topology/details/tab` ### Summary DetailsTab contributes a tab for the topology details panel. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | A unique identifier for this details tab. | | `label` | `string` | no | The tab label to display in the UI. | | `insertBefore` | `string \| string[]` | yes | Insert this item before the item referenced here.<br/>For arrays, the first one found in order is used. | | `insertAfter` | `string \| string[]` | yes | Insert this item after the item referenced here.<br/>For arrays, the first one found in order is used.<br/>insertBefore takes precedence. | --- ## `console.topology/details/tab-section` ### Summary DetailsTabSection contributes a section for a specific tab in topology details panel. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | A unique identifier for this details tab section. | | `tab` | `string` | no | The parent tab ID that this section should contribute to. | | `section` | `CodeRef<(element: GraphElement, renderNull?: () => null) => React.Component \| undefined>` | no | Returns a section for the graph element or undefined if not provided.<br/>SDK component: <Section title={<optional>}>... padded area </Section> | | `insertBefore` | `string \| string[]` | yes | Insert this item before the item referenced here.<br/>For arrays, the first one found in order is used. | | `insertAfter` | `string \| string[]` | yes | Insert this item after the item referenced here.<br/>For arrays, the first one found in order is used.<br/>insertBefore takes precedence. | --- ## `console.topology/display/filters` ### Summary Topology Display Filters Extension ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `getTopologyFilters` | `CodeRef<() => TopologyDisplayOption[]>` | no | | | `applyDisplayOptions` | `CodeRef<TopologyApplyDisplayOptions>` | no | | --- ## `console.topology/relationship/provider` ### Summary Topology relationship provider connector extension ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `provides` | `CodeRef<RelationshipProviderProvides>` | no | | | `tooltip` | `string` | no | | | `create` | `CodeRef<RelationshipProviderCreate>` | no | | | `priority` | `number` | no | | --- ## `console.user-preference/group` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | ID used to identify the user preference group. | | `label` | `string` | no | The label of the user preference group | | `insertBefore` | `string` | yes | ID of user preference group before which this group should be placed | | `insertAfter` | `string` | yes | ID of user preference group after which this group should be placed | --- ## `console.user-preference/item` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | ID used to identify the user preference item and referenced in insertAfter and insertBefore to define the item order. | | `label` | `string` | no | The label of the user preference | | `description` | `string` | no | The description of the user preference. | | `field` | `UserPreferenceField` | no | The input field options used to render the values to set the user preference. | | `groupId` | `string` | yes | IDs used to identify the user preference groups the item would belong to. | | `insertBefore` | `string` | yes | ID of user preference item before which this item should be placed | | `insertAfter` | `string` | yes | ID of user preference item after which this item should be placed | --- ## `console.yaml-template` ### Summary YAML templates for editing resources via the yaml editor. ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `model` | `ExtensionK8sModel` | no | Model associated with the template. | | `template` | `CodeRef<string>` | no | The YAML template. | | `name` | `string` | no | The name of the template. Use the name `default` to mark this as the default template. | --- ## `dev-console.add/action` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | ID used to identify the action. | | `label` | `string` | no | The label of the action | | `description` | `string` | no | The description of the action. | | `href` | `string` | no | The href to navigate to. | | `groupId` | `string` | yes | IDs used to identify the action groups the action would belong to. | | `icon` | `CodeRef<React.ReactNode>` | yes | The perspective display icon. | | `accessReview` | `AccessReviewResourceAttributes[]` | yes | Optional access review to control visibility / enablement of the action. | --- ## `dev-console.add/action-group` ### Summary (not available) ### Properties | Name | Value Type | Optional | Description | | ---- | ---------- | -------- | ----------- | | `id` | `string` | no | ID used to identify the action group. | | `name` | `string` | no | The title of the action group | | `insertBefore` | `string` | yes | ID of action group before which this group should be placed | | `insertAfter` | `string` | yes | ID of action group after which this group should be placed |