×

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

动态插件扩展类型

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 effect hook。

priority

number

此提供程序的优先级。默认为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以及向该选项卡添加卡片时使用。

navSection

'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]>

检测默认视角的钩子。

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 删除逻辑的警报。

名称 值类型 可选 描述

predicate

CodeRef<(pvc: K8sResourceCommon) ⇒ boolean>

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

onPVCKill

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

PVC 删除操作的方法。

alert

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

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

console.pvc/status

名称 值类型 可选 描述

priority

number

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

status

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

状态组件。

predicate

CodeRef<(pvc: K8sResourceCommon) ⇒ boolean>

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

console.redux-reducer

向 Console Redux 存储添加新的 reducer,该 reducer 运行于 `plugins.<scope>` 子状态。

名称 值类型 可选 描述

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

字符串

唯一的标识符。

column

DetailsItemColumn

确定该项是否会出现在详情页面资源摘要的“左侧”或“右侧”列。默认值:“右侧”。

title

字符串

详情项标题。

path

字符串

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

component

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

可选的 React 组件,将渲染详情项的值。

sortWeight

number

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

console.storage-class/provisioner

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

名称 值类型 可选 描述

CSI

ProvisionerDetails

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

OTHERS

ProvisionerDetails

其他供应程序类型。

console.storage-provider

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

名称 值类型 可选 描述

name

字符串

提供程序的显示名称。

Component

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

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

page

{ name: string; href: string; }

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

component

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

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

console.telemetry/listener

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

名称 值类型 可选 描述

listener

CodeRef<TelemetryEventListener>

侦听遥测事件。

console.topology/adapter/build

BuildAdapter 贡献一个适配器,用于将元素适配为构建组件可用的数据。

名称 值类型 可选 描述

adapt

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

将元素适配为构建组件可用的数据的适配器。

console.topology/adapter/network

NetworkAdapater 贡献一个适配器,用于将元素适配为Networking组件可用的数据。

名称 值类型 可选 描述

adapt

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

将元素适配为网络组件可用的数据的适配器。

console.topology/adapter/pod

PodAdapter 贡献一个适配器,用于将元素适配为Pod组件可用的数据。

名称 值类型 可选 描述

adapt

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

number

工厂的优先级。

resources

WatchK8sResourcesGeneric

要从useK8sWatchResources钩子中获取的资源。

workloadKeys

string[]

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

getDataModel

CodeRef<TopologyDataModelGetter>

数据模型工厂的 Getter。

isResourceDepicted

CodeRef<TopologyDataModelDepicted>

获取函数,用于确定此模型工厂是否描述了资源。

getDataModelReconciler

CodeRef<TopologyDataModelReconciler>

获取函数,用于在所有扩展模型加载后协调数据模型。

console.topology/decorator/provider

拓扑装饰器提供程序扩展

名称 值类型 可选 描述

id

字符串

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

priority

number

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

象限

TopologyQuadrant

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

装饰器

CodeRef<TopologyDecoratorGetter>

特定于扩展的装饰器

console.topology/details/resource-alert

DetailsResourceAlert 为特定的拓扑上下文或图形元素贡献警报。

名称 值类型 可选 描述

id

字符串

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

contentProvider

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

挂钩,用于返回警报的内容。

DetailsResourceLink 为特定的拓扑上下文或图形元素贡献链接。

名称 值类型 可选 描述

链接

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

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

priority

number

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

console.topology/details/tab

DetailsTab 为拓扑详细信息面板贡献一个选项卡。

名称 值类型 可选 描述

id

字符串

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

label

字符串

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

insertBefore

字符串 | 字符串数组

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

insertAfter

字符串 | 字符串数组

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

console.topology/details/tab-section

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

名称 值类型 可选 描述

id

字符串

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

tab

字符串

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

provider

CodeRef<DetailsTabSectionExtensionHook>

返回组件的钩子,如果为 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[]>

获取特定于扩展的拓扑过滤器

applyDisplayOptions

CodeRef<TopologyApplyDisplayOptions>

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

console.topology/relationship/provider

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

名称 值类型 可选 描述

提供

CodeRef<RelationshipProviderProvides>

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

工具提示

字符串

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

创建

CodeRef<RelationshipProviderCreate>

当连接器拖放到目标节点上以创建连接时执行的回调

priority

number

关系的优先级,数值越高,优先级越高(多个关系时)

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[]

支持的镜像流标签列表

环境变量

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

提供当前活动透视图和用于设置活动透视图的回调的钩子。它返回一个包含当前活动透视图和 setter 回调的元组。

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

(可选) 图标大小:(smmdlgxl

RedExclamationCircleIcon

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

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

className

(可选) 组件的附加类名

title

(可选) 图标标题

size

(可选) 图标大小:(smmdlgxl

YellowExclamationTriangleIcon

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

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

className

(可选) 组件的附加类名

title

(可选) 图标标题

size

(可选) 图标大小:(smmdlgxl

BlueInfoCircleIcon

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

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

className

(可选) 组件的附加类名

title

(可选) 图标标题

size

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

ErrorStatus

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

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

title

(可选) 状态文本

iconOnly

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

noTooltip

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

className

(可选) 组件的附加类名

弹出框标题

(可选)弹出框标题

信息状态

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

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

title

(可选) 状态文本

iconOnly

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

noTooltip

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

className

(可选) 组件的附加类名

弹出框标题

(可选)弹出框标题

进度状态

用于显示进度状态弹出框的组件。

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

title

(可选) 状态文本

iconOnly

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

noTooltip

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

className

(可选) 组件的附加类名

弹出框标题

(可选)弹出框标题

成功状态

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

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

title

(可选) 状态文本

iconOnly

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

noTooltip

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

className

(可选) 组件的附加类名

弹出框标题

(可选)弹出框标题

检查访问权限

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

参数名称 描述

资源属性

用于访问审核的资源属性

模拟身份

模拟身份详情

使用访问审核

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

参数名称 描述

资源属性

用于访问审核的资源属性

模拟身份

模拟身份详情

使用已解析的扩展

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

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

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

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

类型守卫

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

水平导航

创建页面导航栏的组件。路由作为组件的一部分进行处理。可以使用 `console.tab/horizontalNav` 向任何水平导航添加额外内容。

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

资源

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

页面

页面对象的数组

匹配

React Router 提供的匹配对象

虚拟化表格

用于创建虚拟化表格的组件。

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

数据

表格数据

已加载

指示数据已加载的标志

加载错误

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

列设置

行设置

未过滤数据

未经过滤的原始数据

无数据空消息

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

空消息

(可选)空消息组件

滚动节点

(可选)处理滚动的函数

label

(可选)表格标签

ARIA标签

(可选)ARIA 标签

网格断点

如何划分网格以实现响应式的尺寸

onSelect

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

行数据

(可选)特定于行的数

表格数据

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

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

活动列 ID

活动列

className

(可选)用于样式设置的选项类名

使用活动列

提供用户选择的活动 TableColumn 列表的 hook。

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

选项

作为键值对传递

\{TableColumn[]} options.columns

所有可用 TableColumn 的数组

{boolean} [options.showNamespaceOverride]

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

{string} [options.columnManagementID]

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

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

列表页页眉

用于生成页面页眉的组件。

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

title

标题

帮助文本

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

badge

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

列表页创建

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

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

组版本种类

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

用于创建风格化链接的组件。

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

链接应指向的字符串位置

创建访问审核

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

子元素

(可选)组件的子元素

列表页创建按钮

用于创建按钮的组件。

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

创建访问审核

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

pfButtonProps

(可选)Patternfly 按钮属性

列表页创建下拉菜单

用于创建包含权限检查的包装下拉菜单的组件。

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

项目

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

onClick

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

创建访问审核

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

子元素

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

列表页筛选器

生成列表页筛选器的组件。

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

数据

数据点的数组

已加载

指示数据已加载

onFilterChange

更新筛选器时的回调函数

行筛选器

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

名称筛选器占位符

(可选)名称筛选器的占位符

标签筛选器占位符

(可选)标签筛选器的占位符

隐藏标签筛选器

(可选)仅显示名称筛选器,而不是名称和标签筛选器。

隐藏名称标签筛选器

(可选)隐藏名称和标签筛选器。

列布局

(可选)列布局对象

隐藏列管理

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

使用列表页筛选器

管理 ListPageFilter 组件筛选器状态的 hook。它返回一个元组,其中包含按所有静态筛选器筛选的数据、按所有静态和行筛选器筛选的数据以及更新 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>
    </>
  )
参数名称 描述

数据

数据点的数组

行筛选器

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

静态筛选器

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

创建指向特定资源类型的链接(带图标徽章)的组件。

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

种类

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

组版本种类

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

className

(可选)组件的类样式

显示名称

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

内联

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

链接到

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

name

(可选)资源名称

命名空间

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

隐藏图标

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

title

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

dataTest

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

onClick

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

截断

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

ResourceIcon

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

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

种类

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

组版本种类

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

className

(可选)组件的类样式

useK8sModel

从 redux 中检索提供的 K8sGroupVersionKind 的 k8s 模型的 Hook。它返回一个数组,其中第一项是 k8s 模型,第二项是inFlight 状态。

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

组版本种类

k8s 资源的 group、version、kind。推荐使用 K8sGroupVersionKind,或者可以使用 group、version、kind 的引用(已弃用),例如 group/version/kind (GVK) K8sResourceKindReference。

useK8sModels

从 redux 中检索所有当前 k8s 模型的 Hook。它返回一个数组,其中第一项是 k8s 模型列表,第二项是inFlight 状态。

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

useK8sWatchResource

检索 k8s 资源及其加载和错误状态的 Hook。它返回一个数组,第一项是资源(s),第二项是加载状态,第三项是任何错误状态。

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

initResource

监视资源所需的选项。

useK8sWatchResources

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

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

initResources

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

consoleFetch

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

参数名称 描述

url

要获取的 URL

选项

传递给 fetch 的选项

timeout

超时时间(毫秒)

consoleFetchJSON

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

参数名称 描述

url

要获取的 URL

method

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

选项

传递给 fetch 的选项

timeout

超时时间(毫秒)

cluster

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

consoleFetchText

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

参数名称 描述

url

要获取的 URL

选项

传递给 fetch 的选项

timeout

超时时间(毫秒)

cluster

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

getConsoleRequestHeaders

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

参数名称 描述

targetCluster

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

k8sGetResource

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

参数名称 描述

选项

作为键值对传递到 map 中

options.model

k8s 模型

options.name

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

options.ns

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

options.path

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

options.queryParams

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

options.requestInit

要使用的 fetch init 对象。这可以包含请求标头、方法、重定向等。有关详细信息,请参见Interface RequestInit

k8sCreateResource

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

参数名称 描述

选项

作为键值对传递到 map 中

options.model

k8s 模型

options.data

要创建的资源的有效负载

options.path

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

options.queryParams

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

k8sUpdateResource

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

参数名称 描述

选项

作为键值对传递到 map 中

options.model

k8s 模型

options.data

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

options.ns

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

options.name

要更新的资源名称。

options.path

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

options.queryParams

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

k8sPatchResource

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

参数名称 描述

选项

作为键值对传递到 map 中。

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

参数名称 描述

选项

作为键值对传递到 map 中。

options.model

k8s 模型

options.resource

要删除的资源。

options.path

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

options.queryParams

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

options.requestInit

要使用的 fetch init 对象。这可以包含请求标头、方法、重定向等。有关详细信息,请参见Interface RequestInit

options.json

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

k8sListResource

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

参数名称 描述

选项

作为键值对传递到 map 中

options.model

k8s 模型

options.queryParams

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

options.requestInit

要使用的 fetch init 对象。这可以包含请求标头、方法、重定向等。有关详细信息,请参见Interface RequestInit

k8sListResourceItems

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

getAPIVersionForModel

提供 k8s 模型的 apiVersion。

参数名称 描述

model

k8s 模型

getGroupVersionKindForResource

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

参数名称 描述

资源

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

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

子元素

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

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

(可选)要显示的图标

子元素

子元素

概述

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

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

className

(可选)div 的样式类

子元素

(可选)仪表盘的元素

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

子元素

在项目内渲染的元素

InventoryItemTitle

创建库存卡片项的标题;用于InventoryItem

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

子元素

在标题内渲染的元素

InventoryItemBody

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

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

子元素

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

error

div 的元素

InventoryItemStatus

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

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

count

要显示的计数

icon

要显示的图标

链接到

(可选)链接地址

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

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

选项

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/对象。此属性仅在初始渲染期间使用。

header

在 YAML 编辑器顶部添加标题

onSave

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

ResourceEventStream

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

示例
const [resource, loaded, loadError] = useK8sWatchResource(clusterResource);
return <ResourceEventStream 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

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

参数名称 描述

timestamp

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

simple

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

omitSuffix

格式化日期,省略后缀。

className

组件的附加类名。

useModal

启动模态的 Hook。

示例
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,则禁用命名空间下拉菜单的布尔标志。此选项仅适用于命名空间下拉菜单,对子组件无效。

子元素

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

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

一个 Hook,提供一个回调函数,用于启动一个用于编辑 Kubernetes 资源注释的模态框。

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

资源

要编辑其注释的资源,一个 K8sResourceCommon 类型的对象。

返回值

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

useDeleteModal

一个 Hook,提供一个回调函数,用于启动一个用于删除资源的模态框。

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

资源

要删除的资源。

redirectTo

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

message

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

btnText

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

deleteAllResources

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

返回值

一个函数,用于启动一个用于删除资源的模态框。

useLabelsModel

一个 Hook,提供一个回调函数,用于启动一个用于编辑 Kubernetes 资源标签的模态框。

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

资源

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

返回值

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

useActiveNamespace

提供当前活动命名空间和设置活动命名空间的回调函数的 Hook。

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

包含当前活动命名空间和设置器回调函数的元组。

useUserSettings

提供用户设置值和设置用户设置值的回调函数的 Hook。

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

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

useQuickStartContext

提供当前快速入门上下文值的 Hook。这允许插件与控制台快速入门功能互操作。

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

包含活动透视图和设置器的对象

useAccessReviewAllowed

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

参数名称 描述

资源属性

用于访问审核的资源属性

模拟身份

模拟身份详情

useSafetyFirst

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

参数名称 描述

initialState

初始状态值

YAMLEditor

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

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

value

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

选项

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` 以查看控制台前端的动态插件。