×

您可以添加允许您自定义插件的扩展。然后,这些扩展会在运行时加载到控制台中。

动态插件扩展类型

console.action/filter

ActionFilter 可用于过滤操作。

名称 值类型 可选 描述

contextId

字符串

上下文ID有助于将贡献的操作范围缩小到应用程序的特定区域。示例包括topologyhelm

filter

CodeRef<(scope: any, action: Action) ⇒ boolean>

一个根据某些条件过滤操作的函数。

scope:应为此提供操作的范围。如果您想从具有水平Pod自动缩放器 (HPA) 的部署中移除ModifyCount操作,则可能需要一个钩子。

console.action/group

ActionGroup贡献一个操作组,该组也可以是子菜单。

名称 值类型 可选 描述

id

字符串

用于标识操作部分的ID。

label

字符串

在UI中显示的标签。子菜单需要此项。

submenu

布尔值

此组是否应显示为子菜单。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore值优先。

console.action/provider

ActionProvider贡献一个钩子,该钩子返回特定上下文中操作的列表。

名称 值类型 可选 描述

contextId

字符串

上下文ID有助于将贡献的操作范围缩小到应用程序的特定区域。示例包括topologyhelm

provider

CodeRef<ExtensionHook<Action[], any>>

一个返回给定范围操作的React钩子。如果contextId = resource,则范围始终为Kubernetes资源对象。

console.action/resource-provider

ResourceActionProvider贡献一个钩子,该钩子返回特定资源模型的操作列表。

名称 值类型 可选 描述

model

ExtensionK8sKindVersionModel

此提供程序为此提供操作的模型。

provider

CodeRef<ExtensionHook<Action[], any>>

一个返回给定资源模型操作的react钩子

console.alert-action

此扩展程序可用于在基于其rule.name值的控制台观察到特定Prometheus警报时触发特定操作。

名称 值类型 可选 描述

alert

字符串

alert.rule.name属性定义的警报名称

text

字符串

action

CodeRef<(alert: any) ⇒ void>

执行副作用的函数

console.catalog/item-filter

此扩展程序可用于插件来贡献一个处理程序,该处理程序可以过滤特定的目录项。例如,插件可以贡献一个过滤器,该过滤器可以过滤来自特定提供程序的helm图表。

名称 值类型 可选 描述

catalogId

字符串 | 字符串数组

此提供程序贡献到的目录的唯一标识符。

type

字符串

目录项类型的类型ID。

filter

CodeRef<(item: CatalogItem) ⇒ boolean>

过滤特定类型的项目。值是一个函数,它接受CatalogItem[]并根据过滤条件返回一个子集。

console.catalog/item-metadata

此扩展程序可用于贡献一个提供程序,该提供程序可为特定的目录项添加额外的元数据。

名称 值类型 可选 描述

catalogId

字符串 | 字符串数组

此提供程序贡献到的目录的唯一标识符。

type

字符串

目录项类型的类型ID。

provider

CodeRef<ExtensionHook<CatalogItemMetadataProviderFunction, CatalogExtensionHookOptions>>

一个钩子,它返回一个函数,该函数将用于为特定类型的目录项提供元数据。

console.catalog/item-provider

此扩展程序允许插件为目录项类型贡献提供程序。例如,Helm插件可以添加一个提供程序来获取所有Helm图表。此扩展程序也可以由其他插件用来向特定目录项类型添加更多项目。

名称 值类型 可选 描述

catalogId

字符串 | 字符串数组

此提供程序贡献到的目录的唯一标识符。

type

字符串

目录项类型的类型ID。

title

字符串

目录项提供程序的标题

provider

CodeRef<ExtensionHook<CatalogItem<any>[], CatalogExtensionHookOptions>>

获取项目并为目录规范化它。值是一个react效果钩子。

priority

数字

此提供程序的优先级。默认为0。较高优先级的提供程序可能会覆盖其他提供程序提供的目录项。

console.catalog/item-type

此扩展允许插件贡献一种新的目录项类型。例如,Helm 插件可以定义一种名为 HelmCharts 的新目录项类型,并将其贡献到开发者目录。

名称 值类型 可选 描述

type

字符串

目录项类型。

title

字符串

目录项标题。

catalogDescription

string | CodeRef<React.ReactNode>

特定类型目录的描述。

typeDescription

字符串

目录项类型的描述。

filters

CatalogItemAttribute[]

特定于目录项的自定义过滤器。

groupings

CatalogItemAttribute[]

特定于目录项的自定义分组。

console.catalog/item-type-metadata

此扩展允许插件贡献额外的元数据,例如任何目录项类型的自定义过滤器或分组。例如,插件可以为 HelmCharts 附加一个自定义过滤器,该过滤器可以根据图表提供商进行过滤。

名称 值类型 可选 描述

type

字符串

目录项类型。

filters

CatalogItemAttribute[]

特定于目录项的自定义过滤器。

groupings

CatalogItemAttribute[]

特定于目录项的自定义分组。

console.cluster-overview/inventory-item

在集群概览页面中添加新的库存项。

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<{}>>

要渲染的组件。

console.cluster-overview/multiline-utilization-item

添加一个新的集群概览多行利用率项。

名称 值类型 可选 描述

title

字符串

利用率项的标题。

getUtilizationQueries

CodeRef<GetMultilineQueries>

Prometheus 利用率查询。

humanize

CodeRef<Humanize>

将 Prometheus 数据转换为人类可读的形式。

TopConsumerPopovers

CodeRef<React.ComponentType<TopConsumerPopoverProps>[]>

显示主要消费者弹出窗口而不是普通值。

console.cluster-overview/utilization-item

添加一个新的集群概览利用率项。

名称 值类型 可选 描述

title

字符串

利用率项的标题。

getUtilizationQuery

CodeRef<GetQuery>

Prometheus 利用率查询。

humanize

CodeRef<Humanize>

将 Prometheus 数据转换为人类可读的形式。

getTotalQuery

CodeRef<GetQuery>

Prometheus 总计查询。

getRequestQuery

CodeRef<GetQuery>

Prometheus 请求查询。

getLimitQuery

CodeRef<GetQuery>

Prometheus 限制查询。

TopConsumerPopover

CodeRef<React.ComponentType<TopConsumerPopoverProps>>

显示主要消费者弹出窗口而不是普通值。

console.context-provider

向 Web 控制台应用程序根目录添加新的 React 上下文提供程序。

名称 值类型 可选 描述

provider

CodeRef<Provider<T>>

上下文提供程序组件。

useValueHook

CodeRef<() ⇒ T>

上下文值的钩子。

console.dashboards/card

添加一个新的仪表板卡片。

名称 值类型 可选 描述

tab

字符串

将添加卡片的仪表板选项卡的 ID。

position

'LEFT' | 'RIGHT' | 'MAIN'

仪表盘上卡片的网格位置。

component

CodeRef<React.ComponentType<{}>>

仪表板卡片组件。

span

OverviewCardSpan

卡片在列中的垂直跨度。小屏幕上忽略;默认为12

console.dashboards/custom/overview/detail/item

向概览仪表板的详细信息卡添加项目。

名称 值类型 可选 描述

title

字符串

详细信息卡标题

component

CodeRef<React.ComponentType<{}>>

值,由 OverviewDetailItem 组件渲染

valueClassName

字符串

className 的值

isLoading

CodeRef<() ⇒ boolean>

返回组件加载状态的函数

error

CodeRef<() ⇒ string>

返回组件要显示的错误的函数

console.dashboards/overview/activity/resource

向概览仪表板的活动卡添加活动,其中活动的触发基于监视 Kubernetes 资源。

名称 值类型 可选 描述

k8sResource

CodeRef<FirehoseResource & { isList: true; }>

要替换的利用率项。

component

CodeRef<React.ComponentType<K8sActivityProps<T>>>

操作组件。

isActivity

CodeRef<(resource: T) ⇒ boolean>

确定给定资源是否代表操作的函数。如果未定义,则每个资源都代表活动。

getTimestamp

CodeRef<(resource: T) ⇒ Date>

给定操作的时间戳,将用于排序。

console.dashboards/overview/health/operator

向**概览**仪表板的状态卡添加健康子系统,其中状态来源是 Kubernetes REST API。

名称 值类型 可选 描述

title

字符串

弹出菜单中“操作员”部分的标题。

resources

CodeRef<FirehoseResource[]>

将被获取并传递给healthHandler的 Kubernetes 资源。

getOperatorsWithStatuses

CodeRef<GetOperatorsWithStatuses<T>>

解析操作员的状态。

operatorRowLoader

CodeRef<React.ComponentType<OperatorRowProps<T>>>

弹出窗口行组件的加载程序。

viewAllLink

字符串

指向所有资源页面的链接。如果未提供,则使用 resources 属性中第一个资源的列表页面。

console.dashboards/overview/health/prometheus

向概览仪表板的状态卡添加健康子系统,其中状态来源是 Prometheus。

名称 值类型 可选 描述

title

字符串

子系统的显示名称。

queries

string[]

Prometheus 查询。

healthHandler

CodeRef<PrometheusHealthHandler>

解析子系统的健康状况。

additionalResource

CodeRef<FirehoseResource>

将被获取并传递给healthHandler的附加资源。

popupComponent

CodeRef<React.ComponentType<PrometheusHealthPopupProps>>

弹出菜单内容的加载程序。如果已定义,则健康项将表示为链接,该链接将打开包含给定内容的弹出菜单。

popupTitle

字符串

弹出窗口的标题。

disallowedControlPlaneTopology

string[]

应隐藏子系统的控制平面拓扑。

console.dashboards/overview/health/resource

向概览仪表板的状态卡添加健康子系统,其中状态来源是 Kubernetes 资源。

名称 值类型 可选 描述

title

字符串

子系统的显示名称。

resources

CodeRef<WatchK8sResources<T>>

将被获取并传递给healthHandler的 Kubernetes 资源。

healthHandler

CodeRef<ResourceHealthHandler<T>>

解析子系统的健康状况。

popupComponent

CodeRef<WatchK8sResults<T>>

弹出菜单内容的加载程序。如果已定义,则健康项将表示为链接,该链接将打开包含给定内容的弹出菜单。

popupTitle

字符串

弹出窗口的标题。

console.dashboards/overview/health/url

向概览仪表板的状态卡添加健康子系统,其中状态来源是 Kubernetes REST API。

名称 值类型 可选 描述

title

字符串

子系统的显示名称。

url

字符串

从中获取数据的 URL。它将以基本 Kubernetes URL 为前缀。

healthHandler

CodeRef<URLHealthHandler<T, K8sResourceCommon | K8sResourceCommon[]>>

解析子系统的健康状况。

additionalResource

CodeRef<FirehoseResource>

将被获取并传递给healthHandler的附加资源。

popupComponent

CodeRef<React.ComponentType<{ healthResult?: T; healthResultError?: any; k8sResult?: FirehoseResult<R>; }>>

弹出内容的加载程序。如果已定义,则健康项将表示为链接,该链接将打开包含给定内容的弹出窗口。

popupTitle

字符串

弹出窗口的标题。

console.dashboards/overview/inventory/item

向概览库存卡添加资源图块。

名称 值类型 可选 描述

model

CodeRef<T>

将被获取的resource的模型。用于获取模型的labelabbr

mapper

CodeRef<StatusGroupMapper<T, R>>

将各种状态映射到组的函数。

additionalResources

CodeRef<WatchK8sResources<R>>

将被获取并传递给mapper函数的附加资源。

console.dashboards/overview/inventory/item/group

添加库存状态组。

名称 值类型 可选 描述

id

字符串

状态组的 ID。

icon

CodeRef<React.ReactElement<any, string | React.JSXElementConstructor<any>>>

表示状态组图标的 React 组件。

console.dashboards/overview/inventory/item/replacement

替换概览库存卡。

名称 值类型 可选 描述

model

CodeRef<T>

将被获取的resource的模型。用于获取模型的labelabbr

mapper

CodeRef<StatusGroupMapper<T, R>>

将各种状态映射到组的函数。

additionalResources

CodeRef<WatchK8sResources<R>>

将被获取并传递给mapper函数的附加资源。

console.dashboards/overview/prometheus/activity/resource

向 Prometheus 概览仪表板的活动卡添加活动,其中活动的触发基于监视 Kubernetes 资源。

名称 值类型 可选 描述

queries

string[]

要监视的查询。

component

CodeRef<React.ComponentType<PrometheusActivityProps>>

操作组件。

isActivity

CodeRef<(results: PrometheusResponse[]) ⇒ boolean>

确定给定资源是否代表操作的函数。如果未定义,则每个资源都代表活动。

console.dashboards/project/overview/item

向项目概览库存卡添加资源图块。

名称 值类型 可选 描述

model

CodeRef<T>

将被获取的resource的模型。用于获取模型的labelabbr

mapper

CodeRef<StatusGroupMapper<T, R>>

将各种状态映射到组的函数。

additionalResources

CodeRef<WatchK8sResources<R>>

将被获取并传递给mapper函数的附加资源。

console.dashboards/tab

添加一个新的仪表盘选项卡,位于**概述**选项卡之后。

名称 值类型 可选 描述

id

字符串

唯一的选项卡标识符,用作选项卡链接href以及向此选项卡添加卡片时使用。

导航区段

'home' | 'storage'

选项卡所属的导航区段。

title

字符串

选项卡的标题。

console.file-upload

此扩展程序可用于为特定文件扩展名的文件拖放操作提供处理程序。

名称 值类型 可选 描述

fileExtensions

string[]

支持的文件扩展名。

handler

CodeRef<FileUploadHandler>

处理文件拖放操作的函数。

console.flag

完全控制 Web 控制台功能标志。

名称 值类型 可选 描述

handler

CodeRef<FeatureFlagHandler>

用于设置或取消设置任意功能标志。

console.flag/hookProvider

使用 Hook 处理程序完全控制 Web 控制台功能标志。

名称 值类型 可选 描述

handler

CodeRef<FeatureFlagHandler>

用于设置或取消设置任意功能标志。

console.flag/model

添加一个新的 Web 控制台功能标志,该标志由集群上CustomResourceDefinition (CRD) 对象的存在驱动。

名称 值类型 可选 描述

flag

字符串

检测到 CRD 后要设置的标志名称。

model

ExtensionK8sModel

引用 CRD 的模型。

console.global-config

此扩展程序标识用于管理集群配置的资源。指向该资源的链接将添加到**管理** → **集群设置** → **配置**页面。

名称 值类型 可选 描述

id

字符串

集群配置资源实例的唯一标识符。

name

字符串

集群配置资源实例的名称。

model

ExtensionK8sModel

引用集群配置资源的模型。

namespace

字符串

集群配置资源实例的命名空间。

console.model-metadata

通过覆盖通过 API 发现检索和生成的数值来自定义模型的显示。

名称 值类型 可选 描述

model

ExtensionK8sGroupModel

要自定义的模型。可以只指定组,也可以选择指定版本和种类。

badge

ModelBadge

是否将此模型引用视为技术预览版或开发者预览版。

color

字符串

与此模型关联的颜色。

label

字符串

覆盖标签。需要提供kind

labelPlural

字符串

覆盖复数标签。需要提供kind

abbr

字符串

自定义缩写。默认为kind中的所有大写字符,最多 4 个字符长。需要提供kind

console.navigation/href

此扩展程序可用于贡献一个指向 UI 中特定链接的导航项目。

名称 值类型 可选 描述

id

字符串

此项目的唯一标识符。

name

字符串

此项目的名称。

href

字符串

链接href值。

perspective

字符串

此项目所属的视角 ID。如果未指定,则贡献给默认视角。

section

字符串

此项目所属的导航区段。如果未指定,则将此项目呈现为顶级链接。

dataAttributes

{ [key: string]: string; }

向 DOM 添加数据属性。

startsWith

string[]

当 URL 以这些路径之一开头时,将此项目标记为活动状态。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore优先。

namespaced

布尔值

如果为true,则在末尾添加/ns/active-namespace

prefixNamespaced

布尔值

如果为true,则在开头添加/k8s/ns/active-namespace

console.navigation/resource-cluster

此扩展程序可用于贡献一个指向集群资源详细信息页面的导航项目。该资源的 K8s 模型可用于定义导航项目。

名称 值类型 可选 描述

id

字符串

此项目的唯一标识符。

model

ExtensionK8sModel

此导航项目链接到的模型。

perspective

字符串

此项目所属的视角 ID。如果未指定,则贡献给默认视角。

section

字符串

此项目所属的导航区段。如果未指定,则将此项目呈现为顶级链接。

dataAttributes

{ [key: string]: string; }

向 DOM 添加数据属性。

startsWith

string[]

当 URL 以这些路径之一开头时,将此项目标记为活动状态。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore优先。

name

字符串

覆盖默认名称。如果未提供,则链接名称将等于模型的复数形式。

console.navigation/resource-ns

此扩展程序可用于贡献一个指向命名空间资源详细信息页面的导航项目。该资源的 K8s 模型可用于定义导航项目。

名称 值类型 可选 描述

id

字符串

此项目的唯一标识符。

model

ExtensionK8sModel

此导航项目链接到的模型。

perspective

字符串

此项目所属的视角 ID。如果未指定,则贡献给默认视角。

section

字符串

此项目所属的导航区段。如果未指定,则将此项目呈现为顶级链接。

dataAttributes

{ [key: string]: string; }

向 DOM 添加数据属性。

startsWith

string[]

当 URL 以这些路径之一开头时,将此项目标记为活动状态。

insertBefore

string | string[]

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore优先。

name

字符串

覆盖默认名称。如果未提供,则链接名称将等于模型的复数形式。

console.navigation/section

此扩展程序可用于在导航选项卡中定义一个新的导航项目区段。

名称 值类型 可选 描述

id

字符串

此项目的唯一标识符。

perspective

字符串

此项目所属的视角 ID。如果未指定,则贡献给默认视角。

dataAttributes

{ [key: string]: string; }

向 DOM 添加数据属性。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore优先。

name

字符串

此区段的名称。如果未提供,则仅在该区段上方显示分隔符。

console.navigation/separator

此扩展程序可用于在导航中的导航项目之间添加分隔符。

名称 值类型 可选 描述

id

字符串

此项目的唯一标识符。

perspective

字符串

此项目所属的视角 ID。如果未指定,则贡献给默认视角。

section

字符串

此项目所属的导航区段。如果未指定,则将此项目呈现为顶级链接。

dataAttributes

{ [key: string]: string; }

向 DOM 添加数据属性。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore优先。

console.page/resource/details

名称 值类型 可选 描述

model

ExtensionK8sGroupKindModel

此资源页面链接到的模型。

component

CodeRef<React.ComponentType<{ match: match<{}>; namespace: string; model: ExtensionK8sModel; }>>

路由匹配时要渲染的组件。

console.page/resource/list

向控制台路由器添加新的资源列表页面。

名称 值类型 可选 描述

model

ExtensionK8sGroupKindModel

此资源页面链接到的模型。

component

CodeRef<React.ComponentType<{ match: match<{}>; namespace: string; model: ExtensionK8sModel; }>>

路由匹配时要渲染的组件。

console.page/route

向 Web 控制台路由器添加新页面。请参见React Router

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

路由匹配时要渲染的组件。

path

字符串 | 字符串数组

path-to-regexp@^1.7.0理解的有效 URL 路径或路径数组。

perspective

字符串

此页面所属的视角。如果未指定,则贡献给所有视角。

exact

布尔值

如果为 true,则仅当路径完全匹配location.pathname时才匹配。

console.page/route/standalone

向 Web 控制台路由器添加一个新的独立页面,该页面在通用页面布局之外呈现。请参见React Router

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

路由匹配时要渲染的组件。

path

字符串 | 字符串数组

path-to-regexp@^1.7.0理解的有效 URL 路径或路径数组。

exact

布尔值

如果为 true,则仅当路径完全匹配location.pathname时才匹配。

console.perspective

此扩展程序为控制台贡献一个新的视角,这使得可以自定义导航菜单。

名称 值类型 可选 描述

id

字符串

视角标识符。

name

字符串

视角显示名称。

icon

CodeRef<LazyComponent>

视角显示图标。

landingPageURL

CodeRef<(flags: { [key: string]: boolean; }, isFirstVisit: boolean) ⇒ string>

获取视角登录页面 URL 的函数。

importRedirectURL

CodeRef<(namespace: string) ⇒ string>

获取导入流程的重定向 URL 的函数。

default

布尔值

视角是否为默认视角。只能有一个默认视角。

defaultPins

ExtensionK8sModel[]

导航栏上默认固定的资源

usePerspectiveDetection

CodeRef<() ⇒ [boolean, boolean]>

检测默认视角的 Hook

console.project-overview/inventory-item

向**项目概述**页面添加新的库存项目。

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<{ projectName: string; }>>

要渲染的组件。

console.project-overview/utilization-item

添加新的项目概述利用率项目。

名称 值类型 可选 描述

title

字符串

利用率项的标题。

getUtilizationQuery

CodeRef<GetProjectQuery>

Prometheus 利用率查询。

humanize

CodeRef<Humanize>

将 Prometheus 数据转换为人类可读的形式。

getTotalQuery

CodeRef<GetProjectQuery>

Prometheus 总计查询。

getRequestQuery

CodeRef<GetProjectQuery>

Prometheus 请求查询。

getLimitQuery

CodeRef<GetProjectQuery>

Prometheus 限制查询。

TopConsumerPopover

CodeRef<React.ComponentType<TopConsumerPopoverProps>>

显示顶部使用者弹出窗口,而不是普通值。

console.pvc/alert

此扩展程序可用于在 PVC 详情页面贡献自定义警报。

名称 值类型 可选 描述

alert

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

警报组件。

console.pvc/create-prop

此扩展程序可用于指定在 PVC 列表页面创建 PVC 资源时将使用的附加属性。

名称 值类型 可选 描述

label

字符串

创建属性操作的标签。

path

字符串

创建属性操作的路径。

console.pvc/delete

此扩展允许挂钩删除 PVC 资源。它可以提供包含附加信息和自定义 PVC 删除逻辑的警报。

名称 值类型 可选 描述

谓词

CodeRef<(pvc: K8sResourceCommon) ⇒ boolean>

用于判断是否使用此扩展的谓词。

onPVCKill

CodeRef<(pvc: K8sResourceCommon) ⇒ Promise<void>>

PVC 删除操作的方法。

alert

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

显示附加信息的警报组件。

console.pvc/status

名称 值类型 可选 描述

priority

数字

状态组件的优先级。数值越大,优先级越高。

状态

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

状态组件。

谓词

CodeRef<(pvc: K8sResourceCommon) ⇒ boolean>

用于判断是否渲染状态组件的谓词。

console.redux-reducer

向控制台 Redux 存储添加新的 reducer,该 reducer 作用于plugins.<scope>子状态。

名称 值类型 可选 描述

作用域

字符串

在 Redux 状态对象中表示 reducer 管理的子状态的键。

reducer

CodeRef<Reducer<any, AnyAction>>

reducer 函数,作用于 reducer 管理的子状态。

console.resource/create

此扩展允许插件为特定资源提供自定义组件(例如,向导或表单),当用户尝试创建新的资源实例时,将渲染这些组件。

名称 值类型 可选 描述

model

ExtensionK8sModel

将为此渲染创建资源页面的模型。

component

CodeRef<React.ComponentType<CreateResourceComponentProps>>

模型匹配时要渲染的组件。

console.resource/details-item

向详细信息页面上的默认资源摘要添加新的详细信息项。

名称 值类型 可选 描述

model

ExtensionK8sModel

主题资源的 API 组、版本和种类。

id

字符串

唯一的标识符。

DetailsItemColumn

确定项目将出现在详细信息页面资源摘要的“左侧”还是“右侧”列中。默认值:“右侧”。

title

字符串

详细信息项标题。

path

字符串

可选的、完全限定的资源属性路径,用作详细信息项的值。只有基本类型值可以直接渲染。使用 component 属性处理其他数据类型。

component

CodeRef<React.ComponentType<DetailsItem ComponentProps<K8sResourceCommon, any>>>

可选的 React 组件,将渲染详细信息项的值。

排序权重

数字

可选的排序权重,相对于同一列中的所有其他详细信息项。由任何有效的JavaScript 数值表示。每列中的项目独立排序,从低到高。没有排序权重的项目在有排序权重的项目之后排序。

console.storage-class/provisioner

在创建存储类期间添加新的存储类供应程序作为选项。

名称 值类型 可选 描述

CSI

ProvisionerDetails

容器存储接口供应程序类型。

其他

ProvisionerDetails

其他供应程序类型。

console.storage-provider

此扩展可用于贡献一个新的存储提供程序进行选择,用于附加存储和提供程序特定组件。

名称 值类型 可选 描述

name

字符串

提供程序的显示名称。

组件

CodeRef<React.ComponentType<Partial<RouteComponentProps<{}, StaticContext, any>>>>

要渲染的提供程序特定组件。

console.tab

向与contextId匹配的水平导航栏添加选项卡。

名称 值类型 可选 描述

contextId

字符串

分配给将注入选项卡的水平导航栏的上下文 ID。可能的值:dev-console-observe

name

字符串

选项卡的显示标签。

href

字符串

附加到现有 URL 的href

component

CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>>

选项卡内容组件。

console.tab/horizontalNav

此扩展可用于在资源详细信息页面上添加选项卡。

名称 值类型 可选 描述

model

ExtensionK8sKindVersionModel

此提供程序显示选项卡的模型。

页面

{ name: string; href: string; }

要在水平选项卡中显示的页面。它以名称作为选项卡名称,并以 href 作为选项卡的 href。

component

CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>>

路由匹配时要渲染的组件。

console.telemetry/listener

此组件可用于注册侦听器函数,该函数接收遥测事件。这些事件包括用户标识、页面导航和其他特定于应用程序的事件。侦听器可以使用此数据进行报告和分析。

名称 值类型 可选 描述

侦听器

CodeRef<TelemetryEventListener>

侦听遥测事件。

console.topology/adapter/build

BuildAdapter 提供一个适配器,用于将元素适配到构建组件可以使用的数据。

名称 值类型 可选 描述

适配

CodeRef<(element: GraphElement) ⇒ AdapterDataType<BuildConfigData> | undefined>

用于将元素适配到构建组件可以使用的数据的适配器。

console.topology/adapter/network

NetworkAdapater 提供一个适配器,用于将元素适配到Networking组件可以使用的数据。

名称 值类型 可选 描述

适配

CodeRef<(element: GraphElement) ⇒ NetworkAdapterType | undefined>

用于将元素适配到网络组件可以使用的数据的适配器。

console.topology/adapter/pod

PodAdapter 提供一个适配器,用于将元素适配到Pod组件可以使用的数据。

名称 值类型 可选 描述

适配

CodeRef<(element: GraphElement) ⇒ AdapterDataType<PodsAdapterDataType> | undefined>

用于将元素适配到 Pod 组件可以使用的数据的适配器。

console.topology/component/factory

ViewComponentFactory 的 Getter。

名称 值类型 可选 描述

getFactory

CodeRef<ViewComponentFactory>

ViewComponentFactory 的 Getter。

console.topology/create/connector

创建连接器函数的 Getter。

名称 值类型 可选 描述

getCreateConnector

CodeRef<CreateConnectionGetter>

创建连接器函数的 Getter。

console.topology/data/factory

拓扑数据模型工厂扩展。

名称 值类型 可选 描述

id

字符串

工厂的唯一 ID。

priority

数字

工厂的优先级。

resources

WatchK8sResourcesGeneric

要从useK8sWatchResources hook 获取的资源。

workloadKeys

string[]

资源中包含工作负载的键。

getDataModel

CodeRef<TopologyDataModelGetter>

数据模型工厂的 Getter。

isResourceDepicted

CodeRef<TopologyDataModelDepicted>

用于确定此模型工厂是否描绘资源的函数的 Getter。

getDataModelReconciler

CodeRef<TopologyDataModelReconciler>

用于在所有扩展的模型加载后协调数据模型的函数的 Getter。

console.topology/decorator/provider

拓扑装饰器提供程序扩展。

名称 值类型 可选 描述

id

字符串

特定于扩展的拓扑装饰器的 ID。

priority

数字

特定于扩展的拓扑装饰器的优先级。

象限

TopologyQuadrant

特定于扩展的拓扑装饰器的象限。

装饰器

CodeRef<TopologyDecoratorGetter>

特定于扩展的装饰器。

console.topology/details/resource-alert

DetailsResourceAlert 为特定拓扑上下文或图形元素提供警报。

名称 值类型 可选 描述

id

字符串

此警报的 ID。如果警报在关闭后不应显示,则用于保存状态。

contentProvider

CodeRef<(element: GraphElement) ⇒ DetailsResourceAlertContent | null>

用于返回警报内容的 Hook。

DetailsResourceLink 为特定拓扑上下文或图形元素提供链接。

名称 值类型 可选 描述

链接

CodeRef<(element: GraphElement) ⇒ React.Component | undefined>

如果提供,则返回资源链接,否则返回 undefined。使用ResourceIconResourceLink属性进行样式设置。

priority

数字

优先级较高的工厂将获得创建链接的优先机会。

console.topology/details/tab

DetailsTab 为拓扑详细信息面板提供选项卡。

名称 值类型 可选 描述

id

字符串

此详细信息选项卡的唯一标识符。

label

字符串

要在 UI 中显示的选项卡标签。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore值优先。

console.topology/details/tab-section

DetailsTabSection 为拓扑详细信息面板中的特定选项卡提供一个部分。

名称 值类型 可选 描述

id

字符串

此详细信息选项卡部分的唯一标识符。

tab

字符串

此部分应贡献到的父选项卡 ID。

provider

CodeRef<DetailsTabSectionExtensionHook>

返回组件的 Hook,如果为 null 或 undefined,则在拓扑侧边栏中呈现。SDK 组件:<Section title=\{}>…​填充区域

section

CodeRef<(element: GraphElement, renderNull?: () ⇒ null) ⇒ React.Component | undefined>

已弃用:如果没有定义提供程序,则回退。renderNull 已经是无操作。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore值优先。

console.topology/display/filters

拓扑显示过滤器扩展。

名称 值类型 可选 描述

getTopologyFilters

CodeRef<() ⇒ TopologyDisplayOption[]>

特定于扩展的拓扑过滤器的 Getter。

applyDisplayOptions

CodeRef<TopologyApplyDisplayOptions>

将过滤器应用于模型的函数。

console.topology/relationship/provider

拓扑关系提供程序连接器扩展。

名称 值类型 可选 描述

提供

CodeRef<RelationshipProviderProvides>

用于确定是否可以在源节点和目标节点之间创建连接

工具提示

字符串

连接器操作悬停在放置目标上时显示的工具提示,例如,“创建可视连接器”

创建

CodeRef<RelationshipProviderCreate>

当连接器放置在目标节点上以创建连接时执行的回调函数

priority

数字

关系的优先级,如果有多个,则优先级越高

console.user-preference/group

此扩展程序可用于在控制台用户首选项页面上添加一个分组。它将作为控制台用户首选项页面上的垂直选项卡显示。

名称 值类型 可选 描述

id

字符串

用于标识用户首选项分组的 ID。

label

字符串

用户首选项分组的标签

insertBefore

字符串

此分组之前应放置的用户首选项分组的 ID

insertAfter

字符串

此分组之后应放置的用户首选项分组的 ID

console.user-preference/item

此扩展程序可用于向控制台用户首选项页面上的用户首选项分组添加一项。

名称 值类型 可选 描述

id

字符串

用于标识用户首选项项并在 insertAfter 和 insertBefore 中引用的 ID,用于定义项顺序

label

字符串

用户首选项的标签

描述

字符串

用户首选项的描述

字段

UserPreferenceField

用于呈现值以设置用户首选项的输入字段选项

groupId

字符串

用于标识该项所属的用户首选项分组的 ID

insertBefore

字符串

此项之前应放置的用户首选项项的 ID

insertAfter

字符串

此项之后应放置的用户首选项项的 ID

console.yaml-template

用于通过 yaml 编辑器编辑资源的 YAML 模板。

名称 值类型 可选 描述

model

ExtensionK8sModel

与模板关联的模型。

模板

CodeRef<string>

YAML 模板。

name

字符串

模板的名称。使用名称default 将其标记为默认模板。

dev-console.add/action

此扩展程序允许插件向开发人员视角的添加页面贡献添加操作项。例如,Serverless 插件可以为在开发人员控制台的添加页面添加 Serverless 函数添加一个新的操作项。

名称 值类型 可选 描述

id

字符串

用于标识操作的 ID。

label

字符串

操作的标签。

描述

字符串

操作的描述。

href

字符串

用于导航到的href

groupId

字符串

用于标识操作所属的操作分组的 ID。

icon

CodeRef<React.ReactNode>

视角显示图标。

accessReview

AccessReviewResourceAttributes[]

可选访问审查,用于控制操作的可见性或启用状态。

dev-console.add/action-group

此扩展程序允许插件在开发人员控制台的添加页面贡献一个分组。分组可以被操作引用,这些操作将根据其扩展定义在添加操作页面中组合在一起。例如,Serverless 插件可以贡献一个 Serverless 分组以及多个添加操作。

名称 值类型 可选 描述

id

字符串

用于标识操作分组的 ID

name

字符串

操作分组的标题

insertBefore

字符串

此分组之前应放置的操作分组的 ID

insertAfter

字符串

此分组之后应放置的操作分组的 ID

dev-console.import/environment

此扩展程序可用于在开发人员控制台 git 导入表单中的构建器镜像选择器下指定额外的构建环境变量字段。设置后,这些字段将覆盖构建部分中相同名称的环境变量。

名称 值类型 可选 描述

imageStreamName

字符串

要为其提供自定义环境变量的镜像流的名称

imageStreamTags

string[]

支持的镜像流标签列表

environments

ImageEnvironment[]

环境变量列表

console.dashboards/overview/detail/item

已弃用。请改用CustomOverviewDetailItem 类型

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<{}>>

基于DetailItem组件的值

console.page/resource/tab

已弃用。请改用console.tab/horizontalNav。向控制台路由器添加新的资源选项卡页面。

名称 值类型 可选 描述

model

ExtensionK8sGroupKindModel

此资源页面链接到的模型。

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

路由匹配时要渲染的组件。

name

字符串

选项卡的名称。

href

字符串

选项卡链接的可选href。如果未提供,则使用第一个path

exact

布尔值

如果为 true,则仅当路径完全匹配location.pathname时才匹配。

动态插件 API

useActivePerspective

提供当前活动透视图和用于设置活动透视图的回调函数的 Hook。它返回一个包含当前活动透视图和设置器回调的元组。

示例
const Component: React.FC = (props) => {
   const [activePerspective, setActivePerspective] = useActivePerspective();
   return <select
     value={activePerspective}
     onChange={(e) => setActivePerspective(e.target.value)}
   >
     {
       // ...perspective options
     }
   </select>
}

GreenCheckCircleIcon

用于显示绿色勾号圆圈图标的组件。

示例
<GreenCheckCircleIcon title="Healthy" />
参数名称 描述

className

(可选) 组件的其他类名

title

(可选) 图标标题

size

(可选) 图标大小:(sm, md, lg, xl)

RedExclamationCircleIcon

用于显示红色感叹号圆圈图标的组件。

示例
<RedExclamationCircleIcon title="Failed" />
参数名称 描述

className

(可选) 组件的其他类名

title

(可选) 图标标题

size

(可选) 图标大小:(sm, md, lg, xl)

YellowExclamationTriangleIcon

用于显示黄色三角形感叹号图标的组件。

示例
<YellowExclamationTriangleIcon title="Warning" />
参数名称 描述

className

(可选) 组件的其他类名

title

(可选) 图标标题

size

(可选) 图标大小:(sm, md, lg, xl)

BlueInfoCircleIcon

用于显示蓝色信息圆圈图标的组件。

示例
<BlueInfoCircleIcon title="Info" />
参数名称 描述

className

(可选) 组件的其他类名

title

(可选) 图标标题

size

(可选) 图标大小:('sm', 'md', 'lg', 'xl')

ErrorStatus

用于显示错误状态弹出窗口的组件。

示例
<ErrorStatus title={errorMsg} />
参数名称 描述

title

(可选) 状态文本

iconOnly

(可选) 如果为 true,则仅显示图标

noTooltip

(可选) 如果为 true,则不显示工具提示

className

(可选) 组件的其他类名

popoverTitle

(可选) 弹出窗口的标题

InfoStatus

用于显示信息状态弹出窗口的组件。

示例
<InfoStatus title={infoMsg} />
参数名称 描述

title

(可选) 状态文本

iconOnly

(可选) 如果为 true,则仅显示图标

noTooltip

(可选) 如果为 true,则不显示工具提示

className

(可选) 组件的其他类名

popoverTitle

(可选) 弹出窗口的标题

ProgressStatus

用于显示正在进行状态弹出窗口的组件。

示例
<ProgressStatus title={progressMsg} />
参数名称 描述

title

(可选) 状态文本

iconOnly

(可选) 如果为 true,则仅显示图标

noTooltip

(可选) 如果为 true,则不显示工具提示

className

(可选) 组件的其他类名

popoverTitle

(可选) 弹出窗口的标题

SuccessStatus

用于显示成功状态弹出窗口的组件。

示例
<SuccessStatus title={successMsg} />
参数名称 描述

title

(可选) 状态文本

iconOnly

(可选) 如果为 true,则仅显示图标

noTooltip

(可选) 如果为 true,则不显示工具提示

className

(可选) 组件的其他类名

popoverTitle

(可选) 弹出窗口的标题

checkAccess

提供有关用户对给定资源的访问权限的信息。它返回一个包含资源访问权限信息的。对象。

参数名称 描述

resourceAttributes

访问审查的资源属性

impersonate

模拟详细信息

useAccessReview

提供有关用户对给定资源的访问权限的信息的 Hook。它返回一个包含isAllowedloading值的数组。

参数名称 描述

resourceAttributes

访问审查的资源属性

impersonate

模拟详细信息

useResolvedExtensions

用于使用已解析的CodeRef属性使用控制台扩展程序的 React Hook。此 Hook 接受与useExtensions Hook 相同的参数,并返回已调整的扩展程序实例列表,解析每个扩展程序属性中的所有代码引用。

最初,Hook 返回一个空数组。解析完成后,React 组件将使用 Hook 返回的已调整的扩展程序列表重新渲染。当匹配扩展程序的列表更改时,将重新启动解析。在解析完成之前,Hook 将继续返回之前的结果。

Hook 的结果元素保证在重新渲染过程中引用稳定。它返回一个元组,其中包含具有已解析代码引用的已调整扩展程序实例列表、指示解析是否完成的布尔标志以及在解析期间检测到的错误列表。

示例
const [navItemExtensions, navItemsResolved] = useResolvedExtensions<NavItem>(isNavItem);
// process adapted extensions and render your component
参数名称 描述

typeGuards

回调函数列表,每个回调函数都接受动态插件扩展程序作为参数,并返回一个布尔标志,指示扩展程序是否满足所需的类型约束

HorizontalNav

一个用于为页面创建导航栏的组件。路由作为组件的一部分处理。console.tab/horizontalNav 可用于向任何水平导航添加附加内容。

示例
const HomePage: React.FC = (props) => {
    const page = {
      href: '/home',
      name: 'Home',
      component: () => <>Home</>
    }
    return <HorizontalNav match={props.match} pages={[page]} />
}
参数名称 描述

resource

与该导航关联的资源,一个 K8sResourceCommon 类型的对象

pages

页面对象的数组

match

React Router 提供的匹配对象

VirtualizedTable

用于制作虚拟化表格的组件。

示例
const MachineList: React.FC<MachineListProps> = (props) => {
  return (
    <VirtualizedTable<MachineKind>
     {...props}
     aria-label='Machines'
     columns={getMachineColumns}
     Row={getMachineTableRow}
    />
  );
}
参数名称 描述

data

表格数据

loaded

指示数据已加载的标志

loadError

如果加载数据时出现问题,则为错误对象

columns

列设置

Row

行设置

unfilteredData

未过滤的原始数据

NoDataEmptyMsg

(可选) 无数据空消息组件

EmptyMsg

(可选) 空消息组件

scrollNode

(可选) 用于处理滚动的函数

label

(可选) 表格标签

ariaLabel

(可选) aria 标签

gridBreakPoint

响应式布局下网格划分大小

onSelect

(可选) 用于处理表格选择的函数

rowData

(可选) 行的特定数据

TableData

用于在表格行中显示表格数据的组件。

示例
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>
    </>
  );
};
参数名称 描述

id

表格的唯一ID

activeColumnIDs

激活的列

className

(可选) 用于样式的类名

useActiveColumns

一个钩子函数,提供用户选择的活动 TableColumn 列表。

示例
// See implementation for more details on TableColumn type
  const [activeColumns, userSettingsLoaded] = useActiveColumns({
    columns,
    showNamespaceOverride: false,
    columnManagementID,
  });
  return userSettingsAreLoaded ? <VirtualizedTable columns={activeColumns} {...otherProps} /> : null
参数名称 描述

options

作为键值对传递

\{TableColumn[]} options.columns

所有可用 TableColumn 的数组

{boolean} [options.showNamespaceOverride]

(可选) 如果为 true,则无论列管理选择如何,都包含命名空间列

{string} [options.columnManagementID]

(可选) 用于将列管理选择持久保存到用户设置并从中检索的唯一 ID。通常是资源的组/版本/种类 (GVK) 字符串。

一个元组,包含当前用户选择的活动列(options.columns 的子集)以及一个布尔标志,指示用户设置是否已加载。

ListPageHeader

用于生成页面标题的组件。

示例
const exampleList: React.FC = () => {
  return (
    <>
      <ListPageHeader title="Example List Page"/>
    </>
  );
};
参数名称 描述

title

标题

helpText

(可选) 帮助部分,作为 React 节点

badge

(可选) 徽章图标,作为 React 节点

ListPageCreate

用于为特定资源种类添加创建按钮的组件,该按钮会自动生成指向此资源的创建 YAML 的链接。

示例
const exampleList: React.FC<MyProps> = () => {
  return (
    <>
      <ListPageHeader title="Example Pod List Page"/>
        <ListPageCreate groupVersionKind="Pod">Create Pod</ListPageCreate>
      </ListPageHeader>
    </>
  );
};
参数名称 描述

groupVersionKind

要表示的资源组/版本/种类

用于创建样式化链接的组件。

示例
const exampleList: React.FC<MyProps> = () => {
 return (
  <>
   <ListPageHeader title="Example Pod List Page"/>
      <ListPageCreateLink to={'/link/to/my/page'}>Create Item</ListPageCreateLink>
   </ListPageHeader>
  </>
 );
};
参数名称 描述

to

链接应指向的字符串位置

createAccessReview

(可选) 包含命名空间和种类,用于确定访问权限的对象

children

(可选) 组件的子元素

ListPageCreateButton

用于创建按钮的组件。

示例
const exampleList: React.FC<MyProps> = () => {
  return (
    <>
      <ListPageHeader title="Example Pod List Page"/>
        <ListPageCreateButton createAccessReview={access}>Create Pod</ListPageCreateButton>
      </ListPageHeader>
    </>
  );
};
参数名称 描述

createAccessReview

(可选) 包含命名空间和种类,用于确定访问权限的对象

pfButtonProps

(可选) Patternfly 按钮属性

ListPageCreateDropdown

用于创建带有权限检查的下拉菜单的组件。

示例
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>
    </>
  );
};
参数名称 描述

items

键:在下拉组件中显示的项目的 ReactNode 对

onClick

下拉菜单项点击的回调函数

createAccessReview

(可选) 包含命名空间和种类,用于确定访问权限的对象

children

(可选) 下拉菜单切换按钮的子元素

ListPageFilter

生成列表页面过滤器的组件。

示例
  // 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>
    </>
  )
参数名称 描述

data

数据点的数组

loaded

指示数据已加载

onFilterChange

过滤器更新时的回调函数

rowFilters

(可选) 定义可用过滤器选项的 RowFilter 元素数组

nameFilterPlaceholder

(可选) 名称过滤器的占位符

labelFilterPlaceholder

(可选) 标签过滤器的占位符

hideLabelFilter

(可选) 只显示名称过滤器,而不是名称和标签过滤器

hideNameLabelFilter

(可选) 隐藏名称和标签过滤器

columnLayout

(可选) 列布局对象

hideColumnManagement

(可选) 用于隐藏列管理的标志

useListPageFilter

管理 ListPageFilter 组件过滤器状态的钩子函数。它返回一个元组,包含所有静态过滤器过滤后的数据、所有静态和行过滤器过滤后的数据以及更新 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>
    </>
  )
参数名称 描述

data

数据点的数组

rowFilters

(可选) 定义可用过滤器选项的 RowFilter 元素数组

staticFilters

(可选) 静态应用于数据的 FilterValue 元素数组

创建一个带有图标徽章的特定资源类型链接的组件。

示例
  <ResourceLink
      kind="Pod"
      name="testPod"
      title={metadata.uid}
  />
参数名称 描述

kind

(可选) 资源类型,例如 Pod、Deployment、Namespace

groupVersionKind

(可选) 包含组、版本和种类的对象

className

(可选) 组件的类样式

displayName

(可选) 组件的显示名称,如果设置则覆盖资源名称

inline

(可选) 用于与子元素内联创建图标徽章和名称的标志

linkTo

(可选) 用于创建 Link 对象的标志 - 默认值为 true

name

(可选) 资源名称

namesapce

(可选) 要链接到的种类资源的特定命名空间

hideIcon

(可选) 用于隐藏图标徽章的标志

title

(可选) 链接对象的标题(不显示)

dataTest

(可选) 用于测试的标识符

onClick

(可选) 组件点击时的回调函数

truncate

(可选) 如果链接过长则截断的标志

ResourceIcon

为特定资源类型创建图标徽章的组件。

示例
<ResourceIcon kind="Pod"/>
参数名称 描述

kind

(可选) 资源类型,例如 Pod、Deployment、Namespace

groupVersionKind

(可选) 包含组、版本和种类的对象

className

(可选) 组件的类样式

useK8sModel

从 redux 中检索提供的 K8sGroupVersionKind 的 k8s 模型的钩子函数。它返回一个数组,第一个元素是 k8s 模型,第二个元素是 `inFlight` 状态。

示例
const Component: React.FC = () => {
  const [model, inFlight] = useK8sModel({ group: 'app'; version: 'v1'; kind: 'Deployment' });
  return ...
}
参数名称 描述

groupVersionKind

k8s 资源的组、版本、种类,首选 K8sGroupVersionKind,或者可以使用组、版本、种类的引用(已弃用),即组/版本/种类 (GVK) K8sResourceKindReference。

useK8sModels

从 redux 中检索所有当前 k8s 模型的钩子函数。它返回一个数组,第一个元素是 k8s 模型列表,第二个元素是 `inFlight` 状态。

示例
const Component: React.FC = () => {
  const [models, inFlight] = UseK8sModels();
  return ...
}

useK8sWatchResource

检索 k8s 资源以及加载和错误状态的钩子函数。它返回一个数组,第一个元素是资源,第二个元素是加载状态,第三个元素是任何错误状态。

示例
const Component: React.FC = () => {
  const watchRes = {
        ...
      }
  const [data, loaded, error] = useK8sWatchResource(watchRes)
  return ...
}
参数名称 描述

initResource

监视资源所需的选项。

useK8sWatchResources

检索 k8s 资源及其各自的加载和错误状态的钩子函数。它返回一个映射,其中键与 initResouces 中提供的键相同,值具有三个属性:data、loaded 和 error。

示例
const Component: React.FC = () => {
  const watchResources = {
        'deployment': {...},
        'pod': {...}
        ...
      }
  const {deployment, pod} = useK8sWatchResources(watchResources)
  return ...
}
参数名称 描述

initResources

资源必须作为键值对进行监视,其中键对于资源是唯一的,值是监视相应资源所需的选项。

consoleFetch

围绕 `fetch` 的自定义包装器,它添加控制台特定的标头并允许重试和超时。它还会验证响应状态代码并抛出适当的错误或根据需要注销用户。它返回一个解析为响应的 Promise。

参数名称 描述

url

要获取的 URL

options

要传递给 fetch 的选项

timeout

超时(毫秒)

consoleFetchJSON

围绕 `fetch` 的自定义包装器,它添加控制台特定的标头并允许重试和超时。它还会验证响应状态代码并抛出适当的错误或根据需要注销用户。它返回响应作为 JSON 对象。内部使用 `consoleFetch`。它返回一个解析为 JSON 对象响应的 Promise。

参数名称 描述

url

要获取的 URL

method

要使用的 HTTP 方法。默认为 GET

options

要传递给 fetch 的选项

timeout

超时(毫秒)

cluster

要向其发出请求的集群名称。默认为用户选择的活动集群

consoleFetchText

围绕 `fetch` 的自定义包装器,它添加控制台特定的标头并允许重试和超时。它还会验证响应状态代码并抛出适当的错误或根据需要注销用户。它返回响应作为文本。内部使用 `consoleFetch`。它返回一个解析为文本响应的 Promise。

参数名称 描述

url

要获取的 URL

options

要传递给 fetch 的选项

timeout

超时(毫秒)

cluster

要向其发出请求的集群名称。默认为用户选择的活动集群

getConsoleRequestHeaders

一个函数,使用当前 redux 状态为 API 请求创建模拟和多集群相关的标头。它返回一个对象,该对象包含基于 redux 状态的适当模拟和集群请求标头。

参数名称 描述

targetCluster

使用提供的 targetCluster 覆盖当前活动集群

k8sGetResource

它根据提供的选项从集群中获取资源。如果提供了名称,则返回一个资源,否则返回与模型匹配的所有资源。它返回一个解析为 JSON 对象响应(如果提供了名称则包含资源,否则包含与模型匹配的所有资源)的 Promise。如果失败,Promise 将被 HTTP 错误响应拒绝。

参数名称 描述

options

作为键值对传递到映射中

options.model

k8s 模型

options.name

资源的名称,如果未提供,则查找与模型匹配的所有资源。

options.ns

要查找的命名空间,集群范围的资源不应指定此项。

options.path

如果提供,则作为子路径追加

options.queryParams

要包含在 URL 中的查询参数。

options.requestInit

要使用的 fetch 初始化对象。这可以包含请求头、方法、重定向等。更多信息请参见 Interface RequestInit

k8sCreateResource

它根据提供的选项在集群中创建资源。它返回一个 promise,该 promise 解析为已创建资源的响应。如果失败,promise 将被 HTTP 错误响应拒绝。

参数名称 描述

options

作为键值对传递到映射中

options.model

k8s 模型

options.data

要创建的资源的有效负载

options.path

如果提供,则作为子路径追加

options.queryParams

要包含在 URL 中的查询参数。

k8sUpdateResource

它根据提供的选项更新集群中的整个资源。当客户端需要完全替换现有资源时,可以使用 k8sUpdate。或者可以使用 k8sPatch 执行部分更新。它返回一个 promise,该 promise 解析为已更新资源的响应。如果失败,promise 将被 HTTP 错误响应拒绝。

参数名称 描述

options

作为键值对传递到映射中

options.model

k8s 模型

options.data

要更新的 k8s 资源的有效负载

options.ns

要查找的命名空间,对于集群范围的资源,不应指定此命名空间。

options.name

要更新的资源名称。

options.path

如果提供,则作为子路径追加

options.queryParams

要包含在 URL 中的查询参数。

k8sPatchResource

它根据提供的选项修补集群中的任何资源。当客户端需要执行部分更新时,可以使用 k8sPatch。或者可以使用 k8sUpdate 完全替换现有资源。更多信息请参见 Data Tracker。它返回一个 promise,该 promise 解析为已修补资源的响应。如果失败,promise 将被 HTTP 错误响应拒绝。

参数名称 描述

options

作为键值对传递到映射中。

options.model

k8s 模型

options.resource

要修补的资源。

options.data

仅包含要使用操作、路径和值在现有资源上修补的数据。

options.path

如果提供,则作为子路径追加。

options.queryParams

要包含在 URL 中的查询参数。

k8sDeleteResource

它根据提供的模型和资源从集群中删除资源。垃圾回收基于 `Foreground` | `Background` 工作,可以通过提供的模型中的 propagationPolicy 属性进行配置,也可以在 json 中传递。它返回一个 promise,该 promise 解析为 kind Status 的响应。如果失败,promise 将被 HTTP 错误响应拒绝。

示例

kind: 'DeleteOptions', apiVersion: 'v1', propagationPolicy

参数名称 描述

options

作为键值对传递到映射中。

options.model

k8s 模型

options.resource

要删除的资源。

options.path

如果提供,则作为子路径追加

options.queryParams

要包含在 URL 中的查询参数。

options.requestInit

要使用的 fetch 初始化对象。这可以包含请求头、方法、重定向等。更多信息请参见 Interface RequestInit

options.json

如果提供,可以显式控制资源的垃圾回收,否则默认为模型的“propagationPolicy”。

k8sListResource

基于提供的选项列出集群中作为数组的资源。它返回一个 promise,该 promise 解析为响应。

参数名称 描述

options

作为键值对传递到映射中

options.model

k8s 模型

options.queryParams

要包含在 URL 中的查询参数,也可以使用键“labelSelector”传递标签选择器。

options.requestInit

要使用的 fetch 初始化对象。这可以包含请求头、方法、重定向等。更多信息请参见 Interface RequestInit

k8sListResourceItems

与 k8sListResource 相同的接口,但返回子项。它返回模型的 apiVersion,即 `group/version`。

getAPIVersionForModel

提供 k8s 模型的 apiVersion。

参数名称 描述

model

k8s 模型

getGroupVersionKindForResource

为资源提供组、版本和种类。它返回提供的资源的组、版本和种类。如果资源没有 API 组,则返回组“core”。如果资源的 apiVersion 无效,则抛出错误。

参数名称 描述

resource

k8s 资源

getGroupVersionKindForModel

为 k8s 模型提供组、版本和种类。这将返回提供的模型的组、版本和种类。如果模型没有 apiGroup,则返回组“core”。

参数名称 描述

model

k8s 模型

StatusPopupSection

在弹出窗口中显示状态的组件。有助于构建 `console.dashboards/overview/health/resource` 扩展的实用组件。

示例
  <StatusPopupSection
    firstColumn={
      <>
        <span>{title}</span>
        <span className="text-secondary">
          My Example Item
        </span>
      </>
    }
    secondColumn='Status'
  >
参数名称 描述

firstColumn

弹出窗口第一列的值

secondColumn

(可选) 弹出窗口第二列的值

children

(可选) 弹出窗口的子元素

StatusPopupItem

在状态弹出窗口中使用的状态元素;用于 `StatusPopupSection`。

示例
<StatusPopupSection
   firstColumn='Example'
   secondColumn='Status'
>
   <StatusPopupItem icon={healthStateMapping[MCGMetrics.state]?.icon}>
      Complete
   </StatusPopupItem>
   <StatusPopupItem icon={healthStateMapping[RGWMetrics.state]?.icon}>
       Pending
   </StatusPopupItem>
</StatusPopupSection>
参数名称 描述

value

(可选) 要显示的文本值

icon

(可选) 要显示的图标

children

子元素

概述

为仪表板创建一个包装器组件。

示例
    <Overview>
      <OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
    </Overview>
参数名称 描述

className

(可选) div 的样式类

children

(可选) 仪表板的元素

OverviewGrid

为仪表板创建网格卡片元素;用于 `Overview` 中。

示例
    <Overview>
      <OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
    </Overview>
参数名称 描述

mainCards

网格卡片

leftCards

(可选) 网格左侧的卡片

rightCards

(可选) 网格右侧的卡片

InventoryItem

创建一个库存卡片项目。

示例
  return (
    <InventoryItem>
      <InventoryItemTitle>{title}</InventoryItemTitle>
      <InventoryItemBody error={loadError}>
        {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
      </InventoryItemBody>
    </InventoryItem>
  )
参数名称 描述

children

要在项目内渲染的元素

InventoryItemTitle

为库存卡片项目创建标题;用于 `InventoryItem` 中。

示例
 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
参数名称 描述

children

要在标题内渲染的元素

InventoryItemBody

创建库存卡片的主体;用于 `InventoryCard` 中,并可与 `InventoryTitle` 一起使用。

示例
 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
参数名称 描述

children

要在库存卡片或标题内渲染的元素

error

div 的元素

InventoryItemStatus

为库存卡片创建计数和图标,并带有可选链接地址;用于 `InventoryItemBody` 中

示例
 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
参数名称 描述

count

要显示的计数

icon

要显示的图标

linkTo

(可选) 链接地址

InventoryItemLoading

创建库存卡片加载时的骨架容器;与 `InventoryItem` 和相关组件一起使用

示例
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>
)

useFlag

从 FLAGS redux 状态返回给定功能标志的 Hook。它返回请求的功能标志的布尔值或未定义。

参数名称 描述

flag

要返回的功能标志

CodeEditor

具有悬停帮助和代码完成的基本延迟加载代码编辑器。

示例
<React.Suspense fallback={<LoadingBox />}>
  <CodeEditor
    value={code}
    language="yaml"
  />
</React.Suspense>
参数名称 描述

value

表示要渲染的 yaml 代码的字符串。

language

表示编辑器语言的字符串。

options

Monaco 编辑器选项。更多详情,请访问 Interface IStandAloneEditorConstructionOptions

minHeight

有效的 CSS 高度值中的最小编辑器高度。

showShortcuts

布尔值,用于显示编辑器顶部的快捷键。

toolbarLinks

在编辑器顶部的工具栏链接部分渲染的 ReactNode 数组。

onChange

代码更改事件的回调函数。

onSave

触发 CTRL/CMD + S 命令时调用的回调函数。

ref

对 ` { editor?: IStandaloneCodeEditor }` 的 React 引用。使用 `editor` 属性,您可以访问所有控制编辑器的方法。更多信息,请访问 Interface IStandaloneCodeEditor

ResourceYAMLEditor

一个为 Kubernetes 资源延迟加载的 YAML 编辑器,具有悬停帮助和代码完成功能。该组件使用 YAMLEditor,并在其之上添加了更多功能,例如资源更新处理、警报、保存、取消和重新加载按钮、辅助功能等等。除非提供 `onSave` 回调函数,否则将自动处理资源更新。它应该包装在一个 `React.Suspense` 组件中。

示例
<React.Suspense fallback={<LoadingBox />}>
  <ResourceYAMLEditor
    initialResource={resource}
    header="Create resource"
    onSave={(content) => updateResource(content)}
  />
</React.Suspense>
参数名称 描述

initialResource

表示要由编辑器显示的资源的 YAML/对象。此 prop 仅在初始渲染期间使用

header

在 YAML 编辑器顶部添加标题

onSave

保存按钮的回调函数。传递它将覆盖编辑器对资源执行的默认更新

ResourceEventStream

显示与特定资源相关的事件的组件。

示例
const [resource, loaded, loadError] = useK8sWatchResource(clusterResource);
return <ResourceEventStream resource={resource} />
参数名称 描述

resource

一个应该显示其相关事件的对象。

usePrometheusPoll

为单个查询设置对 Prometheus 的轮询。它返回一个元组,其中包含查询响应、指示响应是否已完成的布尔标志以及请求期间或请求后处理期间遇到的任何错误。

参数名称 描述

{PrometheusEndpoint} props.endpoint

PrometheusEndpoint 之一 (label, query, range, rules, targets)

{string} [props.query]

(可选) Prometheus 查询字符串。如果为空或未定义,则不会启动轮询。

{number} [props.delay]

(可选) 轮询延迟间隔 (ms)

{number} [props.endTime]

(可选) 对于 QUERY_RANGE 端点,查询范围的结束时间

{number} [props.samples]

(可选) 对于 QUERY_RANGE 端点

{number} [options.timespan]

(可选) 对于 QUERY_RANGE 端点

{string} [options.namespace]

(可选) 要附加的搜索参数

{string} [options.timeout]

(可选) 要附加的搜索参数

时间戳

用于渲染时间戳的组件。时间戳在时间戳组件的各个实例之间同步。提供的时间戳将根据用户的区域设置进行格式化。

参数名称 描述

timestamp

要渲染的时间戳。格式应为 ISO 8601(Kubernetes 使用)、纪元时间戳或 Date 实例。

simple

渲染组件的简化版本,省略图标和工具提示。

omitSuffix

格式化日期时省略后缀。

className

组件的附加类名。

useModal

用于启动模态的钩子。

示例
const context: AppPage: React.FC = () => {<br/> const [launchModal] = useModal();<br/> const onClick = () => launchModal(ModalComponent);<br/> return (<br/>   <Button onClick={onClick}>Launch a Modal</Button><br/> )<br/>}<br/>`

ActionServiceProvider

允许接收来自其他插件对console.action/provider扩展类型的贡献的组件。

示例
   const context: ActionContext = { 'a-context-id': { dataFromDynamicPlugin } };

   ...

   <ActionServiceProvider context={context}>
       {({ actions, options, loaded }) =>
         loaded && (
           <ActionMenu actions={actions} options={options} variant={ActionMenuVariant.DROPDOWN} />
         )
       }
   </ActionServiceProvider>
参数名称 描述

context

包含 contextId 和可选插件数据的对象

NamespaceBar

渲染水平工具栏的组件,工具栏最左侧位置有一个命名空间下拉菜单。其他组件可以作为子组件传入,并在命名空间下拉菜单的右侧渲染。此组件设计用于页面顶部。它应该用于用户需要能够更改活动命名空间的页面,例如包含 k8s 资源的页面。

示例
   const logNamespaceChange = (namespace) => console.log(`New namespace: ${namespace}`);

   ...

   <NamespaceBar onNamespaceChange={logNamespaceChange}>
     <NamespaceBarApplicationSelector />
   </NamespaceBar>
   <Page>

     ...
参数名称 描述

onNamespaceChange

(可选) 选择命名空间选项时执行的函数。它接受字符串形式的新命名空间作为其唯一参数。选择选项时,活动命名空间会自动更新,但可以通过此函数应用其他逻辑。更改命名空间时,URL 中的命名空间参数将从之前的命名空间更改为新选择的命名空间。

isDisabled

(可选) 如果设置为 true,则禁用命名空间下拉菜单的布尔标志。此选项仅适用于命名空间下拉菜单,对子组件无效。

children

(可选) 要在命名空间下拉菜单右侧的工具栏内渲染的其他元素。

ErrorBoundaryFallbackPage

创建一个全页面 ErrorBoundaryFallbackPage 组件,以显示“哦,不!出现错误。”消息以及堆栈跟踪和其他有用的调试信息。这应该与 组件一起使用。

示例
//in ErrorBoundary component
 return (
   if (this.state.hasError) {
     return <ErrorBoundaryFallbackPage errorMessage={errorString} componentStack={componentStackString}
      stack={stackTraceString} title={errorString}/>;
   }

   return this.props.children;
)
参数名称 描述

errorMessage

错误消息的文本描述

componentStack

异常的组件跟踪

stack

异常的堆栈跟踪

title

要作为错误边界页面标题渲染的标题

QueryBrowser

渲染 Prometheus PromQL 查询结果图以及与该图交互的控件的组件。

示例
<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)',
  ]}
/>
参数名称 描述

customDataSource

(可选) 处理 PromQL 查询的 API 端点的基本 URL。如果提供,则使用它而不是默认 API 来获取数据。

defaultSamples

(可选) 为每个数据序列绘制的默认数据样本数。如果有很多数据序列,QueryBrowser 可能会自动选择比此处指定的更少的数据样本数。

defaultTimespan

(可选) 图表的默认时间跨度(毫秒) - 默认值为 1,800,000(30 分钟)。

disabledSeries

(可选) 禁用(不显示)具有这些精确标签/值对的数据序列。

disableZoom

(可选) 用于禁用图表缩放控件的标志。

filterLabels

(可选) 可选地过滤返回的数据序列,仅限于与这些标签/值对匹配的那些序列。

fixedEndTime

(可选) 设置显示时间范围的结束时间,而不是显示直到当前时间的数据。

formatSeriesTitle

(可选) 返回字符串以用作单个数据序列标题的函数。

GraphLink

(可选) 用于渲染指向另一个页面的链接的组件(例如,获取有关此查询的更多信息)。

hideControls

(可选) 用于隐藏用于更改图表时间跨度等的图表控件的标志。

isStack

(可选) 用于显示堆叠图而不是折线图的标志。如果设置了 showStackedControl,用户仍然可以切换到折线图。

namespace

(可选)如果提供,则仅返回此命名空间的数据(只有具有此命名空间标签的序列)。

onZoom

(可选) 图表缩放时调用的回调。

pollInterval

(可选) 如果设置,则确定图表更新以显示最新数据的频率(以毫秒为单位)。

queries

要运行的 PromQL 查询数组,并在图表中显示结果。

showLegend

(可选) 用于启用在图表下方显示图例的标志。

showStackedControl

用于启用显示用于在堆叠图模式和折线图模式之间切换的图表控件的标志。

timespan

(可选) 图表应涵盖的时间跨度(以毫秒为单位)。

units

(可选) 要在 Y 轴和工具提示中显示的单位。

useAnnotationsModal

提供回调以启动用于编辑 Kubernetes 资源注释的模态的钩子。

示例
const PodAnnotationsButton = ({ pod }) => {
  const { t } = useTranslation();
  const launchAnnotationsModal = useAnnotationsModal<PodKind>(pod);
  return <button onClick={launchAnnotationsModal}>{t('Edit Pod Annotations')}</button>
}
参数名称 描述

resource

用于编辑 K8sResourceCommon 类型对象的注释的资源。

返回值

启动用于编辑资源注释的模态的函数。

useDeleteModal

提供回调以启动用于删除资源的模态的钩子。

示例
const DeletePodButton = ({ pod }) => {
  const { t } = useTranslation();
  const launchDeleteModal = useDeleteModal<PodKind>(pod);
  return <button onClick={launchDeleteModal}>{t('Delete Pod')}</button>
}
参数名称 描述

resource

要删除的资源。

redirectTo

(可选) 删除资源后要重定向到的位置。

message

(可选) 要在模态中显示的消息。

btnText

(可选) 要在删除按钮上显示的文本。

deleteAllResources

(可选) 删除相同类型的所有资源的函数。

返回值

启动用于删除资源的模态的函数。

useLabelsModel

提供回调以启动用于编辑 Kubernetes 资源标签的模态的钩子。

示例
const PodLabelsButton = ({ pod }) => {
  const { t } = useTranslation();
  const launchLabelsModal = useLabelsModal<PodKind>(pod);
  return <button onClick={launchLabelsModal}>{t('Edit Pod Labels')}</button>
}
参数名称 描述

resource

要编辑其标签的资源,K8sResourceCommon 类型对象。

返回值

启动用于编辑资源标签的模态的函数。

useActiveNamespace

提供当前活动命名空间和用于设置活动命名空间的回调的钩子。

示例
const Component: React.FC = (props) => {
   const [activeNamespace, setActiveNamespace] = useActiveNamespace();
   return <select
     value={activeNamespace}
     onChange={(e) => setActiveNamespace(e.target.value)}
   >
     {
       // ...namespace options
     }
   </select>
}
返回值

包含当前活动命名空间和 setter 回调的元组。

useUserSettings

提供用户设置值和用于设置用户设置值的回调的钩子。

示例
const Component: React.FC = (props) => {
   const [state, setState, loaded] = useUserSettings(
     'devconsole.addPage.showDetails',
     true,
     true,
   );
   return loaded ? (
      <WrappedComponent {...props} userSettingState={state} setUserSettingState={setState} />
    ) : null;
};
返回值

包含用户设置值、setter 回调和已加载布尔值的元组。

useQuickStartContext

提供当前快速启动上下文值的钩子。这允许插件与控制台快速启动功能互操作。

示例
const OpenQuickStartButton = ({ quickStartId }) => {
   const { setActiveQuickStart } = useQuickStartContext();
   const onClick = React.useCallback(() => {
       setActiveQuickStart(quickStartId);
   }, [quickStartId]);
   return <button onClick={onClick}>{t('Open Quick Start')}</button>
};
返回值

快速启动上下文值对象。

PerspectiveContext

已弃用:使用提供的usePerspectiveContext代替。创建透视图上下文。

参数名称 描述

PerspectiveContextType

包含活动透视图和 setter 的对象

useAccessReviewAllowed

已弃用:请改用@console/dynamic-plugin-sdk中的useAccessReview。此 Hook 提供关于用户对给定资源的访问权限状态。它返回布尔值isAllowed

参数名称 描述

resourceAttributes

访问审查的资源属性

impersonate

模拟详细信息

useSafetyFirst

已弃用:此 Hook 与控制台功能无关。此 Hook 确保在给定组件可能被卸载的情况下安全地异步设置 React 状态。它返回一个包含状态值及其设置函数的数组。

参数名称 描述

initialState

初始状态值

YAMLEditor

已弃用:一个基本的延迟加载 YAML 编辑器,具有悬停帮助和自动完成功能。

示例
<React.Suspense fallback={<LoadingBox />}>
  <YAMLEditor
    value={code}
  />
</React.Suspense>
参数名称 描述

value

表示要渲染的 yaml 代码的字符串。

options

Monaco 编辑器选项。

minHeight

有效的 CSS 高度值中的最小编辑器高度。

showShortcuts

布尔值,用于显示编辑器顶部的快捷键。

toolbarLinks

在编辑器顶部的工具栏链接部分渲染的 ReactNode 数组。

onChange

代码更改事件的回调函数。

onSave

触发 CTRL/CMD + S 命令时调用的回调函数。

ref

{ editor?: IStandaloneCodeEditor }的 React 引用。使用editor属性,您可以访问所有控制编辑器的方法。

动态插件故障排除

如果您在加载插件时遇到问题,请参考此故障排除提示列表。

  • 验证您已在控制台 Operator 配置中启用您的插件,并且您的插件名称是通过运行以下命令输出的

    $ oc get console.operator.openshift.io cluster -o jsonpath='{.spec.plugins}'
    • 在**管理员**视角的**概述**页面状态卡片上验证已启用的插件。如果插件是最近启用的,您必须刷新浏览器。

  • 通过以下方式验证您的插件服务是否正常:

    • 验证您的插件 Pod 状态正在运行且您的容器已准备好。

    • 验证服务标签选择器与 Pod 匹配且目标端口正确。

    • 在控制台 Pod 或集群上的另一个 Pod 中的终端上,使用 Curl 从服务获取plugin-manifest.json

  • 验证您的ConsolePlugin资源名称 (consolePlugin.name) 与package.json中使用的插件名称匹配。

  • 验证您的服务名称、命名空间、端口和路径在ConsolePlugin资源中是否正确声明。

  • 验证您的插件服务是否使用 HTTPS 和服务服务证书。

  • 验证控制台 Pod 日志中是否存在任何证书或连接错误。

  • 验证您的插件依赖的特性标志未被禁用。

  • 验证您的插件在package.json中没有任何未满足的consolePlugin.dependencies

    • 这可能包括控制台版本依赖项或对其他插件的依赖项。在浏览器中过滤您的插件名称的 JS 控制台以查看已记录的消息。

  • 验证导航扩展视角或部分 ID 中没有任何错别字。

    • 如果 ID 不正确,您的插件可能已加载,但导航项目缺失。尝试通过编辑 URL 直接导航到插件页面。

  • 验证没有任何网络策略阻止从控制台 Pod 到您的插件服务的流量。

    • 如有必要,调整网络策略以允许 openshift-console 命名空间中的控制台 Pod 向您的服务发出请求。

  • 在浏览器开发者工具的**控制台**选项卡中验证要加载的动态插件列表。

    • 评估window.SERVER_FLAGS.consolePlugins以查看控制台前端的动态插件。