- console.action/filter
- console.action/group
- console.action/provider
- console.action/resource-provider
- console.alert-action
- console.catalog/categories-provider
- console.catalog/item-filter
- console.catalog/item-metadata
- console.catalog/item-provider
- console.catalog/item-type
- console.catalog/item-type-metadata
- console.cluster-overview/inventory-item
- console.cluster-overview/multiline-utilization-item
- console.cluster-overview/utilization-item
- console.context-provider
- console.create-project-modal
- console.dashboards/card
- console.dashboards/custom/overview/detail/item
- console.dashboards/overview/activity/resource
- console.dashboards/overview/health/operator
- console.dashboards/overview/health/prometheus
- console.dashboards/overview/health/resource
- console.dashboards/overview/health/url
- console.dashboards/overview/inventory/item
- console.dashboards/overview/inventory/item/group
- console.dashboards/overview/inventory/item/replacement
- console.dashboards/overview/prometheus/activity/resource
- console.dashboards/project/overview/item
- console.dashboards/tab
- console.file-upload
- console.flag
- console.flag/hookProvider
- console.flag/model
- console.global-config
- console.model-metadata
- console.navigation/href
- console.navigation/resource-cluster
- console.navigation/resource-ns
- console.navigation/section
- console.navigation/separator
- console.page/resource/details
- console.page/resource/list
- console.page/route
- console.page/route/standalone
- console.perspective
- console.project-overview/inventory-item
- console.project-overview/utilization-item
- console.pvc/alert
- console.pvc/create-prop
- console.pvc/delete
- console.pvc/status
- console.redux-reducer
- console.resource/create
- console.resource/details-item
- console.storage-class/provisioner
- console.storage-provider
- console.tab
- console.tab/horizontalNav
- console.telemetry/listener
- console.topology/adapter/build
- console.topology/adapter/network
- console.topology/adapter/pod
- console.topology/component/factory
- console.topology/create/connector
- console.topology/data/factory
- console.topology/decorator/provider
- console.topology/details/resource-alert
- console.topology/details/resource-link
- console.topology/details/tab
- console.topology/details/tab-section
- console.topology/display/filters
- console.topology/relationship/provider
- console.user-preference/group
- console.user-preference/item
- console.yaml-template
- dev-console.add/action
- dev-console.add/action-group
- dev-console.import/environment
- [DEPRECATED] console.dashboards/overview/detail/item
- [DEPRECATED] console.page/resource/tab
ActionFilter can be used to filter an action
| 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. scope: The scope in which actions should be provided for. Note: hook may be required if we want to remove the ModifyCount action from a deployment with HPA |
ActionGroup contributes an action group that can also be a submenu
| 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. 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. 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. |
ActionProvider contributes a hook that returns list of actions for specific context
| 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[]>> |
no | A react hook which returns actions for the given scope. If contextId = resource then the scope will always be a K8s resource object |
ResourceActionProvider contributes a hook that returns list of actions for specific resource model
| Name | Value Type | Optional | Description |
|---|---|---|---|
model |
ExtensionK8sKindVersionModel |
no | The model for which this provider provides actions for. |
provider |
CodeRef<ExtensionHook<Action[]>> |
no | A react hook which returns actions for the given resource model |
This extension can be used to trigger a specific action when a specific Prometheus alert is observed by the Console based on its rule.name value.
| Name | Value Type | Optional | Description |
|---|---|---|---|
alert |
string |
no | Alert name as defined by alert.rule.name property |
text |
string |
no | Action text |
action |
CodeRef<(alert: Alert, launchModal: LaunchModal) => void> |
no | Function to perform side effect |
This extension allows plugins to contribute a set of categories for a specific catalog item type.
| Name | Value Type | Optional | Description |
|---|---|---|---|
provider |
CodeRef<ExtensionHook<CatalogCategory[]>> |
no | A hook that returns categories. |
catalogId |
string |
yes | The catalog ID the categories are for. If not specified, the categories will be available for all catalogs. |
type |
string |
yes | The catalog item type for these categories. If not specified, the categories will be available for all types. |
This extension can be used for plugins to contribute a handler that can filter specific catalog items.
For example, the plugin can contribute a filter that filters helm charts from specific provider.
| 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. |
This extension can be used to contribute a provider that adds extra metadata to specific catalog items.
| 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<CatalogItemMetadataProviderFunction, CatalogExtensionHookOptions>> |
no | A hook which returns a function that will be used to provide metadata to catalog items of a specific type. |
This extension allows plugins to contribute a provider for a catalog item type. For example, a Helm Plugin can add a provider
that fetches all the Helm Charts. This extension can also be used by other plugins to add more items to a specific catalog item type.
| 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. |
title |
string |
no | Title for the catalog item provider |
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 items provided by other providers. |
This extension allows plugins to contribute a new type of catalog item. For example, a Helm plugin can define
a new catalog item type as HelmCharts that it wants to contribute to the Software Catalog.
| Name | Value Type | Optional | Description |
|---|---|---|---|
type |
string |
no | Type for the catalog item. |
title |
string |
no | Title for the catalog item. |
catalogDescription |
string | CodeRef<ComponentType> |
yes | Description for the type specific catalog. |
typeDescription |
string |
yes | Description for the catalog item type. |
sortFilterGroups |
boolean |
yes | Determine if filter groups should be sorted alphabetically. Defaults to true. |
filters |
CatalogItemAttribute[] |
yes | Custom filters specific to the catalog item. |
groupings |
CatalogItemAttribute[] |
yes | Custom groupings specific to the catalog item. |
This extension allows plugins to contribute extra metadata like custom filters or groupings for any catalog item type.
For example, a plugin can attach a custom filter for HelmCharts that can filter based on chart provider.
| Name | Value Type | Optional | Description |
|---|---|---|---|
type |
string |
no | Type for the catalog item. |
filters |
CatalogItemAttribute[] |
yes | Custom filters specific to the catalog item. |
groupings |
CatalogItemAttribute[] |
yes | Custom groupings specific to the catalog item. |
Adds a new inventory item into cluster overview page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
component |
CodeRef<ComponentType> |
no | The component to be rendered. |
Adds a new cluster overview multiline utilization item.
| Name | Value Type | Optional | Description |
|---|---|---|---|
title |
string |
no | The title of the utilization item. |
getUtilizationQueries |
CodeRef<GetMultilineQueries> |
no | Prometheus utilization query. |
humanize |
CodeRef<Humanize> |
no | Convert prometheus data to human readable form. |
TopConsumerPopovers |
CodeRef<ComponentType<TopConsumerPopoverProps>[]> |
yes | Shows Top consumer popover instead of plain value |
Adds a new cluster overview utilization item.
| Name | Value Type | Optional | Description |
|---|---|---|---|
title |
string |
no | The title of the utilization item. |
getUtilizationQuery |
CodeRef<GetQuery> |
no | Prometheus utilization query. |
humanize |
CodeRef<Humanize> |
no | Convert prometheus data to human readable form. |
getTotalQuery |
CodeRef<GetQuery> |
yes | Prometheus total query. |
getRequestQuery |
CodeRef<GetQuery> |
yes | Prometheus request query. |
getLimitQuery |
CodeRef<GetQuery> |
yes | Prometheus limit query. |
TopConsumerPopover |
CodeRef<ComponentType<TopConsumerPopoverProps>> |
yes | Shows Top consumer popover instead of plain value |
Adds new React context provider to Console application root.
| Name | Value Type | Optional | Description |
|---|---|---|---|
provider |
CodeRef<Provider<T>> |
no | Context Provider component. |
useValueHook |
CodeRef<() => T> |
no | Hook for the Context value. |
This extension can be used to pass a component that will be rendered in place of the standard create project modal.
| Name | Value Type | Optional | Description |
|---|---|---|---|
component |
CodeRef<ModalComponent<CreateProjectModalProps>> |
no | A component to render in place of the create project modal |
Adds a new dashboard card.
| Name | Value Type | Optional | Description |
|---|---|---|---|
tab |
string |
no | The id of the dashboard tab to which the card will be added. |
position |
'MAIN' | 'LEFT' | 'RIGHT' |
no | The grid position of the card on the dashboard. |
component |
CodeRef<React.ComponentType<{}>> |
no | Dashboard card component. |
span |
OverviewCardSpan |
yes | Card's vertical span in the column. Ignored for small screens, defaults to 12. |
Adds an item to the Details card of Overview Dashboard
| Name | Value Type | Optional | Description |
|---|---|---|---|
title |
string |
no | Details card title |
component |
CodeRef<ComponentType> |
no | The value, rendered by the OverviewDetailItem component |
valueClassName |
string |
yes | Optional class name for the value |
isLoading |
CodeRef<() => boolean> |
yes | Function returning the loading state of the component |
error |
CodeRef<() => string> |
yes | Function returning errors to be displayed by the component |
Adds an activity to the Activity Card of Overview Dashboard where the triggering of activity is based on watching a K8s resource.
| 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. |
Adds a health subsystem to the status card of Overview dashboard where the source of status is a K8s REST API.
| 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. |
Adds a health subsystem to the status card of Overview dashboard where the source of status is Prometheus.
| 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. |
popupClassname |
string |
yes | Optional classname for the popup top-level component. |
popupKeepOnOutsideClick |
boolean |
yes | If true, the popup will stay open when clicked outside of its boundary. Default: false |
disallowedControlPlaneTopology |
string[] |
yes | Control plane topology for which the subsystem should be hidden. |
Adds a health subsystem to the status card of Overview dashboard where the source of status is a K8s Resource.
| 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<React.ComponentType<{ namespace?: string; } | 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. |
Adds a health subsystem to the status card of Overview dashboard where the source of status is a K8s REST API.
| 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>> |
no | Resolve the subsystem's health. |
fetch |
CodeRef<Fetch> |
yes | Custom function to fetch data from the URL. If none is specified, default one ( coFetchJson) will be used.Response is then parsed by healthHandler. |
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. |
Adds a resource tile to the overview inventory card.
| 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. |
Adds an inventory status group.
| 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. |
Replaces an overview inventory card.
| 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. |
Adds an activity to the Activity Card of Prometheus Overview Dashboard where the triggering of activity is based on watching a K8s resource.
| Name | Value Type | Optional | Description |
|---|---|---|---|
queries |
string[] |
no | Queries to watch |
component |
CodeRef<React.ComponentType<PrometheusActivityProps>> |
no | The action component. |
isActivity |
CodeRef<(results: PrometheusResponse[]) => boolean> |
yes | Function which determines if the given resource represents the action. If not defined, every resource represents activity. |
Adds a resource tile to the project overview inventory card.
| 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. |
Adds a new dashboard tab, placed after the Overview tab.
| 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. |
This extension can be used to provide a handler for the file drop action on specific file extensions.
| Name | Value Type | Optional | Description |
|---|---|---|---|
fileExtensions |
string[] |
no | Supported file extensions. |
handler |
CodeRef<FileUploadHandler> |
no | Function which handles the file drop action. Can optionally return a path to navigate to after processing the file. If a path is returned, the Console will navigate to that location using React Router. |
Gives full control over Console feature flags.
| Name | Value Type | Optional | Description |
|---|---|---|---|
handler |
CodeRef<FeatureFlagHandler> |
no | Used to set/unset arbitrary feature flags. |
Gives full control over Console feature flags with hook handlers.
| Name | Value Type | Optional | Description |
|---|---|---|---|
handler |
CodeRef<FeatureFlagHandler> |
no | Used to set/unset arbitrary feature flags. |
Adds new Console feature flag driven by the presence of a CRD on the cluster.
| 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. |
This extension identifies a resource used to manage the configuration of the cluster.
A link to the resource will be added to the Administration - Cluster Settings - Configuration page.
| 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. |
Customize the display of models by overriding values retrieved and generated through API discovery.
| Name | Value Type | Optional | Description |
|---|---|---|---|
model |
ExtensionK8sGroupModel |
no | The model to customize. May specify only a group, or optional version and kind. |
badge |
ModelBadge |
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. |
This extension can be used to contribute a navigation item that points to a specific link in the UI.
| 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 |
This extension can be used to contribute a navigation item that points to a cluster resource details page.
The K8s model of that resource can be used to define the navigation item.
| 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. |
This extension can be used to contribute a navigation item that points to a namespaced resource details page.
The K8s model of that resource can be used to define the navigation item.
| 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. |
This extension can be used to define a new section of navigation items in the navigation tab.
| Name | Value Type | Optional | Description |
|---|---|---|---|
id |
string |
no | A unique identifier for this item. |
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. |
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. |
name |
string |
yes | Name of this section. If not supplied, only a separator will be shown above the section. |
This extension can be used to add a separator between navigation items in the navigation.
| Name | Value Type | Optional | Description |
|---|---|---|---|
id |
string |
no | A unique identifier for this item. |
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. |
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. |
Adds a new resource details page to Console router.
| Name | Value Type | Optional | Description |
|---|---|---|---|
model |
ExtensionK8sGroupKindModel |
no | The model for which this resource page links to. |
component |
CodeRef<React.ComponentType<{ namespace: string; model: ExtensionK8sModel; }>> |
no | The component to be rendered when the route matches. |
Adds a new resource list page to Console router.
| Name | Value Type | Optional | Description |
|---|---|---|---|
model |
ExtensionK8sGroupKindModel |
no | The model for which this resource page links to. |
component |
CodeRef<React.ComponentType<{ namespace: string; model: ExtensionK8sModel; }>> |
no | The component to be rendered when the route matches. |
Adds a new page to the Console router.
Console application uses React Router v7.
Note that React Router v7 no longer supports passing a string array to the Route path prop.
Console retains this functionality by rendering multiple Route instances. To ensure the route
matches the correct paths, consider using exact: true and sorting your Route path values
from most specific to least specific.
Also note that React Router v7 no longer supports Route exact prop, i.e. paths are matched
as exact: true by default. Console retains the original behavior for backwards compatibility.
Use exact: true unless you want to match more of the URL.
Do not use this extension for resource list and details pages. To add a list or details page
for a resource, use the console.navigation/resource-ns extension instead.
| Name | Value Type | Optional | Description |
|---|---|---|---|
component |
CodeRef<React.ComponentType<{}>> |
no | The component to be rendered when the route matches. |
path |
string | string[] |
no | Valid URL path or array of paths. Note that React Router v7 does not use path-to-regexp. |
perspective |
string |
yes | The perspective to which this page belongs to. If not specified, applies to all perspectives. |
exact |
boolean |
yes | When true, the path must match the URL exactly. |
Adds a new standalone page rendered outside the common Console page layout.
Console application uses React Router v7.
| Name | Value Type | Optional | Description |
|---|---|---|---|
component |
CodeRef<React.ComponentType<{}>> |
no | The component to be rendered when the route matches. |
path |
string | string[] |
no | Valid URL path or array of paths. Note that React Router v7 does not use path-to-regexp. |
exact |
boolean |
yes | When true, the path must match the URL exactly. |
This extension contributes a new perspective to the console which enables customization of the navigation menu.
| 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 a relative 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 |
Adds a new inventory item into project overview page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
component |
CodeRef<ComponentType<{ projectName: string; }>> |
no | The component to be rendered. |
Adds a new project overview utilization item.
| Name | Value Type | Optional | Description |
|---|---|---|---|
title |
string |
no | The title of the utilization item. |
getUtilizationQuery |
CodeRef<GetProjectQuery> |
no | Prometheus utilization query. |
humanize |
CodeRef<Humanize> |
no | Convert prometheus data to human readable form. |
getTotalQuery |
CodeRef<GetProjectQuery> |
yes | Prometheus total query. |
getRequestQuery |
CodeRef<GetProjectQuery> |
yes | Prometheus request query. |
getLimitQuery |
CodeRef<GetProjectQuery> |
yes | Prometheus limit query. |
TopConsumerPopover |
CodeRef<ComponentType<TopConsumerPopoverProps>> |
yes | Shows Top consumer popover instead of plain value |
This extension can be used to contribute custom alerts on the PVC details page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
alert |
CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>> |
no | The alert component. |
This extension can be used to specify additional properties that will be used when creating PVC resources on the PVC list page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
label |
string |
no | Label for the create prop action. |
path |
string |
no | Path for the create prop action. |
This extension allows hooking into deleting PVC resources. It can provide an alert with additional information and custom PVC delete logic.
| 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. |
This extension can be used to contribute an additional status component for PVC resources on the cluster dashboard page.
| 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. |
Adds new reducer to Console Redux store which operates on plugins.<scope> substate.
| Name | Value Type | Optional | Description |
|---|---|---|---|
scope |
string |
no | The key to represent the reducer-managed substate within the Redux state object. |
reducer |
CodeRef<Reducer> |
no | The reducer function, operating on the reducer-managed substate. |
This extension allows plugins to provide a custom component (ie wizard or form) for specific resources,
which will be rendered, when users try to create a new resource instance.
| 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 |
Adds a new details item to the default resource summary on the details page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
model |
ExtensionK8sModel |
no | The subject resource's API group, version, and kind. |
id |
string |
no | A unique identifier. |
column |
DetailsItemColumn |
no | Determines if the item will appear in the 'left' or 'right' column of the resource summary on the details page. Default: 'right' |
title |
string |
no | The details item title. |
description |
string |
yes | An optional description that will appear in the title popover. |
path |
string |
yes | An optional, fully-qualified path to a resource property to used as the details item value. Only primitive type values can be rendered directly. Use the component property to handle other data types. |
component |
CodeRef<React.ComponentType<DetailsItemComponentProps<K8sResourceCommon, any>>> |
yes | An optional React component that will render the details item value. |
sortWeight |
number |
yes | An optional sort weight, relative to all other details items in the same column. Represented by any valid JavaScript Number. Items in each column are sorted independently, lowest to highest. Items without sort weights are sorted after items with sort weights. |
Adds a new storage class provisioner as an option during storage class creation.
| Name | Value Type | Optional | Description |
|---|---|---|---|
CSI |
ProvisionerDetails |
yes | Container Storage Interface provisioner type |
OTHERS |
ProvisionerDetails |
yes | Other provisioner type |
This extension can be used to contribute a new storage provider to select,
when attaching storage and a provider specific component.
| Name | Value Type | Optional | Description |
|---|---|---|---|
name |
string |
no | Displayed name of the provider. |
Component |
CodeRef<React.ComponentType<{}>> |
no | Provider specific component to render. |
Adds a tab to a horizontal nav matching the contextId.
| Name | Value Type | Optional | Description |
|---|---|---|---|
contextId |
string |
no | Context ID assigned to the horizontal nav in which the tab will be injected. Possible values: - dev-console-observe |
name |
string |
no | The display label of the tab |
href |
string |
no | The href appended to the existing URL |
component |
CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>> |
no | Tab content component. |
This extension can be used to add a tab on the resource details page.
| 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. Note: any special characters in href are encoded, and href is treated as a single path element. |
component |
CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>> |
no | The component to be rendered when the route matches. |
This component can be used to register a listener function receiving telemetry events.
These events include user identification, page navigation, and other application specific events.
The listener may use this data for reporting and analytics purposes.
| Name | Value Type | Optional | Description |
|---|---|---|---|
listener |
CodeRef<TelemetryEventListener> |
no | Listen for telemetry events |
BuildAdapter contributes an adapter to adapt element to data that can be used by Build component
| Name | Value Type | Optional | Description |
|---|---|---|---|
adapt |
CodeRef<(element: GraphElement) => AdapterDataType<BuildConfigData> | undefined> |
no | adapter to adapt element to data that can be used by Build component. |
NetworkAdpater contributes an adapter to adapt element to data that can be used by Networking component
| Name | Value Type | Optional | Description |
|---|---|---|---|
adapt |
CodeRef<(element: GraphElement) => NetworkAdapterType | undefined> |
no | adapter to adapt element to data that can be used by Networking component. |
PodAdapter contributes an adapter to adapt element to data that can be used by Pod component
| Name | Value Type | Optional | Description |
|---|---|---|---|
adapt |
CodeRef<(element: GraphElement) => AdapterDataType<PodsAdapterDataType> | undefined> |
no | adapter to adapt element to data that can be used by Pod component. |
Getter for a ViewComponentFactory
| Name | Value Type | Optional | Description |
|---|---|---|---|
getFactory |
CodeRef<ViewComponentFactory> |
no | Getter for a ViewComponentFactory |
Getter for the create connector function
| Name | Value Type | Optional | Description |
|---|---|---|---|
getCreateConnector |
CodeRef<CreateConnectionGetter> |
no | Getter for the create connector function |
Topology Data Model Factory Extension
| Name | Value Type | Optional | Description |
|---|---|---|---|
id |
string |
no | Unique ID for the factory. |
priority |
number |
no | Priority for the factory |
resources |
WatchK8sResourcesGeneric | CodeRef<() => Promise<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 |
Topology Decorator Provider Extension
| Name | Value Type | Optional | Description |
|---|---|---|---|
id |
string |
no | id for topology decorator specific to the extension |
priority |
number |
no | priority for topology decorator specific to the extension |
quadrant |
TopologyQuadrant |
no | quadrant for topology decorator specific to the extension |
decorator |
CodeRef<TopologyDecoratorGetter> |
no | decorator specific to the extension |
DetailsResourceAlert contributes an alert for specific topology context or graph element.
| 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. |
DetailsResourceLink contributes a link for specific topology context or graph element.
| Name | Value Type | Optional | Description |
|---|---|---|---|
link |
CodeRef<(element: GraphElement) => ReactNode> |
no | Return the resource link if provided, otherwise undefined. Use ResourceIcon and ResourceLink for styles. |
priority |
number |
yes | A higher priority factory will get the first chance to create the link. |
DetailsTab contributes a tab for the topology details panel.
| 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. 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. |
DetailsTabSection contributes a section for a specific tab in topology details panel.
| 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. |
provider |
CodeRef<DetailsTabSectionExtensionHook> |
no | A hook that returns a component or null/undefined that will be rendered in the topology sidebar. SDK component: <Section title={}>... padded area |
section |
CodeRef<(element: GraphElement, renderNull?: () => null) => ReactNode> |
no | @deprecated Fallback if no provider is defined. renderNull is a no-op already. |
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. |
Topology Display Filters Extension
| Name | Value Type | Optional | Description |
|---|---|---|---|
getTopologyFilters |
CodeRef<() => TopologyDisplayOption[]> |
no | Getter for topology filters specific to the extension |
applyDisplayOptions |
CodeRef<TopologyApplyDisplayOptions> |
no | Function to apply filters to the model |
Topology relationship provider connector extension
| Name | Value Type | Optional | Description |
|---|---|---|---|
provides |
CodeRef<RelationshipProviderProvides> |
no | use to determine if a connection can be created between the source and target node |
tooltip |
string |
no | tooltip to show when connector operation is hovering over the drop target ex: "Create a Visual Connector" |
create |
CodeRef<RelationshipProviderCreate> |
no | callback to execute when connector is drop over target node to create a connection |
priority |
number |
no | priority for relationship, higher will be preferred in case of multiple |
This extension can be used to add a group on the console user-preferences page.
It will appear as a vertical tab option on the console user-preferences page.
| 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. |
This extension can be used to add an item to the user preferences group on the console user preferences page.
| 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. |
groupId |
string |
no | IDs used to identify the user preference groups the item would belong to. |
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. |
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. |
YAML templates for editing resources via the yaml editor.
| 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. |
This extension allows plugins to contribute an add action item to the add page of developer perspective.
For example, a Serverless plugin can add a new action item for adding serverless functions
to the add page of developer console.
| 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. |
groupId |
string |
yes | IDs used to identify the action groups the action would belong to. |
href |
string |
yes | The href to navigate to. |
callback |
CodeRef<(props: Record<string, any>) => void> |
yes | A callback that performs an action on click |
icon |
CodeRef<ReactNode> |
yes | The perspective display icon. If possible, use a PatternFly icon for consistent icon colours and styling. |
accessReview |
AccessReviewResourceAttributes[] |
yes | Optional access review to control visibility / enablement of the action. |
This extension allows plugins to contibute a group in the add page of developer console.
Groups can be referenced by actions, which will be grouped together in the add action page based on their extension definition.
For example, a Serverless plugin can contribute a Serverless group and together with multiple add actions.
| 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 |
icon |
string | CodeRef<ReactNode> |
yes | The perspective display icon. |
This extension can be used to specify extra build environment variable fields under the builder image selector
in the dev console git import form. When set, the fields will override environment variables
of the same name in the build section.
| Name | Value Type | Optional | Description |
|---|---|---|---|
imageStreamName |
string |
no | Name of the image stream to provide custom environment variables for |
imageStreamTags |
string[] |
no | List of supported image stream tags |
environments |
ImageEnvironment[] |
no | List of environment variables |
@deprecated use CustomOverviewDetailItem type instead
| Name | Value Type | Optional | Description |
|---|---|---|---|
component |
CodeRef<ComponentType> |
no | The value, based on the DetailItem component |
@deprecated - Use console.tab/horizontalNav instead
| Name | Value Type | Optional | Description |
|---|---|---|---|
model |
ExtensionK8sGroupKindModel |
no | The model for which this resource page links to. |
component |
CodeRef<React.ComponentType<{}>> |
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, the path must match the URL exactly. |