ExtensionK8sModel
console.action/filterconsole.action/groupconsole.action/providerconsole.action/resource-providerconsole.alert-actionconsole.catalog/item-filterconsole.catalog/item-metadataconsole.catalog/item-providerconsole.catalog/item-typeconsole.catalog/item-type-metadataconsole.cluster-overview/inventory-itemconsole.cluster-overview/multiline-utilization-itemconsole.cluster-overview/utilization-itemconsole.context-providerconsole.create-project-modalconsole.dashboards/cardconsole.dashboards/custom/overview/detail/itemconsole.dashboards/overview/activity/resourceconsole.dashboards/overview/health/operatorconsole.dashboards/overview/health/prometheusconsole.dashboards/overview/health/resourceconsole.dashboards/overview/health/urlconsole.dashboards/overview/inventory/itemconsole.dashboards/overview/inventory/item/groupconsole.dashboards/overview/inventory/item/replacementconsole.dashboards/overview/prometheus/activity/resourceconsole.dashboards/project/overview/itemconsole.dashboards/tabconsole.file-uploadconsole.flagconsole.flag/hookProviderconsole.flag/modelconsole.global-configconsole.model-metadataconsole.navigation/hrefconsole.navigation/resource-clusterconsole.navigation/resource-nsconsole.navigation/sectionconsole.navigation/separatorconsole.page/resource/detailsconsole.page/resource/listconsole.page/routeconsole.page/route/standaloneconsole.perspectiveconsole.project-overview/inventory-itemconsole.project-overview/utilization-itemconsole.pvc/alertconsole.pvc/create-propconsole.pvc/deleteconsole.pvc/statusconsole.redux-reducerconsole.resource/createconsole.resource/details-itemconsole.storage-class/provisionerconsole.storage-providerconsole.tabconsole.tab/horizontalNavconsole.telemetry/listenerconsole.topology/adapter/buildconsole.topology/adapter/networkconsole.topology/adapter/podconsole.topology/component/factoryconsole.topology/create/connectorconsole.topology/data/factoryconsole.topology/decorator/providerconsole.topology/details/resource-alertconsole.topology/details/resource-linkconsole.topology/details/tabconsole.topology/details/tab-sectionconsole.topology/display/filtersconsole.topology/relationship/providerconsole.user-preference/groupconsole.user-preference/itemconsole.yaml-templatedev-console.add/actiondev-console.add/action-groupdev-console.import/environmentconsole.dashboards/overview/detail/itemconsole.page/resource/tabuseActivePerspectiveGreenCheckCircleIconRedExclamationCircleIconYellowExclamationTriangleIconBlueInfoCircleIconErrorStatusInfoStatusProgressStatusSuccessStatuscheckAccessuseAccessReviewuseResolvedExtensionsHorizontalNavTableDatauseActiveColumnsListPageHeaderListPageCreateListPageCreateLinkListPageCreateButtonListPageCreateDropdownResourceLinkResourceIconuseK8sModeluseK8sModelsuseK8sWatchResourceuseK8sWatchResourcesconsoleFetchconsoleFetchJSONconsoleFetchTextgetConsoleRequestHeadersk8sGetResourcek8sCreateResourcek8sUpdateResourcek8sPatchResourcek8sDeleteResourcek8sListResourcek8sListResourceItemsgetAPIVersionForModelgetGroupVersionKindForResourcegetGroupVersionKindForModelStatusPopupSectionStatusPopupItemOverviewOverviewGridInventoryItemInventoryItemTitleInventoryItemBodyInventoryItemStatusInventoryItemLoadinguseFlagCodeEditorResourceYAMLEditorResourceEventStreamusePrometheusPollTimestampuseOverlayActionServiceProviderNamespaceBarErrorBoundaryFallbackPageQueryBrowseruseAnnotationsModaluseDeleteModaluseLabelsModeluseActiveNamespaceuseUserSettingsuseQuickStartContextPerspectiveContextuseAccessReviewAlloweduseSafetyFirstVirtualizedTableListPageFilteruseListPageFilterYAMLEditoruseModalYou can add extensions that allow you to customize your plugin. Those extensions are then loaded to the console at run-time.
console.action/filterActionFilter can be used to filter an action.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The context ID helps to narrow the scope of
contributed actions to a particular area of the application. Examples include |
|
|
no |
A function that will filter actions based on some conditions.
|
console.action/groupActionGroup contributes an action group that can also be a submenu.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
ID used to identify the action section. |
|
|
yes |
The label to display in the UI. Required for submenus. |
|
|
yes |
Whether this group should be displayed as submenu. |
|
|
yes |
Insert this item before the item referenced here. For arrays, the first one found in order is used. |
|
|
yes |
Insert this item after the
item referenced here. For arrays, the first one found in order is
used. The |
console.action/providerActionProvider contributes a hook that returns list of actions for specific context.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The context ID helps to narrow the scope of
contributed actions to a particular area of the application. Examples include |
|
|
no |
A React hook
that returns actions for the given scope. If |
console.action/resource-providerResourceActionProvider contributes a hook that returns list of actions for specific resource model.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for which this provider provides actions for. |
|
|
no |
A react hook which returns actions for the given resource model |
console.alert-actionThis 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 |
|---|---|---|---|
|
|
no |
Alert name as defined by |
|
|
no |
|
|
|
no |
Function to perform side effect |
console.catalog/item-filterThis 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 |
|---|---|---|---|
|
|
no |
The unique identifier for the catalog this provider contributes to. |
|
|
no |
Type ID for the catalog item type. |
|
|
no |
Filters items
of a specific type. Value is a function that takes |
console.catalog/item-metadataThis extension can be used to contribute a provider that adds extra metadata to specific catalog items.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The unique identifier for the catalog this provider contributes to. |
|
|
no |
Type ID for the catalog item type. |
|
|
no |
A hook which returns a function that will be used to provide metadata to catalog items of a specific type. |
console.catalog/item-providerThis 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 |
|---|---|---|---|
|
|
no |
The unique identifier for the catalog this provider contributes to. |
|
|
no |
Type ID for the catalog item type. |
|
|
no |
Title for the catalog item provider |
|
|
no |
Fetch items and normalize it for the catalog. Value is a react effect hook. |
|
|
yes |
Priority for this provider. Defaults to |
console.catalog/item-typeThis 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 Developer Catalog.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Type for the catalog item. |
|
|
no |
Title for the catalog item. |
|
|
yes |
Description for the type specific catalog. |
|
|
yes |
Description for the catalog item type. |
|
|
yes |
Custom filters specific to the catalog item. |
|
|
yes |
Custom groupings specific to the catalog item. |
console.catalog/item-type-metadataThis 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 |
|---|---|---|---|
|
|
no |
Type for the catalog item. |
|
|
yes |
Custom filters specific to the catalog item. |
|
|
yes |
Custom groupings specific to the catalog item. |
console.cluster-overview/inventory-itemAdds a new inventory item into cluster overview page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The component to be rendered. |
console.cluster-overview/multiline-utilization-itemAdds a new cluster overview multi-line utilization item.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The title of the utilization item. |
|
|
no |
Prometheus utilization query. |
|
|
no |
Convert Prometheus data to human-readable form. |
|
|
yes |
Shows Top consumer popover instead of plain value. |
console.cluster-overview/utilization-itemAdds a new cluster overview utilization item.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The title of the utilization item. |
|
|
no |
Prometheus utilization query. |
|
|
no |
Convert Prometheus data to human-readable form. |
|
|
yes |
Prometheus total query. |
|
|
yes |
Prometheus request query. |
|
|
yes |
Prometheus limit query. |
|
|
yes |
Shows Top consumer popover instead of plain value. |
console.context-providerAdds a new React context provider to the web console application root.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Context Provider component. |
|
|
no |
Hook for the Context value. |
console.create-project-modalThis 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 |
|---|---|---|---|
|
|
no |
A component to render in place of the create project modal. |
console.dashboards/cardAdds a new dashboard card.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The ID of the dashboard tab to which the card will be added. |
|
|
no |
The grid position of the card on the dashboard. |
|
|
no |
Dashboard card component. |
|
|
yes |
Card’s vertical span in the column.
Ignored for small screens; defaults to |
console.dashboards/custom/overview/detail/itemAdds an item to the Details card of Overview Dashboard.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Details card title |
|
|
no |
The value, rendered by the OverviewDetailItem component |
|
|
yes |
Value for a className |
|
|
yes |
Function returning the loading state of the component |
|
|
yes |
Function returning errors to be displayed by the component |
console.dashboards/overview/activity/resourceAdds an activity to the Activity Card of Overview Dashboard where the triggering of activity is based on watching a Kubernetes resource.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The utilization item to be replaced. |
|
|
no |
The action component. |
|
|
yes |
Function which determines if the given resource represents the action. If not defined, every resource represents activity. |
|
|
yes |
Time stamp for the given action, which will be used for ordering. |
console.dashboards/overview/health/operatorAdds a health subsystem to the status card of the Overview dashboard, where the source of status is a Kubernetes REST API.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Title of Operators section in the pop-up menu. |
|
|
no |
Kubernetes resources
which will be fetched and passed to |
|
|
yes |
Resolves status for the Operators. |
|
|
yes |
Loader for pop-up row component. |
|
|
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/prometheusAdds a health subsystem to the status card of Overview dashboard where the source of status is Prometheus.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The display name of the subsystem. |
|
|
no |
The Prometheus queries. |
|
|
no |
Resolve the subsystem’s health. |
|
|
yes |
Additional
resource which will be fetched and passed to |
|
|
yes |
Loader for pop-up menu content. If defined, a health item is represented as a link, which opens a pop-up menu with the given content. |
|
|
yes |
The title of the popover. |
|
|
yes |
Control plane topology for which the subsystem should be hidden. |
console.dashboards/overview/health/resourceAdds a health subsystem to the status card of Overview dashboard where the source of status is a Kubernetes Resource.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The display name of the subsystem. |
|
|
no |
Kubernetes resources
that will be fetched and passed to |
|
|
no |
Resolve the subsystem’s health. |
|
|
yes |
Loader for pop-up menu content. If defined, a health item is represented as a link, which opens a pop-up menu with the given content. |
|
|
yes |
The title of the popover. |
console.dashboards/overview/health/urlAdds a health subsystem to the status card of Overview dashboard where the source of status is a Kubernetes REST API.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The display name of the subsystem. |
|
|
no |
The URL to fetch data from. It will be prefixed with base Kubernetes URL. |
|
|
no |
Resolve the subsystem’s health. |
|
|
yes |
Additional
resource which will be fetched and passed to |
|
|
yes |
Loader for popup content. If defined, a health item will be represented as a link which opens popup with given content. |
|
|
yes |
The title of the popover. |
console.dashboards/overview/inventory/itemAdds a resource tile to the overview inventory card.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for |
|
|
yes |
Function which maps various statuses to groups. |
|
|
yes |
Additional
resources which will be fetched and passed to the |
console.dashboards/overview/inventory/item/groupAdds an inventory status group.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The ID of the status group. |
|
|
no |
React component representing the status group icon. |
console.dashboards/overview/inventory/item/replacementReplaces an overview inventory card.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for |
|
|
yes |
Function which maps various statuses to groups. |
|
|
yes |
Additional
resources which will be fetched and passed to the |
console.dashboards/overview/prometheus/activity/resourceAdds an activity to the Activity Card of Prometheus Overview Dashboard where the triggering of activity is based on watching a Kubernetes resource.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Queries to watch. |
|
|
no |
The action component. |
|
|
yes |
Function which determines if the given resource represents the action. If not defined, every resource represents activity. |
console.dashboards/project/overview/itemAdds a resource tile to the project overview inventory card.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for |
|
|
yes |
Function which maps various statuses to groups. |
|
|
yes |
Additional
resources which will be fetched and passed to the |
console.dashboards/tabAdds a new dashboard tab, placed after the Overview tab.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
A unique tab identifier, used as tab link |
|
|
no |
Navigation section to which the tab belongs to. |
|
|
no |
The title of the tab. |
console.file-uploadThis extension can be used to provide a handler for the file drop action on specific file extensions.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Supported file extensions. |
|
|
no |
Function which handles the file drop action. |
console.flagGives full control over the web console feature flags.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Used to set or unset arbitrary feature flags. |
console.flag/hookProviderGives full control over the web console feature flags with hook handlers.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Used to set or unset arbitrary feature flags. |
console.flag/modelAdds a new web console feature flag driven by the presence of a CustomResourceDefinition (CRD) object on the cluster.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The name of the flag to set after the CRD is detected. |
|
|
no |
The model which refers to a CRD. |
console.global-configThis 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 |
|---|---|---|---|
|
|
no |
Unique identifier for the cluster config resource instance. |
|
|
no |
The name of the cluster config resource instance. |
|
|
no |
The model which refers to a cluster config resource. |
|
|
no |
The namespace of the cluster config resource instance. |
console.model-metadataCustomize the display of models by overriding values retrieved and generated through API discovery.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model to customize. May specify only a group, or optional version and kind. |
|
|
yes |
Whether to consider this model reference as Technology Preview or Developer Preview. |
|
|
yes |
The color to associate to this model. |
|
|
yes |
Override the label. Requires |
|
|
yes |
Override the plural label. Requires
|
|
|
yes |
Customize the abbreviation. Defaults to all
uppercase characters in |
console.navigation/hrefThis extension can be used to contribute a navigation item that points to a specific link in the UI.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
A unique identifier for this item. |
|
|
no |
The name of this item. |
|
|
no |
The link |
|
|
yes |
The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. |
|
|
yes |
Navigation section to which this item belongs to. If not specified, render this item as a top level link. |
|
|
yes |
Adds data attributes to the DOM. |
|
|
yes |
Mark this item as active when the URL starts with one of these paths. |
|
|
yes |
Insert this item before the item referenced here. For arrays, the first one found in order is used. |
|
|
yes |
Insert this item after the
item referenced here. For arrays, the first one found in order is used.
|
|
|
yes |
If |
|
|
yes |
If |
console.navigation/resource-clusterThis 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 |
|---|---|---|---|
|
|
no |
A unique identifier for this item. |
|
|
no |
The model for which this navigation item links to. |
|
|
yes |
The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. |
|
|
yes |
Navigation section to which this item belongs to. If not specified, render this item as a top-level link. |
|
|
yes |
Adds data attributes to the DOM. |
|
|
yes |
Mark this item as active when the URL starts with one of these paths. |
|
|
yes |
Insert this item before the item referenced here. For arrays, the first one found in order is used. |
|
|
yes |
Insert this item after the
item referenced here. For arrays, the first one found in order is used.
|
|
|
yes |
Overrides the default name. If not supplied the name of the link will equal the plural value of the model. |
console.navigation/resource-nsThis 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 |
|---|---|---|---|
|
|
no |
A unique identifier for this item. |
|
|
no |
The model for which this navigation item links to. |
|
|
yes |
The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. |
|
|
yes |
Navigation section to which this item belongs to. If not specified, render this item as a top-level link. |
|
|
yes |
Adds data attributes to the DOM. |
|
|
yes |
Mark this item as active when the URL starts with one of these paths. |
|
|
yes |
Insert this item before the item referenced here. For arrays, the first one found in order is used. |
|
|
yes |
Insert this item after the
item referenced here. For arrays, the first one found in order is used.
|
|
|
yes |
Overrides the default name. If not supplied the name of the link will equal the plural value of the model. |
console.navigation/sectionThis extension can be used to define a new section of navigation items in the navigation tab.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
A unique identifier for this item. |
|
|
yes |
The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. |
|
|
yes |
Adds data attributes to the DOM. |
|
|
yes |
Insert this item before the item referenced here. For arrays, the first one found in order is used. |
|
|
yes |
Insert this item after the
item referenced here. For arrays, the first one found in order is used.
|
|
|
yes |
Name of this section. If not supplied, only a separator will be shown above the section. |
console.navigation/separatorThis extension can be used to add a separator between navigation items in the navigation.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
A unique identifier for this item. |
|
|
yes |
The perspective ID to which this item belongs to. If not specified, contributes to the default perspective. |
|
|
yes |
Navigation section to which this item belongs to. If not specified, render this item as a top level link. |
|
|
yes |
Adds data attributes to the DOM. |
|
|
yes |
Insert this item before the item referenced here. For arrays, the first one found in order is used. |
|
|
yes |
Insert this item after the
item referenced here. For arrays, the first one found in order is used.
|
console.page/resource/details| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for which this resource page links to. |
|
|
no |
The component to be rendered when the route matches. |
console.page/resource/listAdds new resource list page to Console router.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for which this resource page links to. |
|
|
no |
The component to be rendered when the route matches. |
console.page/routeAdds a new page to the web console router. See React Router.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The component to be rendered when the route matches. |
|
|
no |
Valid URL path or array of paths that
|
|
|
yes |
The perspective to which this page belongs to. If not specified, contributes to all perspectives. |
|
|
yes |
When true, will only match if the path matches
the |
console.page/route/standaloneAdds a new standalone page, rendered outside the common page layout, to the web console router. See React Router.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The component to be rendered when the route matches. |
|
|
no |
Valid URL path or array of paths that
|
|
|
yes |
When true, will only match if the path matches
the |
console.perspectiveThis extension contributes a new perspective to the console, which enables customization of the navigation menu.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The perspective identifier. |
|
|
no |
The perspective display name. |
|
|
no |
The perspective display icon. |
|
|
no |
The function to get perspective landing page URL. |
|
|
no |
The function to get redirect URL for import flow. |
|
|
yes |
Whether the perspective is the default. There can only be one default. |
|
|
yes |
Default pinned resources on the nav |
|
|
yes |
The hook to detect default perspective |
console.project-overview/inventory-itemAdds a new inventory item into the Project Overview page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The component to be rendered. |
console.project-overview/utilization-itemAdds a new project overview utilization item.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The title of the utilization item. |
|
|
no |
Prometheus utilization query. |
|
|
no |
Convert Prometheus data to human-readable form. |
|
|
yes |
Prometheus total query. |
|
|
yes |
Prometheus request query. |
|
|
yes |
Prometheus limit query. |
|
|
yes |
Shows the top consumer popover instead of plain value. |
console.pvc/alertThis extension can be used to contribute custom alerts on the PVC details page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The alert component. |
console.pvc/create-propThis 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 |
|---|---|---|---|
|
|
no |
Label for the create prop action. |
|
|
no |
Path for the create prop action. |
console.pvc/deleteThis 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 |
|---|---|---|---|
|
|
no |
Predicate that tells whether to use the extension or not. |
|
|
no |
Method for the PVC delete operation. |
|
|
no |
Alert component to show additional information. |
console.pvc/status| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Priority for the status component. A larger value means higher priority. |
|
|
no |
The status component. |
|
|
no |
Predicate that tells whether to render the status component or not. |
console.redux-reducerAdds new reducer to Console Redux store which operates on plugins.<scope> substate.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The key to represent the reducer-managed substate within the Redux state object. |
|
|
no |
The reducer function, operating on the reducer-managed substate. |
console.resource/createThis extension allows plugins to provide a custom component (i.e., wizard or form) for specific resources, which will be rendered, when users try to create a new resource instance.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for which this create resource page will be rendered |
|
|
no |
The component to be rendered when the model matches |
console.resource/details-itemAdds a new details item to the default resource summary on the details page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The subject resource’s API group, version, and kind. |
|
|
no |
A unique identifier. |
|
|
no |
Determines if the item will appear in the 'left' or 'right' column of the resource summary on the details page. Default: 'right' |
|
|
no |
The details item title. |
|
|
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. |
|
|
yes |
An optional React component that will render the details item value. |
|
|
yes |
An optional sort weight, relative to all other details items in the same column. Represented by any valid JavaScriptNumber. Items in each column are sorted independently, lowest to highest. Items without sort weightsare sorted after items with sort weights. |
console.storage-class/provisionerAdds a new storage class provisioner as an option during storage class creation.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
yes |
Container Storage Interface provisioner type |
|
|
yes |
Other provisioner type |
console.storage-providerThis 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 |
|---|---|---|---|
|
|
no |
Displayed name of the provider. |
|
|
no |
Provider specific component to render. |
console.tabAdds a tab to a horizontal nav matching the contextId.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Context ID assigned to the horizontal nav in which the tab will be injected. Possible values: |
|
|
no |
The display label of the tab |
|
|
no |
The |
|
|
no |
Tab content component. |
console.tab/horizontalNavThis extension can be used to add a tab on the resource details page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for which this provider show tab. |
|
|
no |
The page to be show in horizontal tab. It takes tab name as name and href of the tab |
|
|
no |
The component to be rendered when the route matches. |
console.telemetry/listenerThis 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 |
|---|---|---|---|
|
|
no |
Listen for telemetry events |
console.topology/adapter/buildBuildAdapter contributes an adapter to adapt element to data that can be used by the Build component.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Adapter to adapt element to data that can be used by Build component. |
console.topology/adapter/networkNetworkAdapater contributes an adapter to adapt element to data that can be used by the Networking component.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Adapter to adapt element to data that can be used by Networking component. |
console.topology/adapter/podPodAdapter contributes an adapter to adapt element to data that can be used by the Pod component.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Adapter to adapt element to data that can be used by Pod component. |
console.topology/component/factoryGetter for a ViewComponentFactory.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Getter for a |
console.topology/create/connectorGetter for the create connector function.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Getter for the create connector function. |
console.topology/data/factoryTopology Data Model Factory Extension
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Unique ID for the factory. |
|
|
no |
Priority for the factory |
|
|
yes |
Resources to be fetched
from |
|
|
yes |
Keys in resources containing workloads. |
|
|
yes |
Getter for the data model factory. |
|
|
yes |
Getter for function to determine if a resource is depicted by this model factory. |
|
|
yes |
Getter for function to reconcile data model after all extensions' models have loaded. |
console.topology/decorator/providerTopology Decorator Provider Extension
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
ID for topology decorator specific to the extension |
|
|
no |
Priority for topology decorator specific to the extension |
|
|
no |
Quadrant for topology decorator specific to the extension |
|
|
no |
Decorator specific to the extension |
console.topology/details/resource-alertDetailsResourceAlert contributes an alert for specific topology context or graph element.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The ID of this alert. Used to save state if the alert should not be shown after dismissed. |
|
|
no |
Hook to return the contents of the alert. |
console.topology/details/resource-linkDetailsResourceLink contributes a link for specific topology context or graph element.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Return the resource link if provided, otherwise undefined. Use the |
|
|
yes |
A higher priority factory will get the first chance to create the link. |
console.topology/details/tabDetailsTab contributes a tab for the topology details panel.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
A unique identifier for this details tab. |
|
|
no |
The tab label to display in the UI. |
|
|
yes |
Insert this item before the item referenced here. For arrays, the first one found in order is used. |
|
|
yes |
Insert this item after the
item referenced here. For arrays, the first one found in order is
used. The |
console.topology/details/tab-sectionDetailsTabSection contributes a section for a specific tab in the topology details panel.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
A unique identifier for this details tab section. |
|
|
no |
The parent tab ID that this section should contribute to. |
|
|
no |
A hook that
returns a component, or if null or undefined, renders in the
topology sidebar. SDK component: |
|
|
no |
Deprecated: Fallback if no provider is defined. renderNull is a no-op already. |
|
|
yes |
Insert this item before the item referenced here. For arrays, the first one found in order is used. |
|
|
yes |
Insert this item after the
item referenced here. For arrays, the first one found in order is
used. The |
console.topology/display/filtersTopology Display Filters Extension
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Getter for topology filters specific to the extension |
|
|
no |
Function to apply filters to the model |
console.topology/relationship/providerTopology relationship provider connector extension
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Use to determine if a connection can be created between the source and target node |
|
|
no |
Tooltip to show when connector operation is hovering over the drop target, for example, "Create a Visual Connector" |
|
|
no |
Callback to execute when connector is drop over target node to create a connection |
|
|
no |
Priority for relationship, higher will be preferred in case of multiple |
console.user-preference/groupThis 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 |
|---|---|---|---|
|
|
no |
ID used to identify the user preference group. |
|
|
no |
The label of the user preference group |
|
|
yes |
ID of user preference group before which this group should be placed |
|
|
yes |
ID of user preference group after which this group should be placed |
console.user-preference/itemThis extension can be used to add an item to the user preferences group on the console user preferences page.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
ID used to identify the user preference item and referenced in insertAfter and insertBefore to define the item order |
|
|
no |
The label of the user preference |
|
|
no |
The description of the user preference |
|
|
no |
The input field options used to render the values to set the user preference |
|
|
yes |
IDs used to identify the user preference groups the item would belong to |
|
|
yes |
ID of user preference item before which this item should be placed |
|
|
yes |
ID of user preference item after which this item should be placed |
console.yaml-templateYAML templates for editing resources via the yaml editor.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
Model associated with the template. |
|
|
no |
The YAML template. |
|
|
no |
The name of the template. Use the name |
dev-console.add/actionThis 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 |
|---|---|---|---|
|
|
no |
ID used to identify the action. |
|
|
no |
The label of the action. |
|
|
no |
The description of the action. |
|
|
no |
The |
|
|
yes |
IDs used to identify the action groups the action would belong to. |
|
|
yes |
The perspective display icon. |
|
|
yes |
Optional access review to control the visibility or enablement of the action. |
dev-console.add/action-groupThis 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 |
|---|---|---|---|
|
|
no |
ID used to identify the action group |
|
|
no |
The title of the action group |
|
|
yes |
ID of action group before which this group should be placed |
|
|
yes |
ID of action group after which this group should be placed |
dev-console.import/environmentThis extension can be used to specify extra build environment variable fields under the builder image selector in the developer 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 |
|---|---|---|---|
|
|
no |
Name of the image stream to provide custom environment variables for |
|
|
no |
List of supported image stream tags |
|
|
no |
List of environment variables |
console.dashboards/overview/detail/itemDeprecated: use CustomOverviewDetailItem type instead.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The value, based
on the |
console.page/resource/tabDeprecated: Use console.tab/horizontalNav instead. Adds a new resource tab page to Console router.
| Name | Value Type | Optional | Description |
|---|---|---|---|
|
|
no |
The model for which this resource page links to. |
|
|
no |
The component to be rendered when the route matches. |
|
|
no |
The name of the tab. |
|
|
yes |
The optional |
|
|
yes |
When true, will only match if the path matches
the |
useActivePerspectiveHook that provides the currently active perspective and a callback for setting the active perspective. It returns a tuple containing the current active perspective and setter callback.
const Component: React.FC = (props) => {
const [activePerspective, setActivePerspective] = useActivePerspective();
return <select
value={activePerspective}
onChange={(e) => setActivePerspective(e.target.value)}
>
{
// ...perspective options
}
</select>
}
GreenCheckCircleIconComponent for displaying a green check mark circle icon.
<GreenCheckCircleIcon title="Healthy" />
| Parameter Name | Description |
|---|---|
|
(optional) additional class name for the component |
|
(optional) icon title |
|
(optional) icon size: ( |
RedExclamationCircleIconComponent for displaying a red exclamation mark circle icon.
<RedExclamationCircleIcon title="Failed" />
| Parameter Name | Description |
|---|---|
|
(optional) additional class name for the component |
|
(optional) icon title |
|
(optional) icon size: ( |
YellowExclamationTriangleIconComponent for displaying a yellow triangle exclamation icon.
<YellowExclamationTriangleIcon title="Warning" />
| Parameter Name | Description |
|---|---|
|
(optional) additional class name for the component |
|
(optional) icon title |
|
(optional) icon size: ( |
BlueInfoCircleIconComponent for displaying a blue info circle icon.
<BlueInfoCircleIcon title="Info" />
| Parameter Name | Description |
|---|---|
|
(optional) additional class name for the component |
|
(optional) icon title |
|
(optional) icon size: ('sm', 'md', 'lg', 'xl') |
ErrorStatusComponent for displaying an error status popover.
<ErrorStatus title={errorMsg} />
| Parameter Name | Description |
|---|---|
|
(optional) status text |
|
(optional) if true, only displays icon |
|
(optional) if true, tooltip is not displayed |
|
(optional) additional class name for the component |
|
(optional) title for popover |
InfoStatusComponent for displaying an information status popover.
<InfoStatus title={infoMsg} />
| Parameter Name | Description |
|---|---|
|
(optional) status text |
|
(optional) if true, only displays icon |
|
(optional) if true, tooltip is not displayed |
|
(optional) additional class name for the component |
|
(optional) title for popover |
ProgressStatusComponent for displaying a progressing status popover.
<ProgressStatus title={progressMsg} />
| Parameter Name | Description |
|---|---|
|
(optional) status text |
|
(optional) if true, only displays icon |
|
(optional) if true, tooltip is not displayed |
|
(optional) additional class name for the component |
|
(optional) title for popover |
SuccessStatusComponent for displaying a success status popover.
<SuccessStatus title={successMsg} />
| Parameter Name | Description |
|---|---|
|
(optional) status text |
|
(optional) if true, only displays icon |
|
(optional) if true, tooltip is not displayed |
|
(optional) additional class name for the component |
|
(optional) title for popover |
checkAccessProvides information about user access to a given resource. It returns an object with resource access information.
| Parameter Name | Description |
|---|---|
|
resource attributes for access review |
|
impersonation details |
useAccessReviewHook that provides information about user access to a given resource. It returns an array with isAllowed and loading values.
| Parameter Name | Description |
|---|---|
|
resource attributes for access review |
|
impersonation details |
useResolvedExtensionsReact hook for consuming Console extensions with resolved CodeRef properties. This hook accepts the same argument(s) as useExtensions hook and returns an adapted list of extension instances, resolving all code references within each extension’s properties.
Initially, the hook returns an empty array. After the resolution is complete, the React component is re-rendered with the hook returning an adapted list of extensions. When the list of matching extensions changes, the resolution is restarted. The hook continues to return the previous result until the resolution completes.
The hook’s result elements are guaranteed to be referentially stable across re-renders. It returns a tuple containing a list of adapted extension instances with resolved code references, a boolean flag indicating whether the resolution is complete, and a list of errors detected during the resolution.
const [navItemExtensions, navItemsResolved] = useResolvedExtensions<NavItem>(isNavItem);
// process adapted extensions and render your component
| Parameter Name | Description |
|---|---|
|
A list of callbacks that each accept a dynamic plugin extension as an argument and return a boolean flag indicating whether or not the extension meets desired type constraints |
HorizontalNavA component that creates a Navigation bar for a page. Routing is handled as part of the component. console.tab/horizontalNav can be used to add additional content to any horizontal navigation.
const HomePage: React.FC = (props) => {
const page = {
href: 'home',
name: 'Home',
component: () => <>Home</>
}
return <HorizontalNav match={props.match} pages={[page]} />
}
| Parameter Name | Description |
|---|---|
|
The resource associated with this Navigation, an object of K8sResourceCommon type |
|
An array of page objects |
|
match object provided by React Router |
TableDataComponent for displaying table data within a table row.
const PodRow: React.FC<RowProps<K8sResourceCommon>> = ({ obj, activeColumnIDs }) => {
return (
<>
<TableData id={columns[0].id} activeColumnIDs={activeColumnIDs}>
<ResourceLink kind="Pod" name={obj.metadata.name} namespace={obj.metadata.namespace} />
</TableData>
<TableData id={columns[1].id} activeColumnIDs={activeColumnIDs}>
<ResourceLink kind="Namespace" name={obj.metadata.namespace} />
</TableData>
</>
);
};
| Parameter Name | Description |
|---|---|
|
unique ID for table |
|
active columns |
|
(optional) option class name for styling |
useActiveColumnsA hook that provides a list of user-selected active TableColumns.
// See implementation for more details on TableColumn type
const [activeColumns, userSettingsLoaded] = useActiveColumns({
columns,
showNamespaceOverride: false,
columnManagementID,
});
return userSettingsAreLoaded ? <VirtualizedTable columns={activeColumns} {...otherProps} /> : null
| Parameter Name | Description |
|---|---|
|
Which are passed as a key-value map |
|
An array of all available TableColumns |
|
(optional) If true, a namespace column is included, regardless of column management selections |
|
(optional) A unique ID used to persist and retrieve column management selections to and from user settings. Usually a group/version/kind (GVK) string for a resource. |
A tuple containing the current user selected active columns (a subset of options.columns), and a boolean flag indicating whether user settings have been loaded.
ListPageHeaderComponent for generating a page header.
const exampleList: React.FC = () => {
return (
<>
<ListPageHeader title="Example List Page"/>
</>
);
};
| Parameter Name | Description |
|---|---|
|
heading title |
|
(optional) help section as react node |
|
(optional) badge icon as react node |
ListPageCreateComponent for adding a create button for a specific resource kind that automatically generates a link to the create YAML for this resource.
const exampleList: React.FC<MyProps> = () => {
return (
<>
<ListPageHeader title="Example Pod List Page"/>
<ListPageCreate groupVersionKind="Pod">Create Pod</ListPageCreate>
</ListPageHeader>
</>
);
};
| Parameter Name | Description |
|---|---|
|
the resource group/version/kind to represent |
ListPageCreateLinkComponent for creating a stylized link.
const exampleList: React.FC<MyProps> = () => {
return (
<>
<ListPageHeader title="Example Pod List Page"/>
<ListPageCreateLink to={'/link/to/my/page'}>Create Item</ListPageCreateLink>
</ListPageHeader>
</>
);
};
| Parameter Name | Description |
|---|---|
|
string location where link should direct |
|
(optional) object with namespace and kind used to determine access |
|
(optional) children for the component |
ListPageCreateButtonComponent for creating button.
const exampleList: React.FC<MyProps> = () => {
return (
<>
<ListPageHeader title="Example Pod List Page"/>
<ListPageCreateButton createAccessReview={access}>Create Pod</ListPageCreateButton>
</ListPageHeader>
</>
);
};
| Parameter Name | Description |
|---|---|
|
(optional) object with namespace and kind used to determine access |
|
(optional) Patternfly Button props |
ListPageCreateDropdownComponent for creating a dropdown wrapped with permissions check.
const exampleList: React.FC<MyProps> = () => {
const items = {
SAVE: 'Save',
DELETE: 'Delete',
}
return (
<>
<ListPageHeader title="Example Pod List Page"/>
<ListPageCreateDropdown createAccessReview={access} items={items}>Actions</ListPageCreateDropdown>
</ListPageHeader>
</>
);
};
| Parameter Name | Description |
|---|---|
|
key:ReactNode pairs of items to display in dropdown component |
|
callback function for click on dropdown items |
|
(optional) object with namespace and kind used to determine access |
|
(optional) children for the dropdown toggle |
ResourceLinkComponent that creates a link to a specific resource type with an icon badge.
<ResourceLink
kind="Pod"
name="testPod"
title={metadata.uid}
/>
| Parameter Name | Description |
|---|---|
|
(optional) the kind of resource i.e. Pod, Deployment, Namespace |
|
(optional) object with group, version, and kind |
|
(optional) class style for component |
|
(optional) display name for component, overwrites the resource name if set |
|
(optional) flag to create icon badge and name inline with children |
|
(optional) flag to create a Link object - defaults to true |
|
(optional) name of resource |
|
(optional) specific namespace for the kind resource to link to |
|
(optional) flag to hide the icon badge |
|
(optional) title for the link object (not displayed) |
|
(optional) identifier for testing |
|
(optional) callback function for when component is clicked |
|
(optional) flag to truncate the link if too long |
ResourceIconComponent that creates an icon badge for a specific resource type.
<ResourceIcon kind="Pod"/>
| Parameter Name | Description |
|---|---|
|
(optional) the kind of resource i.e. Pod, Deployment, Namespace |
|
(optional) object with group, version, and kind |
|
(optional) class style for component |
useK8sModelHook that retrieves the k8s model for provided K8sGroupVersionKind from redux. It returns an array with the first item as k8s model and second item as inFlight status.
const Component: React.FC = () => {
const [model, inFlight] = useK8sModel({ group: 'app'; version: 'v1'; kind: 'Deployment' });
return ...
}
| Parameter Name | Description |
|---|---|
|
group, version, kind of k8s resource K8sGroupVersionKind is preferred alternatively can pass reference for group, version, kind which is deprecated, i.e, group/version/kind (GVK) K8sResourceKindReference. |
useK8sModelsHook that retrieves all current k8s models from redux. It returns an array with the first item as the list of k8s model and second item as inFlight status.
const Component: React.FC = () => {
const [models, inFlight] = UseK8sModels();
return ...
}
useK8sWatchResourceHook that retrieves the k8s resource along with status for loaded and error. It returns an array with first item as resource(s), second item as loaded status and third item as error state if any.
const Component: React.FC = () => {
const watchRes = {
...
}
const [data, loaded, error] = useK8sWatchResource(watchRes)
return ...
}
| Parameter Name | Description |
|---|---|
|
options needed to watch for resource. |
useK8sWatchResourcesHook that retrieves the k8s resources along with their respective status for loaded and error. It returns a map where keys are as provided in initResouces and value has three properties data, loaded and error.
const Component: React.FC = () => {
const watchResources = {
'deployment': {...},
'pod': {...}
...
}
const {deployment, pod} = useK8sWatchResources(watchResources)
return ...
}
| Parameter Name | Description |
|---|---|
|
Resources must be watched as key-value pair, wherein key is unique to resource and value is options needed to watch for the respective resource. |
consoleFetchA custom wrapper around fetch that adds console specific headers and allows for retries and timeouts.It also validates the response status code and throws appropriate error or logs out the user if required. It returns a promise that resolves to the response.
| Parameter Name | Description |
|---|---|
|
The URL to fetch |
|
The options to pass to fetch |
|
The timeout in milliseconds |
consoleFetchJSONA custom wrapper around fetch that adds console specific headers and allows for retries and timeouts. It also validates the response status code and throws appropriate error or logs out the user if required. It returns the response as a JSON object. Uses consoleFetch internally. It returns a promise that resolves to the response as JSON object.
| Parameter Name | Description |
|---|---|
|
The URL to fetch |
|
The HTTP method to use. Defaults to GET |
|
The options to pass to fetch |
|
The timeout in milliseconds |
|
The name of the cluster to make the request to. Defaults to the active cluster the user has selected |
consoleFetchTextA custom wrapper around fetch that adds console specific headers and allows for retries and timeouts. It also validates the response status code and throws appropriate error or logs out the user if required. It returns the response as a text. Uses consoleFetch internally. It returns a promise that resolves to the response as text.
| Parameter Name | Description |
|---|---|
|
The URL to fetch |
|
The options to pass to fetch |
|
The timeout in milliseconds |
|
The name of the cluster to make the request to. Defaults to the active cluster the user has selected |
getConsoleRequestHeadersA function that creates impersonation and multicluster related headers for API requests using current redux state. It returns an object containing the appropriate impersonation and clustr requst headers, based on redux state.
| Parameter Name | Description |
|---|---|
|
Override the current active cluster with the provided targetCluster |
k8sGetResourceIt fetches a resource from the cluster, based on the provided options. If the name is provided it returns one resource else it returns all the resources matching the model. It returns a promise that resolves to the response as JSON object with a resource if the name is providedelse it returns all the resources matching the model. In case of failure, the promise gets rejected with HTTP error response.
| Parameter Name | Description |
|---|---|
|
Which are passed as key-value pairs in the map |
|
k8s model |
|
The name of the resource, if not provided then it looks for all the resources matching the model. |
|
The namespace to look into, should not be specified for cluster-scoped resources. |
|
Appends as subpath if provided |
|
The query parameters to be included in the URL. |
|
The fetch init object to use. This can have request headers, method, redirect, etc. See Interface RequestInit for more. |
k8sCreateResourceIt creates a resource in the cluster, based on the provided options. It returns a promise that resolves to the response of the resource created. In case of failure promise gets rejected with HTTP error response.
| Parameter Name | Description |
|---|---|
|
Which are passed as key-value pairs in the map |
|
k8s model |
|
Payload for the resource to be created |
|
Appends as subpath if provided |
|
The query parameters to be included in the URL. |
k8sUpdateResourceIt updates the entire resource in the cluster, based on providedoptions. When a client needs to replace an existing resource entirely, they can use k8sUpdate. Alternatively can use k8sPatch to perform the partial update. It returns a promise that resolves to the response of the resource updated. In case of failure promise gets rejected with HTTP error response.
| Parameter Name | Description |
|---|---|
|
Which are passed as key-value pair in the map |
|
k8s model |
|
Payload for the k8s resource to be updated |
|
Namespace to look into, it should not be specified for cluster-scoped resources. |
|
Resource name to be updated. |
|
Appends as subpath if provided |
|
The query parameters to be included in the URL. |
k8sPatchResourceIt patches any resource in the cluster, based on provided options. When a client needs to perform the partial update, they can use k8sPatch. Alternatively can use k8sUpdate to replace an existing resource entirely. See Data Tracker for more. It returns a promise that resolves to the response of the resource patched. In case of failure promise gets rejected with HTTP error response.
| Parameter Name | Description |
|---|---|
|
Which are passed as key-value pairs in the map. |
|
k8s model |
|
The resource to be patched. |
|
Only the data to be patched on existing resource with the operation, path, and value. |
|
Appends as subpath if provided. |
|
The query parameters to be included in the URL. |
k8sDeleteResourceIt deletes resources from the cluster, based on the provided model, resource. The garbage collection works based on Foreground|Background can be configured with propagationPolicy property in provided model or passed in json. It returns a promise that resolves to the response of kind Status. In case of failure promise gets rejected with HTTP error response.
kind: 'DeleteOptions', apiVersion: 'v1', propagationPolicy
| Parameter Name | Description |
|---|---|
|
Which are passed as key-value pair in the map. |
|
k8s model |
|
The resource to be deleted. |
|
Appends as subpath if provided |
|
The query parameters to be included in the URL. |
|
The fetch init object to use. This can have request headers, method, redirect, etc. See Interface RequestInit for more. |
|
Can control garbage collection of resources explicitly if provided or else it defaults to the model’s "propagationPolicy". |
k8sListResourceLists the resources as an array in the cluster, based on provided options. It returns a promise that resolves to the response.
| Parameter Name | Description |
|---|---|
|
Which are passed as key-value pairs in the map |
|
k8s model |
|
The query parameters to be included in the URL and can pass label selector’s as well with key "labelSelector". |
|
The fetch init object to use. This can have request headers, method, redirect, etc. See Interface RequestInit for more. |
k8sListResourceItemsSame interface as k8sListResource but returns the sub items. It returns the apiVersion for the model, i.e., group/version.
getAPIVersionForModelProvides apiVersion for a k8s model.
| Parameter Name | Description |
|---|---|
|
k8s model |
getGroupVersionKindForResourceProvides a group, version, and kind for a resource. It returns the group, version, kind for the provided resource. If the resource does not have an API group, group "core" is returned. If the resource has an invalid apiVersion, then it throws an Error.
| Parameter Name | Description |
|---|---|
|
k8s resource |
getGroupVersionKindForModelProvides a group, version, and kind for a k8s model. This returns the group, version, kind for the provided model. If the model does not have an apiGroup, group "core" is returned.
| Parameter Name | Description |
|---|---|
|
k8s model |
StatusPopupSectionComponent that shows the status in a popup window. Helpful component for building console.dashboards/overview/health/resource extensions.
<StatusPopupSection
firstColumn={
<>
<span>{title}</span>
<span className="text-secondary">
My Example Item
</span>
</>
}
secondColumn='Status'
>
| Parameter Name | Description |
|---|---|
|
values for first column of popup |
|
(optional) values for second column of popup |
|
(optional) children for the popup |
StatusPopupItemStatus element used in status popup; used in StatusPopupSection.
<StatusPopupSection
firstColumn='Example'
secondColumn='Status'
>
<StatusPopupItem icon={healthStateMapping[MCGMetrics.state]?.icon}>
Complete
</StatusPopupItem>
<StatusPopupItem icon={healthStateMapping[RGWMetrics.state]?.icon}>
Pending
</StatusPopupItem>
</StatusPopupSection>
| Parameter Name | Description |
|---|---|
|
(optional) text value to display |
|
(optional) icon to display |
|
child elements |
OverviewCreates a wrapper component for a dashboard.
<Overview>
<OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
</Overview>
| Parameter Name | Description |
|---|---|
|
(optional) style class for div |
|
(optional) elements of the dashboard |
OverviewGridCreates a grid of card elements for a dashboard; used within Overview.
<Overview>
<OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
</Overview>
| Parameter Name | Description |
|---|---|
|
cards for grid |
|
(optional) cards for left side of grid |
|
(optional) cards for right side of grid |
InventoryItemCreates an inventory card item.
return (
<InventoryItem>
<InventoryItemTitle>{title}</InventoryItemTitle>
<InventoryItemBody error={loadError}>
{loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
</InventoryItemBody>
</InventoryItem>
)
| Parameter Name | Description |
|---|---|
|
elements to render inside the item |
InventoryItemTitleCreates a title for an inventory card item; used within InventoryItem.
return (
<InventoryItem>
<InventoryItemTitle>{title}</InventoryItemTitle>
<InventoryItemBody error={loadError}>
{loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
</InventoryItemBody>
</InventoryItem>
)
| Parameter Name | Description |
|---|---|
|
elements to render inside the title |
InventoryItemBodyCreates the body of an inventory card; used within InventoryCard and can be used with InventoryTitle.
return (
<InventoryItem>
<InventoryItemTitle>{title}</InventoryItemTitle>
<InventoryItemBody error={loadError}>
{loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
</InventoryItemBody>
</InventoryItem>
)
| Parameter Name | Description |
|---|---|
|
elements to render inside the Inventory Card or title |
|
elements of the div |
InventoryItemStatusCreates a count and icon for an inventory card with optional link address; used within InventoryItemBody
return (
<InventoryItem>
<InventoryItemTitle>{title}</InventoryItemTitle>
<InventoryItemBody error={loadError}>
{loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
</InventoryItemBody>
</InventoryItem>
)
| Parameter Name | Description |
|---|---|
|
count for display |
|
icon for display |
|
(optional) link address |
InventoryItemLoadingCreates a skeleton container for when an inventory card is loading; used with InventoryItem and related components
if (loadError) {
title = <Link to={workerNodesLink}>{t('Worker Nodes')}</Link>;
} else if (!loaded) {
title = <><InventoryItemLoading /><Link to={workerNodesLink}>{t('Worker Nodes')}</Link></>;
}
return (
<InventoryItem>
<InventoryItemTitle>{title}</InventoryItemTitle>
</InventoryItem>
)
useFlagHook that returns the given feature flag from FLAGS redux state. It returns the boolean value of the requested feature flag or undefined.
| Parameter Name | Description |
|---|---|
|
The feature flag to return |
CodeEditorA basic lazy loaded Code editor with hover help and completion.
<React.Suspense fallback={<LoadingBox />}>
<CodeEditor
value={code}
language="yaml"
/>
</React.Suspense>
| Parameter Name | Description |
|---|---|
|
String representing the yaml code to render. |
|
String representing the language of the editor. |
|
Monaco editor options. For more details, please, visit Interface IStandAloneEditorConstructionOptions. |
|
Minimum editor height in valid CSS height values. |
|
Boolean to show shortcuts on top of the editor. |
|
Array of ReactNode rendered on the toolbar links section on top of the editor. |
|
Callback for on code change event. |
|
Callback called when the command CTRL / CMD + S is triggered. |
|
React reference to |
ResourceYAMLEditorA lazy loaded YAML editor for Kubernetes resources with hover help and completion. The component use the YAMLEditor and add on top of it more functionality like resource update handling, alerts, save, cancel and reload buttons, accessibility and more. Unless onSave callback is provided, the resource update is automatically handled. It should be wrapped in a React.Suspense component.
<React.Suspense fallback={<LoadingBox />}>
<ResourceYAMLEditor
initialResource={resource}
header="Create resource"
onSave={(content) => updateResource(content)}
/>
</React.Suspense>
| Parameter Name | Description |
|---|---|
|
YAML/Object representing a resource to be shown by the editor. This prop is used only during the initial render |
|
Add a header on top of the YAML editor |
|
Callback for the Save button. Passing it overrides the default update performed on the resource by the editor |
ResourceEventStreamA component to show events related to a particular resource.
const [resource, loaded, loadError] = useK8sWatchResource(clusterResource);
return <ResourceEventStream resource={resource} />
| Parameter Name | Description |
|---|---|
|
An object whose related events should be shown. |
usePrometheusPollSets up a poll to Prometheus for a single query. It returns a tuple containing the query response, a boolean flag indicating whether the response has completed, and any errors encountered during the request or post-processing of the request.
| Parameter Name | Description |
|---|---|
|
one of the PrometheusEndpoint (label, query, range, rules, targets) |
|
(optional) Prometheus query string. If empty or undefined, polling is not started. |
|
(optional) polling delay interval (ms) |
|
(optional) for QUERY_RANGE enpoint, end of the query range |
|
(optional) for QUERY_RANGE enpoint |
|
(optional) for QUERY_RANGE enpoint |
|
(optional) a search param to append |
|
(optional) a search param to append |
TimestampA component to render timestamp. The timestamps are synchronized between invidual instances of the Timestamp component. The provided timestamp is formatted according to user locale.
| Parameter Name | Description |
|---|---|
|
the timestamp to render. Format is expected to be ISO 8601 (used by Kubernetes), epoch timestamp, or an instance of a Date. |
|
render simple version of the component omitting icon and tooltip. |
|
formats the date ommiting the suffix. |
|
additional class name for the component. |
useOverlayThe useOverlay hook inserts a component directly to the DOM outside the web console’s page structure. This allows the component to be freely styled and positioning with CSS. For example, to float the overlay in the top right corner of the UI: style={{ position: 'absolute', right: '2rem', top: '2rem', zIndex: 999 }}. It is possible to add multiple overlays by calling useOverlay multiple times. A closeOverlay function is passed to the overlay component. Calling it removes the component from the DOM without affecting any other overlays that might have been added with useOverlay. Additional props can be passed to useOverlay and they will be passed through to the overlay component.
const OverlayComponent = ({ closeOverlay, heading }) => {
return (
<div style={{ position: 'absolute', right: '2rem', top: '2rem', zIndex: 999 }}>
<h2>{heading}</h2>
<Button onClick={closeOverlay}>Close</Button>
</div>
);
};
const ModalComponent = ({ body, closeOverlay, title }) => (
<Modal isOpen onClose={closeOverlay}>
<ModalHeader title={title} />
<ModalBody>{body}</ModalBody>
</Modal>
);
const AppPage: React.FC = () => {
const launchOverlay = useOverlay();
const onClickOverlay = () => {
launchOverlay(OverlayComponent, { heading: 'Test overlay' });
};
const onClickModal = () => {
launchOverlay(ModalComponent, { body: 'Test modal', title: 'Overlay modal' });
};
return (
<Button onClick={onClickOverlay}>Launch an Overlay</Button>
<Button onClick={onClickModal}>Launch a Modal</Button>
)
}
ActionServiceProviderComponent that allows to receive contributions from other plugins for the console.action/provider extension type.
const context: ActionContext = { 'a-context-id': { dataFromDynamicPlugin } };
...
<ActionServiceProvider context={context}>
{({ actions, options, loaded }) =>
loaded && (
<ActionMenu actions={actions} options={options} variant={ActionMenuVariant.DROPDOWN} />
)
}
</ActionServiceProvider>
| Parameter Name | Description |
|---|---|
|
Object with contextId and optional plugin data |
NamespaceBarA component that renders a horizontal toolbar with a namespace dropdown menu in the leftmost position. Additional components can be passed in as children and is rendered to the right of the namespace dropdown. This component is designed to be used at the top of the page. It should be used on pages where the user needs to be able to change the active namespace, such as on pages with k8s resources.
const logNamespaceChange = (namespace) => console.log(`New namespace: ${namespace}`);
...
<NamespaceBar onNamespaceChange={logNamespaceChange}>
<NamespaceBarApplicationSelector />
</NamespaceBar>
<Page>
...
| Parameter Name | Description |
|---|---|
|
(optional) A function that is executed when a namespace option is selected. It accepts the new namespace in the form of a string as its only argument. The active namespace is updated automatically when an option is selected, but additional logic can be applied via this function. When the namespace is changed, the namespace parameter in the URL is changed from the previous namespace to the newly selected namespace. |
|
(optional) A boolean flag that disables the namespace dropdown if set to true. This option only applies to the namespace dropdown and has no effect on child components. |
|
(optional) Additional elements to be rendered inside the toolbar to the right of the namespace dropdown. |
ErrorBoundaryFallbackPageCreates full page ErrorBoundaryFallbackPage component to display the "Oh no! Something went wrong." message along with the stack trace and other helpful debugging information. This is to be used inconjunction with an component.
//in ErrorBoundary component
return (
if (this.state.hasError) {
return <ErrorBoundaryFallbackPage errorMessage={errorString} componentStack={componentStackString}
stack={stackTraceString} title={errorString}/>;
}
return this.props.children;
)
| Parameter Name | Description |
|---|---|
|
text description of the error message |
|
component trace of the exception |
|
stack trace of the exception |
|
title to render as the header of the error boundary page |
QueryBrowserA component that renders a graph of the results from a Prometheus PromQL query along with controls for interacting with the graph.
<QueryBrowser
defaultTimespan={15 * 60 * 1000}
namespace={namespace}
pollInterval={30 * 1000}
queries={[
'process_resident_memory_bytes{job="console"}',
'sum(irate(container_network_receive_bytes_total[6h:5m])) by (pod)',
]}
/>
| Parameter Name | Description |
|---|---|
|
(optional) Base URL of an API endpoint that handles PromQL queries. If provided, this is used instead of the default API for fetching data. |
|
(optional) The default number of data samples plotted for each data series. If there are many data series, QueryBrowser might automatically pick a lower number of data samples than specified here. |
|
(optional) The default timespan for the graph in milliseconds - defaults to 1,800,000 (30 minutes). |
|
(optional) Disable (do not display) data series with these exact label / value pairs. |
|
(optional) Flag to disable the graph zoom controls. |
|
(optional) Optionally filter the returned data series to only those that match these label / value pairs. |
|
(optional) Set the end time for the displayed time range rather than showing data up to the current time. |
|
(optional) Function that returns a string to use as the title for a single data series. |
|
(optional) Component for rendering a link to another page (for example getting more information about this query). |
|
(optional) Flag to hide the graph controls for changing the graph timespan, and so on. |
|
(optional) Flag to display a stacked graph instead of a line graph. If showStackedControl is set, it is still possible for the user to switch to a line graph. |
|
(optional) If provided, data is only returned for this namespace (only series that have this namespace label). |
|
(optional) Callback called when the graph is zoomed. |
|
(optional) If set, determines how often the graph is updated to show the latest data (in milliseconds). |
|
Array of PromQL queries to run and display the results in the graph. |
|
(optional) Flag to enable displaying a legend below the graph. |
|
Flag to enable displaying a graph control for switching between stacked graph mode and line graph mode. |
|
(optional) The timespan that should be covered by the graph in milliseconds. |
|
(optional) Units to display on the Y-axis and in the tooltip. |
useAnnotationsModalA hook that provides a callback to launch a modal for editing Kubernetes resource annotations.
const PodAnnotationsButton = ({ pod }) => {
const { t } = useTranslation();
const launchAnnotationsModal = useAnnotationsModal<PodKind>(pod);
return <button onClick={launchAnnotationsModal}>{t('Edit Pod Annotations')}</button>
}
| Parameter Name | Description |
|---|---|
|
The resource to edit annotations for an object of K8sResourceCommon type. |
A function which launches a modal for editing a resource’s annotations.
useDeleteModalA hook that provides a callback to launch a modal for deleting a resource.
const DeletePodButton = ({ pod }) => {
const { t } = useTranslation();
const launchDeleteModal = useDeleteModal<PodKind>(pod);
return <button onClick={launchDeleteModal}>{t('Delete Pod')}</button>
}
| Parameter Name | Description |
|---|---|
|
The resource to delete. |
|
(optional) A location to redirect to after deleting the resource. |
|
(optional) A message to display in the modal. |
|
(optional) The text to display on the delete button. |
|
(optional) A function to delete all resources of the same kind. |
A function which launches a modal for deleting a resource.
useLabelsModelA hook that provides a callback to launch a modal for editing Kubernetes resource labels.
const PodLabelsButton = ({ pod }) => {
const { t } = useTranslation();
const launchLabelsModal = useLabelsModal<PodKind>(pod);
return <button onClick={launchLabelsModal}>{t('Edit Pod Labels')}</button>
}
| Parameter Name | Description |
|---|---|
|
The resource to edit labels for, an object of K8sResourceCommon type. |
A function which launches a modal for editing a resource’s labels.
useActiveNamespaceHook that provides the currently active namespace and a callback for setting the active namespace.
const Component: React.FC = (props) => {
const [activeNamespace, setActiveNamespace] = useActiveNamespace();
return <select
value={activeNamespace}
onChange={(e) => setActiveNamespace(e.target.value)}
>
{
// ...namespace options
}
</select>
}
A tuple containing the current active namespace and setter callback.
useUserSettingsHook that provides a user setting value and a callback for setting the user setting value.
const Component: React.FC = (props) => {
const [state, setState, loaded] = useUserSettings(
'devconsole.addPage.showDetails',
true,
true,
);
return loaded ? (
<WrappedComponent {...props} userSettingState={state} setUserSettingState={setState} />
) : null;
};
A tuple containing the user setting vauel, a setter callback, and a loaded boolean.
useQuickStartContextHook that provides the current quick start context values. This allows plugins to interoperate with console quick start functionality.
const OpenQuickStartButton = ({ quickStartId }) => {
const { setActiveQuickStart } = useQuickStartContext();
const onClick = React.useCallback(() => {
setActiveQuickStart(quickStartId);
}, [quickStartId]);
return <button onClick={onClick}>{t('Open Quick Start')}</button>
};
Quick start context values object.
PerspectiveContextDeprecated: Use the provided usePerspectiveContext instead. Creates the perspective context.
| Parameter Name | Description |
|---|---|
|
object with active perspective and setter |
useAccessReviewAllowedDeprecated: Use useAccessReview from @console/dynamic-plugin-sdk instead. Hook that provides allowed status about user access to a given resource. It returns the isAllowed boolean value.
| Parameter Name | Description |
|---|---|
|
resource attributes for access review |
|
impersonation details |
useSafetyFirstDeprecated: This hook is not related to console functionality. Hook that ensures a safe asynchronnous setting of React state in case a given component could be unmounted. It returns an array with a pair of state value and its set function.
| Parameter Name | Description |
|---|---|
|
initial state value |
VirtualizedTableDeprecated: Use PatternFly’s Data view instead. A component for making virtualized tables.
const MachineList: React.FC<MachineListProps> = (props) => {
return (
<VirtualizedTable<MachineKind>
{...props}
aria-label='Machines'
columns={getMachineColumns}
Row={getMachineTableRow}
/>
);
}
| Parameter Name | Description |
|---|---|
|
data for table |
|
flag indicating data is loaded |
|
error object if issue loading data |
|
column setup |
|
row setup |
|
original data without filter |
|
(optional) no data empty message component |
|
(optional) empty message component |
|
(optional) function to handle scroll |
|
(optional) label for table |
|
(optional) aria label |
|
sizing of how to break up grid for responsiveness |
|
(optional) function for handling select of table |
|
(optional) data specific to row |
ListPageFilterDeprecated: Use PatternFly’s Data view instead. Component that generates filter for list page.
// See implementation for more details on RowFilter and FilterValue types
const [staticData, filteredData, onFilterChange] = useListPageFilter(
data,
rowFilters,
staticFilters,
);
// ListPageFilter updates filter state based on user interaction and resulting filtered data can be rendered in an independent component.
return (
<>
<ListPageHeader .../>
<ListPagBody>
<ListPageFilter data={staticData} onFilterChange={onFilterChange} />
<List data={filteredData} />
</ListPageBody>
</>
)
| Parameter Name | Description |
|---|---|
|
An array of data points |
|
indicates that data has loaded |
|
callback function for when filter is updated |
|
(optional) An array of RowFilter elements that define the available filter options |
|
(optional) placeholder for name filter |
|
(optional) placeholder for label filter |
|
(optional) only shows the name filter instead of both name and label filter |
|
(optional) hides both name and label filter |
|
(optional) column layout object |
|
(optional) flag to hide the column management |
useListPageFilterDeprecated: Use PatternFly’s Data view instead. A hook that manages filter state for the ListPageFilter component. It returns a tuple containing the data filtered by all static filters, the data filtered by all static and row filters, and a callback that updates rowFilters.
// See implementation for more details on RowFilter and FilterValue types
const [staticData, filteredData, onFilterChange] = useListPageFilter(
data,
rowFilters,
staticFilters,
);
// ListPageFilter updates filter state based on user interaction and resulting filtered data can be rendered in an independent component.
return (
<>
<ListPageHeader .../>
<ListPagBody>
<ListPageFilter data={staticData} onFilterChange={onFilterChange} />
<List data={filteredData} />
</ListPageBody>
</>
)
| Parameter Name | Description |
|---|---|
|
An array of data points |
|
(optional) An array of RowFilter elements that define the available filter options |
|
(optional) An array of FilterValue elements that are statically applied to the data |
YAMLEditorDeprecated: Use CodeEditor instead. A basic lazy loaded YAML editor with hover help and completion.
<React.Suspense fallback={<LoadingBox />}>
<YAMLEditor
value={code}
/>
</React.Suspense>
| Parameter Name | Description |
|---|---|
|
String representing the yaml code to render. |
|
Monaco editor options. |
|
Minimum editor height in valid CSS height values. |
|
Boolean to show shortcuts on top of the editor. |
|
Array of ReactNode rendered on the toolbar links section on top of the editor. |
|
Callback for on code change event. |
|
Callback called when the command CTRL / CMD + S is triggered. |
|
React reference to |
Refer to this list of troubleshooting tips if you run into issues loading your plugin.
Verify that you have enabled your plugin in the console Operator configuration and your plugin name is the output by running the following command:
$ oc get console.operator.openshift.io cluster -o jsonpath='{.spec.plugins}'
Verify the enabled plugins on the status card of the Overview page. You must refresh your browser if the plugin was recently enabled.
Verify your plugin service is healthy by:
Verifying your plugin pod status is running and your containers are ready.
Verifying the service label selector matches the pod and the target port is correct.
Curl the plugin-manifest.json from the service in a terminal on the console pod or another pod on the cluster.
Verify your ConsolePlugin resource name (consolePlugin.name) matches the plugin name used in package.json.
Verify your service name, namespace, port, and path are declared correctly in the ConsolePlugin resource.
Verify your plugin service uses HTTPS and service serving certificates.
Verify any certificates or connection errors in the console pod logs.
Verify the feature flag your plugin relies on is not disabled.
Verify your plugin does not have any consolePlugin.dependencies in package.json that are not met.
This can include console version dependencies or dependencies on other plugins. Filter the JS console in your browser for your plugin’s name to see messages that are logged.
Verify there are no typos in the nav extension perspective or section IDs.
Your plugin may be loaded, but nav items missing if IDs are incorrect. Try navigating to a plugin page directly by editing the URL.
Verify there are no network policies that are blocking traffic from the console pod to your plugin service.
If necessary, adjust network policies to allow console pods in the openshift-console namespace to make requests to your service.
Verify the list of dynamic plugins to be loaded in your browser in the Console tab of the developer tools browser.
Evaluate window.SERVER_FLAGS.consolePlugins to see the dynamic plugin on the Console frontend.